javascript - Active Campaign API:如何“创建或更新联系人”及其自定义字段值?
问题描述
我正在使用 Node js,我可以创建/更新联系人的电子邮件、姓名或电话号码。但是我从未更新过的自定义字段。这是我到目前为止所得到的。
var data = JSON.stringify({
"contact": {
"email": "t@brady.com",
"firstName": "Tom",
"lastName": "Brady",
"phone": "111122233",
"myCustomField": "myValue"
}
});
var options = {
hostname: hostname,
path: '/api/3/contact/sync',
method: 'POST',
headers: {
'Api-Token': apiToken,
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length
}
}
var req = this.https.request(options, function(res){
});
req.on('error', function(err){
console.log('error: ' + err.message);
});
req.write(data);
req.end();
因此,这将更新联系人的内置字段(电子邮件、姓名、电话),但不会更新 myCustomField。知道为什么吗?如何解决?我真的很感激任何帮助。
PS myCustomField 存在于 Active Campaign 中。联系人只是没有价值。
解决方案
首先,您需要获取自定义字段的归档 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**
推荐阅读
- java - 如何实现缓存系统?
- machine-learning - 如何构建 CNN 以正确分类四边形的边缘?
- javascript - 在反应中使用 HOC 时将道具渲染到包装组件
- api - Spotify API:端点当前正在播放的播客支持
- git - 当从终结器而不是 konsole 调用时,git push 不会提示我输入密码
- android - 尽管 proguard 处于停用状态,但真实广告未在发布模式下显示。可能是什么问题?
- c# - 如何将单选按钮插入 SQL Server 数据库?单选按钮位于 C# 的组框中
- raku - Perl 6:maxpairs 警告未定义值的字符串化
- java - 为什么 doGet 不运行 processRequest?
- java - Spring Boot - 如何从多模块项目中的姊妹模块启动我的 Spring Boot 应用程序?