この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ヘッダー行のリレーション項目

Salesforce のオブジェクトの多くは、別のオブジェクトに関連付けられています。たとえば、取引先は取引先責任者の親オブジェクトです。CSV ファイルでは、列ヘッダーでリレーションを示すことにより、関連付けられたオブジェクトへの参照を追加できます。Bulk API でレコードを処理する場合、CSV ファイルの列ヘッダーで RelationshipName.IndexedFieldName という構文を使用して、オブジェクトとその親オブジェクトのリレーションを記述します。RelationshipName は項目のリレーション名、IndexedFieldName は親レコードを一意に識別するインデックス化された項目の名前を示します。項目の relationshipName プロパティの値を取得するには、SOAP ベースの SOAP API で describeSObjects() コールを使用します。

別のオブジェクトではなく、同じオブジェクトに関連付けられるというケースもあります。たとえば、取引先責任者の [上司] 項目は、別の取引先責任者を参照します。このような場合、列ヘッダーでReportsTo.Emailと記述すると、[メール] 項目の値に基づいて、各取引先責任者の [上司] 項目を一意に識別できます。列ヘッダーの ReportsTo の部分は、[上司] 項目の relationshipName プロパティの値です。リレーションを使用した CSV ファイルの例を次に示します。

1FirstName,LastName,ReportsTo.Email
2Tom,Jones,buyer@salesforcesample.com

CSV ファイルのヘッダー行でリレーションを参照する場合は、次の点に注意します。

  • 子から親へのリレーションを使用できます。親から子へのリレーションは使用できません。
  • 子から親へのリレーションを拡張して使用することはできません。つまり、子から親へのリレーションを参照し、さらに親からその親へのリレーションを参照することはできません。
  • 親の識別では、インデックス化された項目のみを使用できます。カスタム項目は、外部 ID 属性が選択されている [外部 ID] 項目である場合、インデックス化されています。標準項目は、idLookup プロパティの値が true に設定されている場合、インデックス化されています。詳細は、「標準オブジェクト」で、各オブジェクトの項目リストの「項目のプロパティ」列を参照してください。

カスタムオブジェクトのリレーション項目

カスタムオブジェクトでは、カスタム項目を使用してオブジェクト間のリレーションを追跡します。2 つのカスタムオブジェクト間のリレーションを示すには、__r (アンダースコア 2 つと「r」) で終わるリレーション名を使用します。列ヘッダーでこのリレーションを指定して、関連オブジェクトへの参照を追加できます。

たとえば、子オブジェクトに、あるカスタムオブジェクトを親として参照する Mother_Of_Child__c という [API 参照名]を持つカスタム項目があり、親となるオブジェクトに External_ID__c という [API 参照名]を持つ項目がある場合は、Mother_Of_Child__r.External_ID__c という列ヘッダーを記述することにより、親オブジェクトの [外部 ID] 項目を使用して、[Mother Of Child] 項目を一意に識別できます。列ヘッダー内のリレーション名では、子オブジェクトのカスタム項目の__c__rで置き換えた値を入力します。リレーションについての詳細は、www.salesforce.com/us/developer/docs/soql_sosl/index.htm にある『Salesforce SOQL および SOSL リファレンスガイド』の「リレーション名について」を参照してください。

リレーションを使用した CSV ファイルの例を次に示します。

1Name,Mother_Of_Child__r.External_ID__c
2CustomObject1,123456

多態的な項目でのリレーション

多態的な項目では、2 種類以上のオブジェクトを親として参照できます。たとえば、取引先責任者またはリードを ToDo の親にすることができます。つまり、ToDo の WhoId 項目に取引先責任者またはリードの ID を含めることができます。多態的な項目は柔軟性が高く、列ヘッダーの構文に、親オブジェクトの種別を定義する要素を追加できるようになっています。この構文は ObjectType:RelationshipName.IndexedFieldName です。後続のサンプルには、次の 2 つの参照項目が含まれています。

  1. WhoId: これは多態的な項目であり、Who という relationshipName が使用されています。ここでは、リードを参照し、インデックス化された [メール] 項目を使用して親レコードを一意に識別します。
  2. OwnerId: この項目は多態性を持たず、Owner という relationshipName が使用されています。ユーザを参照し、インデックス化された Id 項目を使用して親レコードを一意に識別します。
1Subject,Priority,Status,Lead:Who.Email,Owner.Id
2Test Bulk API polymorphic reference field,Normal,Not Started,lead@salesforcesample.com,005D0000001AXYz

項目の列ヘッダーで使用する ObjectType: という要素は、多態的な項目でのみ必須となります。多態的な項目でこの要素を省略するとエラーが返されますが、それ以外の項目でこの要素を使用した場合もエラーが返されます。

警告