Active Campaign API:如何“创建或更新联系人”及其自定义字段值?

Mag*_*mal 3 javascript node.js activecampaign

I\xe2\x80\x99m 使用 Node js,我可以创建/更新联系人\xe2\x80\x99s 电子邮件、姓名或电话号码。但自定义字段我从未更新过。Here\xe2\x80\x99是我到目前为止得到的。

\n\n
 var data = JSON.stringify({\n   "contact": {\n        "email": "t@brady.com",\n         "firstName": "Tom",\n        "lastName": "Brady",\n        "phone": "111122233",\n        "myCustomField": "myValue"\n    }\n });\n\n var options = {\n   hostname: hostname,\n   path: \'/api/3/contact/sync\',\n   method: \'POST\',\n   headers: {\n     \'Api-Token\': apiToken,\n     \'Content-Type\': \'application/x-www-form-urlencoded\',\n     \'Content-Length\': data.length\n   }\n }\n\n var req = this.https.request(options, function(res){\n });\n req.on(\'error\', function(err){\n   console.log(\'error: \' + err.message);\n });\n req.write(data);\n req.end();\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,这将更新联系人的内置字段(电子邮件、姓名、电话),但不会更新 myCustomField。知道为什么吗?怎么解决呢?我真的很感激任何帮助。

\n\n

PS myCustomField 存在于 Active Campaign 中。该联系人没有任何价值。

\n

小智 7

首先,您需要获取自定义字段的归档 ID。您可以使用带有GET请求https://youraccountname.api-us1.com/api/3/fields 文档的邮递员来执行此操作,当您拥有要更新的 ID 时,您可以轻松地执行此操作。希望有帮助。在我弄清楚这一点之前,我经历了很多挣扎。

fetch(proxyurl + active_campaign_url, {
  mode: "cors",
  method: "POST",
  body: JSON.stringify({
    contact: {
      firstName,
      lastName,
      email,
      fieldValues: [
        {
          field: 1,
          value: jobTitle,
        },
        {
          field: 30,
          value: companyName
        }
      ],
    },
  }),
  headers: headers,
})
  .then((response) => response.json())**strong text**
Run Code Online (Sandbox Code Playgroud)