Mailchimp API (PHP) - Ваша кампания не готова к отправке

У меня возникла проблема при использовании Mailchimp API с PHP.

Когда я запускаю код, я получаю следующую ошибку:

{
    "type": "http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
    "title": "Bad Request",
    "status": 400,
    "detail": "Your Campaign is not ready to send.",
    "instance": "46235d29-6a67-4d55-800d-a95e2dc7273f"
}

Я знаю, почему кампания не готова к отправке, как вы можете видеть на этом изображении, детали заполнены, но не сохранены:

Вот код, который я пытаюсь запустить:

<?php
require '../vendor/autoload.php';
$apiKey = 'API ';

$mailchimp = new \MailchimpAPI\Mailchimp($apiKey);

$list_created = $mailchimp->lists()->post([
  'name' => 'Lista Monday',
  'contact' => [
    'company' => 'Test Company Monday',
    'address1' => 'Monday address 1',
    'city' => 'Monday City',
    'state' => 'Monday State',
    'zip' => '227560',
    'country' => 'Romania'
  ],
  'permission_reminder' => 'test',
  'campaign_defaults' => [
    'from_name' => 'Anjus Parsay',
    'from_email' => 'FROM EMAIL',
    'subject' => 'Monday Email',
    'language' => 'English'
  ],
  'email_type_option' => false
]);

$list_id = json_decode($list_created->getBody(), true)['id'];

$email = "EMAIL ";

$addedUser = $mailchimp->lists($list_id)->members()->post([
    'email_address' => $email,
    'status' => 'subscribed'
]);

//1. Create the template
$template_content = file_get_contents("http://widevisiondesign.com/anjus/mailchimp/src/testTemplate.html");

$template = $mailchimp->templates()->post([
'name' => 'testTemplateHTML',
'html' => $template_content
]);

$template_id = json_decode($template->getBody(), true)['id'];

//2. Create a campaign
$campaign = $mailchimp->campaigns()->post([
'type' => 'regular',
'recipients' => [
'list_id' => $list_id
],
'settings' => [
'title' => 'Monday',
'subject_line' => 'Monday - Sunday',
'from_name' => 'NAME NAME',
'to_name' => 'test',
'preview_text' => 'Preview text - Monday',
'template_id' => $template_id
]
]);

$campaign_id = json_decode($campaign->getBody(), true)['id'];

$sent = $mailchimp->campaigns($campaign_id)->send([$email], 'plaintext')->getBody();

print_r($sent);

?>

Спасибо!

0 ответов

Из кода и скриншота, которые вы представили, вот что пришло мне в голову:

  1. Вы подтвердили и подтвердили свой адрес электронной почты? Если нет, вам необходимо подтвердить подлинность домена вашего адреса электронной почты. Перейдите на панель инструментов Mailchimp, нажмите "Аккаунт"> "Настройки"> "Домены"> "Подтвердить домен".
  2. Затем добавьте свой домен, следуйте инструкциям для проверки и аутентификации.
  3. Если вы предпочитаете, вы можете сделать вызов API, чтобы получить контрольный список, прежде чем отправлять электронное письмо. Контрольный список содержит информацию об успехах и ошибках, что необходимо сделать перед отправкой электронного письма.
  4. Извините, если это кажется каким-то образом, но действительно ли вы указали свой адрес электронной почты вместо заполнителя 'FROM EMAIL'? Из кода кажется, что вы установили имя from_name, но не установили from_email.
Другие вопросы по тегам