Ниже мой код для добавления контакта в mailchimp. Я получаю ключ api mailchimp и идентификатор списка из файла env в laravel. Также $ data включает в себя весь ввод.
$apiKey = env('MAILCHIMP_APIKEY');
$listId = env('MAILCHIMP_LIST_ID');
$auth = base64_encode( 'user:'.$apiKey);
$mailChimpdata = array(
'apikey' => $apiKey,
'email_address' => $data['email'],
'status' => $data['status'],
'merge_fields' => array(
'FNAME' => $data['firstname'],
'LNAME' => $data['lastname']
)
);
$json_data = json_encode($mailChimpdata);
$ch = curl_init();
$memberId = md5(strtolower($data['email']));
$url = 'https://us19.admin.mailchimp.com/3.0/lists/' . $listId . '/members/' . $memberId;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.$auth));
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
$result = curl_exec($ch);
Но я получаю эту ошибку ниже
HTTP/1.0 501 Not Implemented
Server: AkamaiGHost
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 334
Expires: Wed, 07 Apr 2021 08:49:45 GMT
Date: Wed, 07 Apr 2021 08:49:45 GMT
Connection: close
Set-Cookie: _abck=471ED28A26F6757CE57AC9E4318E7BD6~-1~YAAQHdcLF/keKqt4AQAASPOFqwWS/EeAKXso+2igviRTfIMw3pqbDMndhfZPfoX+eQn3Iv8iqfbogtNFmkU4lRDRQLdAWAYBhq2oOhDTiK ▶
Set-Cookie: bm_sz=5CBD698E96AC9E2B62898990FF45E196~YAAQHdcLF/oeKqt4AQAASPOFqwsLVm8fKmxtToeWU99vCUWske+XMuRtEjiCpzXhPE5xe8jGoh6EfYe8WG6zjMaaI2jPZos0gb2ER9jykveOE ▶
<HTML><HEAD>
<TITLE>Unsupported Request</TITLE>
</HEAD><BODY>
<H1>Unsupported Request</H1>
PUT to http://us19.admin.mailchimp.com/3.0/lists/applevendor/members/b642b4217b34b1e8d3bd915fc65c4452 not supported.<P>
Reference #8.1dd70b17.1617785385.68d39e
</BODY></HTML>
Пожалуйста, помогите мне решить эту проблему.






На основе Документация Mailchimp они используют URL-адрес добавить контакт
"https://us20.api.mailchimp.com/3.0/lists/$list_id/members/"
но у тебя есть
"https://us19.admin.mailchimp.com/3.0/lists/$listId/members/$memberId"
с $memberId. Я предполагаю, что id - их внутренний идентификатор.
Ваш ключ содержит -usSomeNumber, поэтому используйте его и в URL-адресе запроса. Например, ключ xxxxx-us19 должен использовать https://us19.api.mailchimp.com, а ключ xxxxx-us20 должен использовать https://us20.api.mailchimp.com.
Теперь он дает 403 Forbidden. - «status»: 403, «detail»: «Предоставленный ключ API связан с центром обработки данных 'us1'»,