Sendinblue: неверный формат писем при добавлении контакта в список - PullRequest
1 голос
/ 13 июня 2019

Используя API Sendinblue, я получаю ответ Bad Request: {"code": "invalid_parameter", "message": "Недопустимый формат писем"} when I'm trying to use the function AddContactToList`.

У меня нет проблемпри попытке создать контакт.Контакт отправляется с электронной почтой и атрибутами.Теперь я хочу добавить существующие контакты в список.

Это код добавления контакта на страницу списка:

// Configure API key authorization: api-key
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'xxxxxxxxxxxxxxxxxx');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('api-key', 'Bearer');
// Configure API key authorization: partner-key
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('partner-key', 'xxxxxxxxxxxxxxxxxxxxxxx');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('partner-key', 'Bearer');

$apiInstance = new SendinBlue\Client\Api\ContactsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

$row = 0;
if (($handle = fopen("contactlist.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {

            $row++;

            usleep(1000);

            if($row>70){

                $listId = 42; // int | Id of the list
                $contactEmails = new \SendinBlue\Client\Model\AddContactToList(); // \SendinBlue\Client\Model\AddContactToList | Emails addresses of the contacts
                $contactEmails['emails'] =$data[1];
                echo $data[1];echo '<br>';
                try {
                    $result = $apiInstance->addContactToList($listId, $contactEmails);
                    print_r($result);
                } catch (Exception $e) {
                    echo 'Exception when calling ContactsApi->addContactToList: ', $e->getMessage(), PHP_EOL;
                }

                echo '<br>';echo '<br>';echo '<br>';
            }

            if($row==400){
                die();
            }
    }
    fclose($handle);
}

?>

Вот результат, который я получаю:

xxxxx@example.com Исключение при вызове ContactsApi-> addContactToList:

[400] Ошибка клиента: POST https://api.sendinblue.com/v3/contacts/lists/42/contacts/add, в результате которого получен 400 неверный запрос: {"code": "invalid_parameter "," message ":" Неверный формат электронных писем "}

Спасибо за вашу помощь.

...