Mailchimp API (PHP) - 您的营销活动尚未准备好发送

问题描述 投票:0回答:2

我在通过 PHP 使用 Mailchimp API 时遇到问题。

当我运行代码时,这是我收到的错误:

{
    "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);

?>

谢谢!

php mailchimp mailchimp-api-v3.0
2个回答
2
投票

从您提供的代码和屏幕截图中,我想到了以下一些内容:

  1. 您是否已验证并验证您的电子邮件地址?如果不是,您需要验证您的电子邮件地址的域。转到 Mailchimp 仪表板,单击帐户 > 设置 > 域 > 验证域。
  2. 然后添加您的域名,按照说明进行验证和身份验证。
  3. 如果您愿意,您可以在实际发送电子邮件之前调用 API 来获取清单。该清单给出了在实际发送电子邮件之前需要完成的操作的成功和错误注释。
  4. 如果这看起来有些奇怪,我很抱歉,但您确实提供了您的电子邮件地址来代替“FROM EMAIL”占位符吗?从代码来看,您似乎设置了 from_name 的名称,但没有设置 from_email

0
投票

实际的修复方法是将

reply_to
字段与
from_name
字段一起传递。
reply_to
字段将填充到发件人电子邮件中。 引用自 api 参考。

活动的回复电子邮件地址。注意:虽然创建活动不需要此字段,但发送时需要此字段。

© www.soinside.com 2019 - 2024. All rights reserved.