我正在使用 firebase 云功能发出异步 api 请求,以便在 mailchimp 中为列表中的一组特定用户创建一个活动。我在文档中读到,这可以通过标签来完成,这样我就可以构建自己的结构。我正在为一个非营利组织建立一个捐赠系统,并希望标签代表当前正在捐赠的客户的姓名。
下面是我的火力基地功能。我被困在 segment_opts 对象上。我想根据列表成员是否具有与我的客户名称等效的标签来定义一个段。
文档说segment_opts是“一个代表所有分段选项的对象。这个对象应该包含一个saved_segment_id来使用现有的段,或者你可以通过包括匹配和条件选项来创建一个新的段。”。我没有设置任何其他段,所以我想我会创建一个新的段,指定包含客户名称的标签。
这篇文章帮助我达到了这一点。Stackoverflow 帖子
我现在看到该条件应该是分段类型,但在下拉列表中我没有看到标签的选项。这是文档参考的链接。参考
const response = await mailchimp.post('/campaigns', {
type: 'regular',
recipients: {
list_id: functions.config().mailchimp.test,
segment_opts: {
"match": "any",
"conditions": match: 'any',
conditions: [
{
condition_type: 'StaticSegment',
field: 'static_segment',
op: 'static_is',
value: ??? (Int),
},
],
}
},
});
现在我删除了segment_opts,并将决定将活动发送到整个列表,直到我弄清楚如何按标签进行细分。此版本有效并在我的 mailchimp 帐户中创建了一个活动,从 UI 我可以看到文档中提供的细分选项,但看不到按标签过滤的选项
const response = await mailchimp.post('/campaigns', {
type: 'regular',
recipients: {
list_id: functions.config().mailchimp.test,
},
settings: {
subject_line: `${firstName} has been funded!`,
preview_text: `$${goal} has been raised for ${firstName}.`,
title: `${firstName} has been funded`,
from_name: 'Organization name',
reply_to: 'org_email@gmail.com',
},
});