はじめに
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で関連レコードを入れることができるようになるとデータ連携がかなりシンプルに書けるのでおすすめです。