複数の種別の同意設定のコンパイル
Consent API をコールするには、「すべてのデータの参照」または「プライバシーデータへのユーザのアクセスを許可」ユーザ権限を持っている必要があります。権限を必須にすることで、システム管理者は明示的権限を付与できます。これは、この API が、ユーザが通常アクセスするレコードだけでなく、レコード間のリンクや同意フラグの値など、組織全体の同意データにアクセスするためです。
Consent API は、レコードに参照関係がある場合、取引先オブジェクト、連絡先種別に関する同意オブジェクト、データ使用目的オブジェクト、個人オブジェクト、リードオブジェクト、個人取引先オブジェクト、およびユーザオブジェクト間で同意の詳細を取得します。
次の表に、API レスポンスの決定方法を示します。参照される項目に競合する同意の設定があると、レスポンスは権限が最小限の設定を返します。たとえば、Contact.HasOptedOutOfEmail が false であるが、Lead.HasOptedOutOfEmail が true の場合、ユーザへのメール送信を継続できないことを示すレスポンスが返されます。
action として email を選択すると、同じメールアドレスを含むレコードの同意のみが集計されます。URI で指定されたレコード ID が異なるメールアドレスを含むレコードに関連付けられている場合、その関連レコードの同意設定は API レスポンスに含まれません。
| アクション | 参照する項目 | API レスポンス | レスポンスのスキーマ |
|
ContactPointTypeConsent で指定する場合は、時間範囲内: 参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する連絡先オブジェクト、連絡先種別に関する同意オブジェクト、リードオブジェクト、個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "emailResult" : "<Success/errormessage>", email : “<true/false>” } } } |
|
| fax |
|
参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する取引先責任者、リード、または個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "faxResult" : "<Success/errormessage>", fax : "<true/false>" } } } |
| geotrack |
|
参照される項目値が 0 の場合、TRUE を返します。 参照される項目値が 1 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "geotrackResult" : "<Success/errormessage>", "geotrack" : "<true/false>" } } } |
|
ContactPointTypeConsent で指定する場合は、時間範囲内: 参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する連絡先オブジェクト、連絡先種別に関する同意オブジェクト、リードオブジェクト、個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "mailingResult" : "<Success/errormessage>", "mail" : "<true/false>" } } } |
|
| phone |
|
ContactPointTypeConsent で指定する場合は、時間範囲内: 参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する連絡先オブジェクト、連絡先種別に関する同意オブジェクト、リードオブジェクト、個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "phoneResult" : "<Success/errormessage>", "phone" : "<true/false>" } } } |
| portability |
|
参照される項目値が 1 の場合、TRUE を返します。 参照される項目値が 0 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "portabilityResult" : "<Success/errormessage>", "portability" : "<true/false>" } } } |
| process |
|
参照される項目値が 0 の場合、TRUE を返します。 参照される項目値が 1 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "processResult" : "<Success/errormessage>", "process" : "<true/false>" } } } |
| profile |
|
参照される項目値が 0 の場合、TRUE を返します。 参照される項目値が 1 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "profileResult" : "<Success/errormessage>", "profile" : "<true/false>" } } } |
| shouldforget |
|
参照される項目値が 1 の場合、TRUE を返します。 参照される項目値が 0 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "shouldForgetResult" : "<Success/errormessage>", "shouldforget" : "<true/false>" } } } |
| social |
|
ContactPointTypeConsent で指定する場合は、時間範囲内: 参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する連絡先オブジェクト、連絡先種別に関する同意オブジェクト、リードオブジェクト、個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "socialResult" : "<Success/errormessage>", "social" : "<true/false>" } } } |
| solicit |
|
参照される項目値が 0 の場合、TRUE を返します。 参照される項目値が 1 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "solicitResult" : "<Success/errormessage>", "solicit" : "<true/false>" } } } |
| storepiielsewhere |
|
参照される項目値が 1 の場合、TRUE を返します。 参照される項目値が 0 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "storePIIElsewhereResult" : "<Success/errormessage>", "storepiielsewhere" : "<true/false>" } } } |
| track |
|
参照される項目値が 0 の場合、TRUE を返します。 参照される項目値が 1 の場合、または関連する個人オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "trackResult" : "<Success/errormessage>", "track" : "<true/false>" } } } |
| web |
|
ContactPointTypeConsent で指定する場合は、時間範囲内: 参照される項目値がすべて 0 の場合、TRUE を返します。 参照される項目値のいずれかが 1 の場合、または関連する連絡先オブジェクト、連絡先種別に関する同意オブジェクト、リードオブジェクト、個人取引先オブジェクトが存在しない場合、FALSE を返します。 |
{ "<ID/Email>" : { "result" : "<Success/errormessage>", "proceed" : { "webResult" : "<Success/errormessage>", "web" : "<true/false>" } } } |
構文
- URI
- /services/data/vXX.X/consent/multiaction?actions=listOfActions&ids=listOfIds
- 形式
- JSON
- HTTP のメソッド
- GET
- 認証
- Authorization: Bearer token
- リクエストボディ
- None
- 要求パラメータ
-
パラメータ 説明 actions 必須。提案されたアクションのカンマ区切りリスト。 このパラメータが使用されている場合、action は使用できません。
aggregatedConsent 省略可能: true または false。aggregatedConsent は aggregatedConsent=true と同じです。true の場合、各 ID の結果ではなく、進むか否かを示す結果が 1 つ返されます。リスト内のいずれかの ID で false が返されると、集計された結果は false になります。 datetime 省略可能。同意が確定された際のタイムスタンプ。値は UTC タイムゾーンに変換され、「Date および DateTime の有効な書式」の説明に従って書式設定する必要があります。指定されていない場合、デフォルトの現在の日付と時刻に設定されます。 ids 必須。ID のカンマ区切りのリスト。ID には、レコード ID か、レコードに記載されたメールアドレスを使用できます。 policy 省略可能。連絡先チャネルについて明示的な同意が得られたかどうかを API 応答に指定するには、policy=requireExplicitConsent を使用します。同意が指定されていない場合、API は、infoNotFound 応答を返します。 このパラメータは API バージョン 49.0 以降で使用できます。
purpose 省略可能。顧客に連絡する理由。 verbose 省略可能: true または false。verbose は verbose=true と同じです。verbose レスポンスは、verbose 以外のレスポンスより時間がかかります。verbose レスポンスの例を参照してください。
例
- 複数アクションの URI 構造の要求
-
1curl https://MyDomainName.my.salesforce.com/services/data/v58.0/consent/multiaction?actions=track,geotrack,email&ids=003xx000008TiyY,00Qxx00000skwO,dek65@tf7h.com -H "Authorization: Bearer token" - ID としてのメールアドレス、指定された目的と期間、および verbose レスポンスの要求
-
1curl https://MyDomainName.my.salesforce.com/services/data/v58.0/consent/action/email?ids=j0t5t5b2@tkbxp5ia.com,4quxlswo@23wj7pwh.com&datetime=2018-12-12T00:00:00Z&purpose=billing&verbose=true -H "Authorization: Bearer token" - レスポンスボディ
-
1{ 2 "j0t5t5b2@tkbxp5ia.com" : { 3 "result" : "Success", 4 "proceed" : { 5 "email" : "false" 6 "emailResult" : "Success" 7 "track" : "false" 8 "trackResult" : "Success" 9 "solicit" : "false" 10 "solicitResult" : "Success" 11 }, 12 "explanation" : [ { 13 "objectConsulted" : "ContactTypePointConsent", 14 "status" : "opt_in", 15 "purpose" : "billing", 16 "recordId" : "003xx000004TxyY", 17 "value" : "true" 18 },{ 19 "objectConsulted" : "Individual", 20 "field" : "HasOptedOutOfTracking", 21 "recordId" : "0PKx000006JkyZ", 22 "value" : "true" 23 }] 24 }, 25 "4quxlswo@23wj7pwh.com" : { 26 "result" : "Success", 27 "proceed" : { 28 "email" : "false" 29 "emailResult" : "Success" 30 "track" : "false" 31 "trackResult" : "Success" 32 "solicit" : "true" 33 "solicitResult" : "Success" 34 }, 35 "explanation" : [ { 36 "objectConsulted" : "Contact", 37 "field" : "HasOptedOutOfEmail", 38 "recordId" : "00Qxx00000skwO", 39 "value" : "true" 40 },{ 41 "objectConsulted" : "Individual", 42 "field" : "HasOptedOutOfSolicit", 43 "recordId" : "0PKx000003JcpK", 44 "value" : "false" 45 }] 46 } 47}