在 Mailchimp API 3.0 中添加自定义合并标签
Posted
技术标签:
【中文标题】在 Mailchimp API 3.0 中添加自定义合并标签【英文标题】:Adding Custom Merge Tags in Mailchimp API 3.0 【发布时间】:2015-12-19 15:39:09 【问题描述】:我到处走走,但找不到通过 api v3.0 添加自定义合并标签的任何线索。文档似乎很差而且很神秘。
我看到在之前的版本中,可以通过listMergeVarAdd()
方法来完成。
我想做的是动态添加任何merge_tags
。
如何通过 mailchimp api 3.0 添加自定义 merge_tags
以在自定义订阅表单中使用?
【问题讨论】:
【参考方案1】:由于 v3.0 是 RESTful,因此您可以对 /3.0/lists/list_id/merge-fields
端点进行 POST
调用。您传递的数据应与List Merge Field Instance schema 匹配。
【讨论】:
你的意思是它会自动创建我传递给它的任何自定义merge_tags
?
我不确定你的意思。这是非常标准的 REST 行为。列表的合并字段集合位于 /3.0/lists/list_id/merge-fields
,向该集合添加新字段的方式是通过 POST 到该端点。
对不起,我可以看一个例子吗?
这只允许创建一个合并标签对吗?为 Merge Tag 设置 DATA 怎么样?
@MikeW:通过成员对象上的merge_fields
字段传递它。 Docs here【参考方案2】:
这是经过一些研究后的示例,可能有人会觉得它有用。
这是使用此处提供的 VATPS Wrapper https://github.com/vatps/mailchimp-rest-api
$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-usx";
$mc = new MailChimp();
$mc->setApiKey($api_key);
// Create Custom Merge Tags - Example
$result = $mc->post('/lists/list-id/merge-fields', array(
"tag" => "CUSTOM_SST",
"required" => false, // or true to set is as required
"name" => "Custom Field",
"type" => "text", // text, number, address, phone, email, date, url, imageurl, radio, dropdown, checkboxes, birthday, zip
"default_value" => "", // anything
"public" => true, // or false to set it as not
"display_order" => 2,
"help_text" => "I try to help you!"
));
print_r($result);
// Check If Merge Tags Already Exists - Example
$result = $mc->get('/lists/list_id/merge-fields');
print_r($result);
【讨论】:
以上是关于在 Mailchimp API 3.0 中添加自定义合并标签的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 MailChimp API 3.0 将用户添加到组
使用 API 3.0 实现 Mailchimp 双重选择加入