【问题标题】:Updating a users email address in MailChimp API V3在 MailChimp API V3 中更新用户电子邮件地址
【发布时间】:2020-03-11 07:00:39
【问题描述】:

我正在运行以下代码(我隐藏了 ID)来更新 MailChimp 列表中订阅者的电子邮件地址:

$mailchimp->patch('lists/1234567/members/' . md5('test@test.com'), [
    'email_address' => 'new-email@newtest.com',
    'status' => 'subscribed',
    'merge_fields' => array(
        'FNAME' => 'Ben',
        'LNAME' => 'Sinclair',
    ),
]);

它似乎不起作用。我没有收到任何错误,它什么也不做。

如何使用 API V3 更新 MailChimp 列表中的电子邮件地址?

【问题讨论】:

  • 看来你不能,它没有在文档中列为参数:developer.mailchimp.com/documentation/mailchimp/reference/lists/…。这是有道理的,因为它会改变该成员的哈希值。
  • @jonrsharpe 你可能是对的。你可以在 V2 中做到这一点,但似乎我只需要改变我为 V3 做事的方式。我知道,早就应该迁移到 V2 了:P

标签: mailchimp


【解决方案1】:

http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#edit-patch_lists_list_id_members_subscriber_hash

目前,电子邮件地址是 PUT 方法 (.../3.0/lists/{listId}/members/{md5}) 中的一个参数(只读 = false),允许更改订阅者的电子邮件地址.

我在正文和 MERGE0 (EMAIL) 标记中发送新电子邮件,但使用上一封电子邮件中的 md5。它正在正确更改电子邮件。

【讨论】:

  • 我不明白你的回答。可以举个例子吗
  • 它应该类似于: $mailchimp->patch('lists/1234567/members/' . md5('test@test.com'), [ 'email_address' => 'new-email @newtest.com', 'status' => 'subscribed', 'merge_fields' => array('FNAME' => 'Ben', 'LNAME' => 'Sinclair', 'MERGE0' => 'new-email@ newtest.com'), ]);
【解决方案2】:

您可以在提出请求时更改电子邮件地址

PUT https://usx.api.mailchimp.com/3.0/lists/{list_id}/members/{subscriber_hash}

身体是这样的:

{"email_address": "new@email.com"}

$List = 123456;
$subscriber_hash = md5("old@email.com")
$data = array('email_address' => "new@email.com" );
$result = $mailchimp->put("lists/$List/members/$subscriber_hash", $data);

【讨论】:

    猜你喜欢
    • 2011-05-07
    • 2015-09-22
    • 2013-06-23
    • 2023-02-23
    • 2022-01-19
    • 2016-08-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    相关资源
    最近更新 更多