J'utilise le tutoriel suivant pour créer une campagne et envoyer des courriels dans MailChimp en utilisant Php.Mailchimp Erreur: Mauvaise demande - Votre campagne n'est pas prête à envoyer
https://isabelcastillo.com/create-send-mailchimp-campaign-api-3
Mon code pièce sont
require_once('../wp-load.php');
function isa_mailchimp_api_request($endpoint, $type = 'POST', $body = '')
{
// Configure --------------------------------------
$api_key = 'API KEY HERE'; // Changed API Key here
// STOP Configuring -------------------------------
$core_api_endpoint = 'https://<dc>.api.mailchimp.com/3.0/';
list(, $datacenter) = explode('-', $api_key);
$core_api_endpoint = str_replace('<dc>', $datacenter, $core_api_endpoint);
$url = $core_api_endpoint . $endpoint;
//print_r($url);
$request_args = array(
'method' => $type,
'timeout' => 20,
'headers' => array(
'Content-Type' => 'application/json',
'Authorization' => 'apikey ' . $api_key
)
);
if ($body) {
$request_args['body'] = json_encode($body);
}
$request = wp_remote_post($url, $request_args);
$response = is_wp_error($request) ? false : json_decode(wp_remote_retrieve_body($request));
echo '<pre>';
print_r($response);
return $response;
}
function isa_create_mailchimp_campaign($list_id, $subject) {
$reply_to = '[email protected]';
$from_name = 'NewsLume';
$subject= 'Another new test message 14 17';
$campaign_id = '';
$body = array(
'recipients' => array('list_id' => $list_id),
'type' => 'regular',
'settings' => array('subject_line' => $subject,
'title' => 'a test title NewsLUme',
'reply_to' => $reply_to,
'from_name' => $from_name,
'use_conversation'=> false,
'to_name'=> 'sajid',
'auto_footer'=> false,
'inline_css'=> false,
'auto_tweet'=> false,
'drag_and_drop'=> false
)
);
$create_campaign = isa_mailchimp_api_request('campaigns', 'POST', $body);
if ($create_campaign) {
if (! empty($create_campaign->id) && isset($create_campaign->status) && 'save' == $create_campaign->status) {
// The campaign id:
$campaign_id = $create_campaign->id;
}
}
return $campaign_id ? $campaign_id : false;
}
function isa_set_mail_campaign_content($campaign_id, $template_content ) {
$set_content = '';
$set_campaign_content = isa_mailchimp_api_request("campaigns/$campaign_id/content", 'PUT', $template_content);
if ($set_campaign_content) {
if (! empty($set_campaign_content->html)) {
$set_content = true;
}
}
return $set_content ? true : false;
}
$list_id='my_list_id_here'; // LIST HERE
$campaign_id = isa_create_mailchimp_campaign($list_id, $subject);
if ($campaign_id) {
// Set the content for this campaign
$template_content = array(
'template' => array(
// The id of the template to use.
'id' => 47615, // INTEGER
'sections' => array(
'tst_content' => 'THIS IS THE CONTENT BODY OF MY EMAIL MESSAGE.'
)
)
);
$set_campaign_content = isa_set_mail_campaign_content($campaign_id, $template_content);
if ($set_campaign_content) {
$send_campaign = isa_mailchimp_api_request("campaigns/$campaign_id/actions/send", 'POST');
if (empty($send_campaign)) {
// Campaign was sent!
} elseif(isset($send_campaign->detail)) {
$error_detail = $send_campaign->detail;
}
}
}
J'ai mis à jour toutes les valeurs, y compris API KEY, ID de liste, modèle ID etc. mais je reçois des erreurs
est ici erreur objet
stdClass Object ( [type] => http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/ [title] => Bad Request [status] => 400 [detail] => Your Campaign is not ready to send. [instance] => 89dc8734-2611-4f3b-a4f7-d18bd181bded )
J'ai vérifié dans Mail Chimp, les campagnes sont créées là mais elles sont enregistrées en tant que brouillon.
Voici mes journaux API
journaux API peuvent être vus par le lien ci-dessous en cliquant https://drive.google.com/file/d/0BwIWuJmCDI1vNHgtVm9TQm1FMVU/view?usp=drivesdk
Je suis en mesure de créer la campagne, définir un modèle de campagne, mais je ne peux pas envoyer des emails. Mon domaine est également vérifié et authentifié avec Mailchimp en utilisant les directives. Veuillez vérifier et suggérer une solution
Bonjour Joel. Merci pour vos suggestions J'ai contacté Mail chimp et ils m'ont dit la même chose et le problème était avec des modèles d'email que j'utilisais. J'ai supprimé tout le contenu de l'e-mail, puis ajouté un texte factice à vérifier et tout s'est bien passé. Merci de votre aide. –
@OptimumCreative heureux de vous aider! –