Я использую MailChimp subscribe
Вызов API. Отправленный объект JSON выглядит следующим образом:
{
"apikey":"someAPIkey-us10",
"id":"someID",
"email":{
"email":"[email protected]"},
"merge_vars":{
"products":[
{
"name":"prod",
"url":"https:\/\/www.example.co.uk\/properties\/link\/sub\/res",
"price":"\u00a3378.00",
"location":"loc",
"area":"are"}
]
},
"double_optin":false
}
и PHP-код, который выполняет curl
объект выглядит так:
$curl = curl_init(SEED_URL);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array(
"Accept: application/json",
"Content-Type: application/json",
"Content-Length: " . strlen($jsonStr)
)
);
$response = curl_exec($curl);
var_dump($response);
$responseCode = curl_getinfo ($curl , CURLINFO_HTTP_CODE);
if ($responseCode !== 201) {
throw new Exception("post failed with response code " . $responseCode . " " . $jsonStr, 1);
}
$response
dump является действительным и выглядит так:
"{"email":"[email protected]","euid":"someEUID","leid":"someLEID"}"
Однако
сообщение не удалось с кодом ответа 200.
выбрасывается, а список подписчиков не заполняется на сервере mailChimp.
HTTP-код 200 означает, что ваш запрос был успешным. Увидеть https://apidocs.mailchimp.com/api/2.0/
Вам просто нужно подождать несколько минут, чтобы увидеть заполненный список подписчиков.
Других решений пока нет …