Код ошибки интеграции MailChimp 501 - Неподдерживаемый запрос - PHP

Ниже мой код для добавления контакта в 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&#58;&#47;&#47;us19&#46;admin&#46;mailchimp&#46;com&#47;3&#46;0&#47;lists&#47;applevendor&#47;members&#47;b642b4217b34b1e8d3bd915fc65c4452 not supported.<P> 
Reference&#32;&#35;8&#46;1dd70b17&#46;1617785385&#46;68d39e
</BODY></HTML>

Пожалуйста, помогите мне решить эту проблему.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
16
1

Ответы 1

На основе Документация 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 - их внутренний идентификатор.

Теперь он дает 403 Forbidden. - «status»: 403, «detail»: «Предоставленный ключ API связан с центром обработки данных 'us1'»,

Deepak Kotian 07.04.2021 12:29

Ваш ключ содержит -usSomeNumber, поэтому используйте его и в URL-адресе запроса. Например, ключ xxxxx-us19 должен использовать https://us19.api.mailchimp.com, а ключ xxxxx-us20 должен использовать https://us20.api.mailchimp.com.

Jax-p 07.04.2021 12:34

Другие вопросы по теме