MailChimp API v2: ошибка проверки

У меня есть проблема с Mailchimp, что мой вызов, кажется, отрицается и терпит неудачу. Как-то Mailchimp Support не может даже видеть, что я пытался называть их этим кодом

$data = array( 'apikey' => "APIKEY-USXX", 'cid' => "CID", ); $data = json_encode($data); echo '<pre>'; var_dump($data); echo '</pre>'; $submit_url = "https://us10.api.mailchimp.com/2.0/reports/opened.json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $submit_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($data)); $result = curl_exec($ch); curl_close ($ch); $info = json_decode(json_encode(json_decode($result)), true); echo '<pre>'; var_dump($info); echo '</pre>'; 

Странная вещь, это работает отлично для любого другого вызова, который я делаю с API 1.3. Я действительно потерялся в том, что я делаю неправильно здесь. Надеюсь, вы, ребята, можете мне помочь?

Заранее спасибо.

** EDIT ** Вот мой ответ:

 array(4) { ["status"]=> string(5) "error" ["code"]=> int(-100) ["name"]=> string(15) "ValidationError" ["error"]=> string(31) "You must specify a apikey value" } 

Последний код, который работал для меня:

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $submit_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_USERAGENT, 'MailChimp-PHP/2.0.6'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 600); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); $result = curl_exec($ch); curl_close ($ch); 

Убедитесь, что «dc» в URL-адресе отправки (us10) соответствует последней части вашего ключа API.

Также … попробуйте добавить к вызову следующие параметры:

 curl_setopt($ch, CURLOPT_USERAGENT, 'MailChimp-PHP/2.0.6'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 600); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

Вы также можете добавить следующий параметр, чтобы отлаживать вызов более явно

 curl_setopt($ch, CURLOPT_VERBOSE, true);