はじめに
BulkAPIやデータローダーで〇〇てどうやって入れるんだろ?となったことありませんか?
特に最初の頃は参照関係項目をどうやっていれるのかわからず困りました。
今回は、今まで自分がヘルプで確認したりドキュメント読んで調べたものをいくつか書きます。
記事内で利用するデータのイメージ
記事内で記述する外部ID項目はすべてExternalId__c
で記述します。
データ挿入をするCSVをマークダウンの表形式で表現します。
取引先
Name | ExternalId__c |
---|---|
株式会社〇〇 | 1 |
取引先責任者
LastName | ExternalId__c |
---|---|
ほげ | 1 |
1. 参照関係項目・主従項目
例)取引先に紐づけて、取引先責任者を入れる
Account.ExternalId__c
に紐づけたい取引先のExternalId__c
の値を入れて挿入すると
Account.ExternalId__c
と等しいExternalId__c
をもつAccount
のIdがAccountId
に項目入ります。
取引先責任者
LastName | Account.ExternalId__c |
---|---|
ほげ | 1 |
2. 所有者をユーザー名で割り当てる
例)所有者を割り当てた状態で取引先を入れる
Owner.Username
にメールアドレス形式のユーザー名を入れてデータ挿入をすると
Salesforce内のOwner.Username
と等しいユーザ名をもつUserオブジェクトのIdがOwnerId
項目に入ります。
取引先
Name | Owner.Username |
---|---|
株式会社〇〇 | ユーザ名(メールアドレス形式) |
3. 所有者をキュー名で割り当てる
例)キューを所有者として割り当てた状態でTODOを入れる
group:Owner.Name
にキュー名を入れてデータ挿入をすると
Salesforce内のgroup:Owner.Name
と等しいキュー名をもつGroupオブジェクトのIdがOwnerId
項目に入ります。
TODO
Name | group:Owner.Name |
---|---|
TODOテスト | キュー名 |
4. WhatId項目を外部IDで挿入
関連させたいオブジェクト名:What.外部ID項目
の書き方で表現します。
例)TODOオブジェクトのWhatIdに取引先を紐づけて入れる
Account:What.ExternalId__c
に紐づけたい取引先のExternalId__c
の値を入れて挿入すると
Account:What.ExternalId__c
と等しい値をもつAccountオブジェクトのIdがWhatId
項目に入ります。
TODO
Name | Account:What.ExternalId__c |
---|---|
TODOテスト | 1 |
最後に
慣れているとサクッと紐づけたいオブジェクトとの関連項目IDを埋めるための書き方がサクッとかけるのですが、
慣れていないと最初は分かりにくいです。
特にOwnerId
やWhatId
といった多態的な項目は書き方がややこしいです。
ややこしいですが、Bulk APIで関連レコードを入れることができるようになるとデータ連携がかなりシンプルに書けるのでおすすめです。