MailChimp发送错误的用户ID

时间:2016-05-18 11:07:35

标签: php curl mailchimp

编辑:我有可能成为一个完整的傻瓜,并错误地将USER:UID视为会员的ID,而实际上它可能指的是帐户管理员ID。我已将其更改为只包含该成员的电子邮件地址作为最后一个URI段。这是一种可接受的方法吗?

我在MailChimp中设置了一个EDM,其中包含指向网站表单的链接。 URL的结构如下:

http://domain.com/foo/*|LIST:UID|*/*|USER:UID|*

该想法是该页面上的某些PHP使用列表ID和API(3.0)端点中的用户ID获取成员信息,以便在cURL操作中使用:

$url = 'https://us4.api.mailchimp.com/3.0/lists/' . $listid . '/members/' . $userid;

然后,检索到的数据将预填充表单,以便用户可以编辑信息并提交到 1)在CMS中本地存储提交的记录,并且 2) 向API发送PATCH命令。<​​/ p>

这在我使用不同MailChimp帐户的测试中运行良好,但是当切换到生产帐户时,*|USER:UID|*合并标记开始发送不正确的哈希值。我甚至更改了列表,但ID保持不变,并且这两个ID都不是有效的MD5哈希值。

要明确的是,这不是授权问题,我正确地更改了URL中的凭据(API密钥和用户名)和数据中心。如果我手动在URL中输入有效的用户ID,则可以成功检索信息。我根本无法将正确的用户ID嵌入电子邮件中。

此外,如果在列表中找不到输入的电子邮件地址,则使用PUT而不是PATCH进行的初始测试失败,并发送回消息以使用PUT(我是)。

2 个答案:

答案 0 :(得分:1)

是的,将电子邮件地址传回您的网页可能是您的最佳选择。

答案 1 :(得分:0)

我知道这个问题很老了,但也许您正在寻找 *|UNIQID|* 而不是 *|USER:UID|*?根据{{​​3}}:

<块引用>

*|UNIQID|* 拉入 $member->email->unique_id; (API 函数)。 如果在电子邮件活动中使用,此标签将吸引您的订阅者 唯一身份。它还可用于MailChimp's documentation 订阅者。

您使用的合并标签 *|USER:UID|* 简单地说:

<块引用>

*|USER:UID|* 显示您托管的 Mailchimp 受众表单中的“u”参数。

虽然他们的文档没有指定“u”参数是什么,但相关问题的 create unique links 提到它是您帐户的标识符,这与您在问题的编辑中得出的结论完全相同: )

就个人而言,出于隐私考虑,我更喜欢传递唯一 ID,而不是电子邮件地址。我的一些客户非常重视隐私和安全,因此我们不会将任何个人身份信息 (PII) 传递给可能被拦截的地方。