如何在Node.js中通过mailchimp-api-v3提交表单(添加订户)?

时间:2019-01-16 20:33:46

标签: javascript node.js mailchimp-api-v3.0

我以前使用a hack way by jsonp在前端提交表单(添加订户)(因为Mailchimp仅提供后端API)。

现在,我想切换到后端以使用Mailchimp API。我正在使用名为mailchimp-api-v3的库来简化工作。

此列表只有三个字段,分别是FNAMEEMAILCOMPANY

const Mailchimp = require('mailchimp-api-v3');

const mailchimp = new Mailchimp(myMailchimpAPI);

mailchimp.post(`/lists/${myListId}/members`, {
  FNAME: 'Jack',
  EMAIL: 'jack@example.com',
  COMPANY: 'Apple'
})
.then(res => console.log(res))
.catch(err => console.log(err));

这给了我错误:

  

[{字段:“电子邮件地址”,消息:“此值不应为空。”   }]}

1 个答案:

答案 0 :(得分:0)

在阅读Mailchimp API document之后,我发现了。  我必须添加另外两个必填字段email_addressstatus。然后将其余表单字段移到merge_fields下。

正确的代码是

const Mailchimp = require('mailchimp-api-v3');

const mailchimp = new Mailchimp(myMailchimpAPI);

mailchimp.post(`/lists/${myListId}/members`, {
  email_address: 'jack@example.com',
  status: 'subscribed',
  merge_fields: {
    FNAME: 'Jack',
    EMAIL: 'jack@example.com',
    COMPANY: 'Apple'
  }
})
.then(res => console.log(res))
.catch(err => console.log(err));

我很难在网上找到一个简单的演示。希望这对未来的人们有所帮助。