我在向ActiveCampaign添加联系人时遇到问题。我在这里读了一篇文章:How to add a contact to a list in ActiveCampaign API v3,我正在使用API的v1。我尽我所能使用了他们的contact_sync文档。
我正在使用Gatsby/React --> GitHub --> Netlify进行开发,使用用于POST请求的lamda函数。
这是我的axios帖子:
{
method: 'post',
url: 'https://ACCOUNT.api-us1.com/admin/api.php?api_key=xxxxxxxxxxxx&api_action=contact_sync&api_output=json',
headers: { 'Content-Type': 'Content-Type: application/x-www-form-urlencoded' },
body: {
email: 'email@email.com',
first_name: 'John'
}
}并收到以下响应:
{
result_code: 0,
result_message: 'Could not add contact; missing email address',
result_output: 'json'
}我在跟他们的终点说话。我就是想不出如何向端点提供电子邮件地址?
有没有人愿意分享一个有用的例子呢?任何类型的指导都将不胜感激!
发布于 2021-10-15 14:12:17
我想确保结束这篇文章并分享我的答案。
非常感谢@reza jafari在这篇post中的评论,他让我注意到了Postman右边空白处的代码窗口,您可以在其中从下拉列表中选择语言/服务器,它提供了正确格式化的响应。
(我没有足够的名气来支持@reza的回应,所以我想在这里承认这一点。)
我能够让我的邮件在Postman中工作,这个小把戏让我大吃一惊。我将继续发布我的解决方案来关闭这篇文章。
const axios = require("axios")
const qs = require("qs")
exports.handler = async function (event) {
const { email, first_name } = JSON.parse(event.body)
const data = qs.stringify({
email: email,
first_name: first_name,
tags: '"api"',
"p[1]": "1",
})
const config = {
method: "post",
url: "https://ACCOUNT.api-us1.com/admin/api.php?api_key=xxxxxxxxx&api_action=contact_sync&api_output=json",
headers: {
"Api-Token":
"xxxxxxxxx",
"Content-Type": "application/x-www-form-urlencoded",
},
data: data,
}
try {
const response = await axios(config)
return {
statusCode: 200,
body: JSON.stringify(response.data),
}
} catch (err) {
return {
statusCode: 500,
body: JSON.stringify(err),
}
}
}https://stackoverflow.com/questions/69578323
复制相似问题