我在通过 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);
?>
谢谢!
从您提供的代码和屏幕截图中,我想到了以下一些内容:
实际的修复方法是将
reply_to
字段与 from_name
字段一起传递。 reply_to
字段将填充到发件人电子邮件中。
引用自 api 参考。
活动的回复电子邮件地址。注意:虽然创建活动不需要此字段,但发送时需要此字段。