编辑:我有可能成为一个完整的傻瓜,并错误地将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(我是)。
答案 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) 传递给可能被拦截的地方。