![](/img/trans.png)
[英]How can i send maill with mailchimp template and add own text in node.js
[英]How can I add a contact to a list/audience in Mailchimp using its own library via Node JS
下面的代码是使用 Node JS 和 Mailchimp 库以编程方式将联系人添加到列表/受众的 API 调用。 文档位于: https : //mailchimp.com/developer/marketing/guides/create-your-first-audience/#add-a-contact-to-an-audience
const listId = "YOUR_LIST_ID";
const subscribingUser = {
firstName: "Prudence",
lastName: "McVankab",
email: "prudence.mcvankab@example.com"
};
async function run() {
const response = await mailchimp.lists.addListMember(listId, {
email_address: subscribingUser.email,
status: "subscribed",
merge_fields: {
FNAME: subscribingUser.firstName,
LNAME: subscribingUser.lastName
}
});
console.log(
`Successfully added contact as an audience member. The contact's id is ${
response.id
}.`
);
}
run();
这是我在 app.js 中实现代码的方式
app.post("/", function(req, res) {
const firstName = req.body.firstName;
const lastName = req.body.lastName;
const email = req.body.email;
const apiAudienceName = "Sample Tech Newsletter Subscription";
const listId = apiAudienceName;
const subscribingUser = {
firstName: firstName,
lastName: lastName,
email: email
};
async function run() {
const response = await mailchimp.lists.addListMember(listId, {
email_address: subscribingUser.email,
status: "subscribed",
merge_fields: {
FNAME: subscribingUser.firstName,
LNAME: subscribingUser.lastName
}
});
console.log(`Successfully added contact as an audience member. The contact's id is ${response.id}.`);
}
run();
});
对我来说,我确实按照 Mailchimp 服务器的要求添加到我创建的列表中,但是这段代码抛出了一个错误,提示“未处理的承诺拒绝” 。 我当然尝试过做我的研究,但作为这门语言的初学者,我不太明白我需要什么才能实现这一点。 如果有人可以纠正我或向我展示代码中的错误,我将不胜感激。 非常感谢你!
注意:我能够通过使用 HTTP 请求模块来完成这项工作。 但是这一次,我想学习如何遵循文档并使用他们给定的代码和库。 对我来说,似乎我这样做了,但似乎不起作用。
通过研究和我所在的课程社区的帮助,我在我的代码中发现了问题。 我希望这可以帮助那些正在/可能会处理同样问题的人。
const apiAudienceName = "Sample Tech Newsletter Subscription";
const listId = apiAudienceName;
正如您在上面的代码中看到的,我将在 Mailchimp 网站中创建的“列表/受众名称”输入到listID
变量中。 问题在于 Mailchimp API 需要的是listID
而不是您在 Mailchimp API 中的列表名称。
解决此问题的答案是从您在 Mailchimp 网站上的帐户获取list/audience ID
并将其用作输入。 list/audience ID
是由 Mailchimp 服务器提供的字母数字字符。
如果您需要查找list/audience ID
的详细指南,请查看此链接。
这是解决此问题的示例代码:
app.post("/", function(req, res) {
const firstName = req.body.firstName;
const lastName = req.body.lastName;
const email = req.body.email;
const listId = "1a2b3c4d5e777";
const subscribingUser = {
firstName: firstName,
lastName: lastName,
email: email
};
async function run() {
const response = await mailchimp.lists.addListMember(listId, {
email_address: subscribingUser.email,
status: "subscribed",
merge_fields: {
FNAME: subscribingUser.firstName,
LNAME: subscribingUser.lastName
}
});
console.log(`Successfully added contact as an audience member. The contact's id is ${response.id}.`);
}
run();
});
你试过订阅了吗? 它有一个简单的 API,您可以使用 JavaScript 将订阅者添加到您的列表中,
例子:
const data = { email:"sarah@mail.com", //* required username:"sarah", //optional listId:'[LIST_ID]',
} const url = 'https://api.subscribi.io/v1/subscribers/add' fetch(url,{ method: 'POST', headers: { 'Content-Type': 'application/json', 'secret_key':'MY_SECRET_KEY' // Go the the settings and generate a key }, body: JSON.stringify(data) }).then(response =>{ console.log(response) /* { "data": { "name": "sarah", "email": "sarah@mail.com", "createdAt": "2020-09-25T19:41:07.350Z", "subscribed": true }, "ok": true, "status": "success" } */ }).catch(error=>{ console.error(error) })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.