0

我之前使用jsonp的hack方式在前端提交表单(添加订阅者)(因为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));

这给了我错误:

[ { field: 'email_address', message: '此值不应为空。' } ] }

4

1 回答 1

4

我是在阅读 Mailchimp API 文档后发现的。我必须添加另外两个字段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));

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

于 2019-01-16T20:36:36.103 回答