我正在使用MailChimp的API v3.0,并在尝试更新订阅者的邮政地址时遇到问题。
我发送的数据是:
[method] => patch
[path] => lists/123456789/members/membershash
[url] => https://us13.api.mailchimp.com/3.0/lists/123456789/members/membershash
[body] => {"merge_fields":{"FNAME":"firstname","LNAME":"lastname","TITLE":"Mr","BDAY":"10\/11","TSTATUS":"approved","ADDRESS":{"addr1":"10811 International Drive","city":"Rancho Cordova","state":"CA","zipcode":"95670"}}}
[timeout] => 10
[headers] => PATCH /3.0/lists/123456789/members/membershash HTTP/1.0
我得到的错误是:
400: Your merge fields were invalid. Please enter a complete address.
我尝试将其作为字符串发送(由导入文件架构中描述的双空格分隔的字段),即
10811 International Drive Rancho Cordova CA 95670
但我得到了同样的错误。我做错了什么?
答案 0 :(得分:1)
万一您还在寻找......我使用Drewm包装并使用以下内容更新邮寄地址:
$subscriber_hash = $MailChimp->subscriberHash($email);
$result = $MailChimp->patch("lists/$list_id/members/$subscriber_hash", [
'merge_fields' => [
'FNAME' => $firstname,
'LNAME' => $lastname,
'ADDRESS' => array
(
'addr1' => $addline1,
'addr2' => $addline2,
'city' => $city,
'state' => $state,
'zip' => $zip,
'country' => $country
)
],
'interests' => [$interest_id => true],
]);
print_r($result);
答案 1 :(得分:0)
如果您没有为country
发送值,则会输入“输入完整地址”错误。
addr2
和country
都是可选的,但MailChimp秘密要求您为country
发送一个空字符串,而您可以完全忽略addr2
。
MailChimp支持告诉我:
你是对的唯一必需的Address对象参数 是addr1,city,state和zip。话虽这么说,与...平价 应用程序的性能,“country”参数需要 存在并被赋予空字符串值。空字符串会 解析为default_country。如果没有改变,那就是美国。
据我所知,这与此并不完全一致 文档。我会将这些反馈传递给我们的团队 监督我们的架构,因为这会造成混乱。
答案 2 :(得分:0)
如果您有外国地址怎么办?该国家/地区将被填写,但其中许多没有州和邮政编码的值。