2016-09-19 6 views
1

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 

내가지고있어 오류가 있습니다 : 나는 문자열 (같은 2 공백으로 구분 필드로 보내기 시도했습니다

400: Your merge fields were invalid. Please enter a complete address. 

) 가져 오기 파일의 스키마에 즉

10811 International Drive Rancho Cordova CA 95670 

을 설명하지만이 같은 오류가 발생했습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

동일한 문제가 여기에 있습니다. API v2.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 값을 보내지 마십시오.

모두 addr2country은 선택 사항이지만 메일 침프 몰래 당신이 완전히 addr2을 떠날 수있는 반면 country에 대해 빈 문자열을 보내해야합니다.

메일 침프 지원은 나에게 말했다이 :

자네 말이 맞아 그 이 ADDR1, 도시, 주 및 우편 번호입니다 주소 개체의 유일한 필수 매개 변수. 즉, 응용 프로그램의 성능이 인 패리티의 경우 "country"매개 변수는 이어야하며 빈 문자열 값이 주어져야합니다. 빈 문자열은 이 default_country로 해결됩니다. 변경되지 않은 경우 미국입니다.

나는 이것이 문서와 완전히 일치하지 않는다는 것을 알고 있습니다. 이 의견을 우리 팀에 전달하여 은 혼란을 야기 할 수 있으므로 Google 스키마를 감독합니다.