当在 mailchimp 中访问 url 时,将 email/campaign 发送到列表
Send out email/campaign to a list when url is visited in mailchimp
你好 Whosebug :)
我正在为每天都有电子报的客户构建脚本。
电子报是由第 3 方构建的,当他们发布它时,他们可以让他们的系统访问我们选择的 URL。
当他们的系统访问我们的 URL 时,我们不希望将 mailchimp 自动电子邮件(带有 link 到电子报)发送给我们列表中的每个人.
所以我的问题是: Mailchimp 中的自动付费功能可以为我们做这个吗?或者我们是否需要使用 mailchimp API 在 URL 处理发送到列表的自动电子邮件?如果是后者,我应该在文档中查看哪些方法?
不是在寻找完整的答案,而是在寻找正确的方向:)
Google 没有帮助我解决以下问题:"send out email to a list when url is visited"、"send email campaign to list when url is visited" 这就是我现在求助于您的原因:)
提前致谢
一般来说,您可以使用 MailChimp 的目标和自动化功能来完成这样的事情。但是,您正在处理动态生成的 URL,需要将其包含在您的电子邮件中。到目前为止,除了目标脚本自动传输的数据外,我还没有找到将信息从 "Goal page" 传输到 MailChimp 的方法。
所以我认为您正在寻找一份 API 工作。您需要使用 "Campaigns" 方法 (http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/)。
请注意,创建和发送活动是整个过程的两个不同步骤。您将在同一页面的 "Action" 下找到 "send" 方法。只需获取 "create" 方法返回的 ID,将其提供给 "send" 方法,然后观看奇迹发生。
希望对您有所帮助!
这是它的全部荣耀!它解决了我遇到的问题:)
<?php
/**
* Method for communicating with mailchimp API
*
* @param str $method Which url you need to access in the Mailchimp API
* @param str $type Which type of request (POST, GET etc)
* @param array $data Do you need to pass data along aswell in a multi dimensional array?
*
* @author Kenneth Johnsen <Johns3n@gmail.com>
* @return Server Header Response
*/
function request($method,$type, $data = false){
$apiKey = '<API KEY>';
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0'.$method;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
if($data){
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data));
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// GET VARIABLES THAT MIGHT CHANGE DEPENDING ON E-PAPER SUPPLIER:
// -------------------------------------------------------------------------------------
$paper = 'Name of Company';
$replyTo = 'noreply@companyname.com';
$templateId = 65;
// CREATE CAMPAIGN AND RETURN THE ID SO WE CAN EDIT IT ASWELL:
// -------------------------------------------------------------------------------------
$campaign = array(
'type' => 'regular',
'recipients' => array(
'list_id' => '<LIST ID>'
),
'settings' => array(
'subject_line' => 'E-paper for '.$paper.' is now ready!',
'title' => $paper.' E-Paper Notification ('.date("d/m-Y").')',
'from_name' => $paper,
'reply_to' => $replyTo,
)
);
$createCampaign = request('/campaigns','POST',$campaign);
$createCampaign = json_decode($createCampaign);
// EDIT THE CAMPAIGN TO MATCH TEMPLATE ID:
// -------------------------------------------------------------------------------------
$editCampaign = array(
'template' => array(
'id' => $templateId
)
);
$updateCampaign = request('/campaigns/'.$createCampaign->id.'/content','PUT',$editCampaign);
// SCHEDULE THE CAMPAIGN FOR LAUNCH FROM NEAREST QUARTER MINUTE + ANOTHER 30 MINUTES:
// -------------------------------------------------------------------------------------
$time = time();
$time = round($time / (15 * 60)) * (15 * 60) + (30 * 60);
$time = date('i',$time);
$timeSchedule = date('Y-m-dTH:'.$time.':00+01:00');
$schedule = array(
'schedule_time' => $timeSchedule
);
$scheduleCampaign = request('/campaigns/'.$createCampaign->id.'/actions/schedule','POST',$schedule);
var_dump($scheduleCampaign);
你好 Whosebug :)
我正在为每天都有电子报的客户构建脚本。
电子报是由第 3 方构建的,当他们发布它时,他们可以让他们的系统访问我们选择的 URL。
当他们的系统访问我们的 URL 时,我们不希望将 mailchimp 自动电子邮件(带有 link 到电子报)发送给我们列表中的每个人.
所以我的问题是: Mailchimp 中的自动付费功能可以为我们做这个吗?或者我们是否需要使用 mailchimp API 在 URL 处理发送到列表的自动电子邮件?如果是后者,我应该在文档中查看哪些方法?
不是在寻找完整的答案,而是在寻找正确的方向:)
Google 没有帮助我解决以下问题:"send out email to a list when url is visited"、"send email campaign to list when url is visited" 这就是我现在求助于您的原因:)
提前致谢
一般来说,您可以使用 MailChimp 的目标和自动化功能来完成这样的事情。但是,您正在处理动态生成的 URL,需要将其包含在您的电子邮件中。到目前为止,除了目标脚本自动传输的数据外,我还没有找到将信息从 "Goal page" 传输到 MailChimp 的方法。
所以我认为您正在寻找一份 API 工作。您需要使用 "Campaigns" 方法 (http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/)。
请注意,创建和发送活动是整个过程的两个不同步骤。您将在同一页面的 "Action" 下找到 "send" 方法。只需获取 "create" 方法返回的 ID,将其提供给 "send" 方法,然后观看奇迹发生。
希望对您有所帮助!
这是它的全部荣耀!它解决了我遇到的问题:)
<?php
/**
* Method for communicating with mailchimp API
*
* @param str $method Which url you need to access in the Mailchimp API
* @param str $type Which type of request (POST, GET etc)
* @param array $data Do you need to pass data along aswell in a multi dimensional array?
*
* @author Kenneth Johnsen <Johns3n@gmail.com>
* @return Server Header Response
*/
function request($method,$type, $data = false){
$apiKey = '<API KEY>';
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0'.$method;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
if($data){
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data));
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// GET VARIABLES THAT MIGHT CHANGE DEPENDING ON E-PAPER SUPPLIER:
// -------------------------------------------------------------------------------------
$paper = 'Name of Company';
$replyTo = 'noreply@companyname.com';
$templateId = 65;
// CREATE CAMPAIGN AND RETURN THE ID SO WE CAN EDIT IT ASWELL:
// -------------------------------------------------------------------------------------
$campaign = array(
'type' => 'regular',
'recipients' => array(
'list_id' => '<LIST ID>'
),
'settings' => array(
'subject_line' => 'E-paper for '.$paper.' is now ready!',
'title' => $paper.' E-Paper Notification ('.date("d/m-Y").')',
'from_name' => $paper,
'reply_to' => $replyTo,
)
);
$createCampaign = request('/campaigns','POST',$campaign);
$createCampaign = json_decode($createCampaign);
// EDIT THE CAMPAIGN TO MATCH TEMPLATE ID:
// -------------------------------------------------------------------------------------
$editCampaign = array(
'template' => array(
'id' => $templateId
)
);
$updateCampaign = request('/campaigns/'.$createCampaign->id.'/content','PUT',$editCampaign);
// SCHEDULE THE CAMPAIGN FOR LAUNCH FROM NEAREST QUARTER MINUTE + ANOTHER 30 MINUTES:
// -------------------------------------------------------------------------------------
$time = time();
$time = round($time / (15 * 60)) * (15 * 60) + (30 * 60);
$time = date('i',$time);
$timeSchedule = date('Y-m-dTH:'.$time.':00+01:00');
$schedule = array(
'schedule_time' => $timeSchedule
);
$scheduleCampaign = request('/campaigns/'.$createCampaign->id.'/actions/schedule','POST',$schedule);
var_dump($scheduleCampaign);