查询

请注意,dedupeFieldssearchableFields都与机会稍有不同。 dedupeFields实际上提供了一个复合键,其中externalOpportunityIdleadIdrole的所有三个都是必需的。 目标实例中必须同时存在按ID字段排列的商机和商机链接,才能成功创建记录。 对于searchableFieldsmarketoGUIDleadIdexternalOpportunityId,它们都自己对查询有效,并且使用的模式与“机会”相同,但有一个附加选项,即使用复合键进行查询,该选项要求通过POST提交JSON对象,并使用附加查询参数_method=GET

POST /rest/v1/opportunities/roles.json?_method=GET
{
   "filterType": "dedupeFields",
   "fields": [
      "marketoGuid",
      "externalOpportunityId",
      "leadId",
      "role"
   ],
   "input": [
      {
        "externalOpportunityId": "Opportunity1",
        "leadId": 1,
        "role": "Captain"
      },
      {
        "externalOpportunityId": "Opportunity2",
        "leadId": 1872,
        "role": "Commander"
      },
      {
        "externalOpportunityId": "Opportunity3",
        "leadId": 273891,
        "role": "Lieutenant Commander"
      }
   ]
}

这将生成与标准GET查询相同的响应类型,只是它有不同的接口用于发出请求。

创建和更新

Opportunity角色与创建和更新记录的Opportunity界面相同。

POST /rest/v1/opportunities/roles.json
{
   "action": "createOrUpdate",
   "dedupeBy": "dedupeFields",
   "input": [
      {
         "externalOpportunityId": "19UYA31581L000000",
         "leadId": 456783,
         "role": "Technical Buyer",
         "isPrimary": false
      },
      {
         "externalOpportunityId": "19UYA31581L000000",
         "leadId": 456784,
         "role": "Technical Buyer",
         "isPrimary": false
      }
   ]
}
{
   "requestId": "e42b#14272d07d78",
   "success": true,
   "result":[
      {
         "seq": 0,
         "status": "updated",
         "marketoGUID": "dff23271-f996-47d7-984f-f2676861b5fb"
      },
      {
         "seq": 1,
         "status": "created",
         "marketoGUID": "cff23271-f996-47d7-984f-f2676861b5fb"
      }
   ]
}