CampaignMember
サポートされているコール
API バージョン 15.0 以前: create()、delete()、describeLayout()、describeSObjects()、getDeleted()、getUpdated()、query()、retrieve()、update()、upsert()
API バージョン 16.0 以降: upsert()
項目
使用方法
各レコードには一意の ID があり、ContactId または LeadId のいずれかを指定する必要がありますが、両方を指定することはできません。両方を指定して 1 つのレコードを作成しようとすると、挿入処理自体は正常に行われますが、ContactId のみが挿入されます。ただし、1 つの Campaign に 2 つのレコードを個別に作成できます。1 つは Lead、もう 1 つは Contact のレコードです。
1SELECT Id, (SELECT Phone FROM Lead)
2FROM CampaignMemberこのオブジェクトは、マーケティング機能を使用でき、有効なマーケティングライセンスを付与されている組織にのみ定義されています。組織にマーケティング機能または有効なマーケティングライセンスが付与されていない場合、このオブジェクトは describeGlobal() コールに表示されず、CampaignMember オブジェクトでは、describeSObjects() または query() を使用できません。
API バージョン 16.0 以降では create() コールはレコードを作成するのみですが、それ以前のバージョンでは create() コールはレコードを作成し、更新します。API は、指定された CampaignId および ContactId または LeadId にレコードが存在するかどうかを特定します。
API を使用する場合、create() コールでは、キャンペーンへの「参照」アクセス権のみが必要です。
指定された ContactId または LeadId にレコードが存在しない場合、新しいレコードが作成されます。レコードが存在する場合、エラーが返され、更新は行われません。既存のレコードを更新するには、更新する CampaignMember レコードの ID を指定します。
API バージョン 15.0 以前では、1 つの create 要求を使用して複数のレコードを送信し、複数のレコードが既存のレコードに一致した場合、送信した最初のレコードに基づいて既存のレコードが更新されます。送信されたレコード間で一致があり、かつ、既存のレコードに一致するものがないという場合は、送信された最後のレコードに基づいて作成が実行されます。
upsert() コールは、API バージョン 16.0 以降でサポートされていません。このオブジェクトに upsert() コールを使用するには、まずレコード ID 以外の ID 項目のすべてのデータを削除する必要があります。
レコードを削除するには、削除する CampaignMember レコードの ID を指定します。
レコードを作成または更新する場合、コールで指定された Status 項目値は、指定された Campaign で有効な状況がどうかが検証されます。
- 指定された Status 値が有効な状況である場合、値が更新され、HasResponded に関連付けられた Status の値に応じて、HasResponded 項目が true または false に更新されます。
- 指定された Status の値が有効な状況ではない場合、API はデフォルトの状況を Status 項目に割り当て、関連付けられた値で HasResponded 項目を更新します。ただし、指定された Campaign にデフォルトの状況がない場合、API はコールで指定された値を Status 項目に割り当て、HasResponded 項目は false に設定します。