Я пытаюсь добавить контакт в список контактов в моей учетной записи Mailjet, там есть мой код:
<?php
require('../mailjet_apiv3/src/Mailjet/php-mailjet-v3-simple.class.php');
$mj = new Mailjet($apiKey, $secretKey);
$list_id =123;
$params = array(
'method' => 'POST',
'Email' => '[email protected]'
);
$result = $mj->contact($params);
if(isset($result->StatusCode) && $result->StatusCode == '400')
return false;
$contact_id = $result->Data[0]->ID;
// Add the contact to a contact list
$params = array(
'method' => 'POST',
'ContactID' => $contact_id,
'ListID' => $list_id
);
$result = $mj->listrecipient($params);
?>
Я получаю эту ошибку:
Примечание. Попытка получить свойство необъекта в … / addContactMailJet.php в строке 30.
Я не мог найти проблему, у кого-то есть идея, что не так!
Код состояния доступен следующим образом:
$mj->_response_code
Потому что вы, возможно, пытаетесь POST
на одном и том же контакте снова и снова он мог отправить вам ответный код ошибки.
Но лучший способ добавить контакт в список — использовать ресурс contactslistManageContact. Вот как:
/**
* @param array $contact An array describing a contact.
* Example below the function.
* @param int $listID The ID of the list.
*
*/
function addDetailedContactToList ($contact, $listID)
{
$mj = new Mailjet(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
$params = array(
"method" => "POST",
"Action" => "addnoforce",
"ID" => $listID
);
// merge the contact informations with the call informations
$params = array_merge($params, $contact);
$result = $mj->contactslistManageContact($params);
if ($mj->_response_code == 201)
echo "success - detailed contact added to the list ".$listID;
else
echo "error - ".$mj->_response_code;
return $result;
}
// $contact array example
/* $contact = array(
* "Email" => "[email protected]", // Mandatory field!
* "Name" => "FooBar"* );
*/
Других решений пока нет …