使用 MailChimp API V3 更新成员的群组兴趣

Posted

技术标签:

【中文标题】使用 MailChimp API V3 更新成员的群组兴趣【英文标题】:Updating a member's group interests using MailChimp API V3 【发布时间】:2016-09-11 21:08:11 【问题描述】:

我正在运行以下代码(我隐藏了 ID)以在 MailChimp 列表中添加/更新订阅者的兴趣组:

$mailchimp->patch('lists/1234567/members/' . md5('test@test.com'), [
    'status' => 'subscribed',
    'merge_fields' => array(
        'FNAME' => 'Ben',
        'LNAME' => 'Sinclair',
    ),
    'interests' => array(
        'abcd1234' => true,
        'defg6789' => true,
    ),
]);

interests 键是我遇到的问题。

我认为您在此密钥中输入的任何内容都会覆盖当前存在的内容。

好像不是这样的。它只会添加新的兴趣,但如果 ID 不在数组中,则不会删除任何兴趣。我没有收到任何错误。

有人知道如何覆盖兴趣组吗?或者如果这不可能,有没有办法移除利益集团?

【问题讨论】:

您是否尝试在 PATCH 中将现有兴趣设置为 false 是的,这只是猜测!它们还支持 PUT 进行编辑,可能具有不同的行为。 很高兴您解决了这个问题。通常需要能够直接打开或关闭兴趣,而不必弄清楚所有其他兴趣的当前状态,这就是它以这种方式工作的原因。 @TooMuchPete 它的工作方式很好而且很有意义,他们需要做的就是更好地记录它,这样我就不会扯头发了。 @TooMuchPete 不确定你在读什么,但它如何处理添加/删除兴趣组对我来说非常模糊。 【参考方案1】:

为了完成,我想添加这个答案,以便偶然发现这篇文章的人可以找到一个快速的解决方案。

$mailchimp->patch('lists/1234567/members/' . md5('test@test.com'), [
    'status' => 'subscribed',
    'merge_fields' => array(
        'FNAME' => 'Ben',
        'LNAME' => 'Sinclair',
    ),
    'interests' => array(
        'abcd1234' => true, // Attached
        'defg6789' => false, // Detached
    )
]);

在本例中,兴趣“abcd1234”将被附加,兴趣“defg6789”将被分离。

未列出的其他权益将保持其原始价值。

【讨论】:

您也应该将电子邮件地址转换为小写,因为这是 MailChimp 在对电子邮件进行 MD5 处理时所期望的。

以上是关于使用 MailChimp API V3 更新成员的群组兴趣的主要内容,如果未能解决你的问题,请参考以下文章

使用 MailChimp API v3.0 获取特定成员列表

使用 MailChimp API V3 通过电子邮件搜索成员

MailChimp API v3 - 通过电子邮件获取成员

如何在 mailchimp API v3.0 上获取具有特定标签的成员总数?

Mailchimp API v3.0 添加待处理成员而无需确认电子邮件

MailChimp API v3 - 无法修补/更新?