gpt4 book ai didi

Mailchimp API 节点 - 基于标签为列表创建事件

转载 作者:行者123 更新时间:2023-12-05 03:52:32 26 4
gpt4 key购买 nike

我正在使用 firebase 云功能发出异步 API 请求,以便在 mailchimp 中为列表中的一组特定用户创建事件。我在文档中读到这可以用标签完成,这样我就可以构建自己的结构。我正在为非营利组织构建一个捐赠系统,并希望标签代表当前正在接受捐赠的客户的姓名。

下面是我的 firebase 函数。我被困在 segment_opts 对象上。我想根据列表成员是否具有等同于我的客户名称的标签来定义分割。

文档说 segment_opts 是“表示所有分段选项的对象。此对象应包含 saved_segment_id 以使用现有分段,或者您可以通过包含匹配和条件选项来创建新分段。”。我没有设置任何其他分割,所以我想我会创建一个新的分割来指定包含客户姓名的标签。

这篇文章帮助我达到了这一点。 Stackoverflow post

我现在看到条件应该是分割类型,但在下拉列表中我没有看到标签选项。这是文档引用的链接。 Reference

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',
},
});

这是 Mailchimp 仪表板中下拉选项的屏幕截图。 Dropdown screenshot

最佳答案

这是我的广告系列分割选项。我在这里检查两个条件。 SITE合并标签=我传入的站点变量,成员是否属于名为tagName的标签/段。但是,我无法传递 tagName,只能传递我事先查找的 tagId。

'segment_opts': 
{
'match': 'all',
'conditions': [
{
'condition_type': 'TextMerge',
'field': 'SITE',
'op': 'is',
'value': site
},
{
'condition_type': 'StaticSegment',
'field': 'static_segment',
'op': 'static_is',
'value': tagId
}
]
}

为了获取 tagId,我使用了这个 Python 函数:

tagId, segments = self.getSegmentIdFromTagName(tagName)

这是从 tagName 中获取 tagId 的 Python 代码,它从系统中获取所有 Segments/Tags,然后查找您传入的名称:

 def getSegmentIdFromTagName(self,reqTagName,segments=None):
audienceId = self.audienceId
reqId = None
if not segments:
segments = self.mcClient.lists.segments.all(list_id=audienceId,get_all=True)
for segment in segments['segments']:
segName = segment['name']
segId = segment['id']
if segName == reqTagName:
reqId = segId
break
return reqId,segments

关于Mailchimp API 节点 - 基于标签为列表创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62157193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com