2016-09-19 8 views
1

Я использую API MailChimp 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. 

Я попытался отправить его в виде строки (полей, разделенных пробелами, как двойные описанных в схеме файла импорта), то есть

, но у меня такая же ошибка. Что я делаю не так?

+0

Такая же проблема здесь. Использование того же формата, что и для API версии 2.0. Вы нашли решение для этого? – infused

+0

Нет, у меня появилось несколько полей адресов для страны, города и т. Д. Я до сих пор не знаю, что такое правильный формат. : / – Peter

ответ

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); 
0

«введите полный адрес» ошибка произойдет, если вы не отправляйте значение для country.

Оба addr2 и country не являются обязательными, но MailChimp тайно требует, чтобы отправить пустую строку для country в то время как вы можете выйти из addr2 полностью.

поддержка MailChimp сказал мне так:

Вы правы, что только необходимые параметры объекта Адрес является addr1, город, штат и почтовый. При этом для обеспечения четности при выполнении приложения приложения параметр «страна» должен иметь значение и иметь пустое строковое значение. Пустая строка будет решить default_country. Что, если не изменить, это США.

Я понимаю, что это не полностью соответствует документации . Я передам эту обратную связь нашей команде, что наблюдает за нашей схемой, так как это может создать путаницу.

Смежные вопросы