php中的Mailchimp-api集成



我想更新mailchimp campaign html我想使用这个APIhttps://mailchimp.com/developer/marketing/api/campaign-content/set-campaign-content/但是我很困惑如何在中的[]中添加数据$response=$client->活动->setContent("campaign_id",[](;

就我个人而言,我不使用Mailchimp SDK,但我更喜欢使用我自己的功能。很简单:

<?php
$content = 'This is a test';
// STEP #1: CREATING CAMPAIGN
$url = 'https://us2.api.mailchimp.com/3.0/campaigns';
$method = 'post';
$data = ['type' => 'regular', 'recipients' => ['list_id' => '***'], 'settings' => ['subject_line' => 'Test', 'title' => 'Test', 'from_name' => '***', 'reply_to' => '***@***', 'folder_id' => '***']];
$campaign = MC($url, $method, $data);
// STEP #2: ADDING CONTENT TO CAMPAIGN
$url = "https://us2.api.mailchimp.com/3.0/campaigns/$campaign/content";
$method = 'put';
$data = ['template' => ['id' => ***, 'sections' => ['content' => $content]]]; // Here I'm using a template: 'content' is a placeholder in my template (see MC Documentation)
MC($url, $method, $data);
function MC($url, $method, $data) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => ['Authorization: ***', 'Content-Type: application/json'], // *** = apiKey
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_TIMEOUT => 30
]);
$response = curl_exec($ch);
curl_close($ch);
if ($method === 'post') return json_decode($response)->id;
}

用您的数据替换***

就是这样。

它对我有效。如果它对你也有效,请告诉我。

最新更新