无法通过Python API为Mailchimp Campaign设置正确邮件模板
解决Mailchimp Campaign模板设置失败问题
1. 从浏览器URL获取Template_ID的方式不可靠
你从浏览器URL里提取的id参数并不是Mailchimp API要求的正式Template ID。后台URL中的参数可能包含编码字符或临时会话标识,和API调用所需的标准ID不匹配,这是导致模板设置失败的核心原因之一。
2. 正确获取Template ID的两种方法
- 后台手动获取:登录Mailchimp后台,进入「模板」列表页,找到目标模板后点击右侧下拉菜单,选择「查看代码」或「编辑」。在页面的HTML源码中查找
data-template-id属性,其对应的值就是正确的Template ID。 - API接口获取:调用Mailchimp的「列出所有模板」接口(
GET /templates),从返回的JSON结果中直接提取目标模板的id字段。
3. 代码调整方案
修复点1:替换为正确的Template ID
将代码中<Template_ID>替换为上述方法获取到的真实ID。
修复点2:调整content_type参数
如果你的模板是通过Mailchimp模板设计器创建的,content_type应设置为template而非multichannel——multichannel适用于自定义HTML内容的场景,和模板类型不兼容。
修改后的代码示例:
campaign_data = dict( type='regular', recipients=dict(list_id="YOUR_LIST_ID", segment_opts=dict( saved_segment_id=segment_id)), settings=dict( subject_line=subject_line, from_name='YOUR_FROM_NAME', reply_to='YOUR_REPLY_EMAIL', template_id='YOUR_VALID_TEMPLATE_ID' # 替换为正确的模板ID ), content_type="template" # 适配模板类型的参数值 ) campaign = client.campaigns.create(campaign_data)
4. 额外排查项
- 确认你的API密钥拥有访问该模板的权限,且模板属于当前操作的Mailchimp账号。
- 创建Campaign后,登录后台查看Campaign内容是否正确加载模板。若仍有问题,可尝试调用
PUT /campaigns/{campaign_id}/content接口,直接指定模板ID更新Campaign内容。
内容的提问来源于stack exchange,提问作者nishit chittora
相关产品推荐
相关产品推荐

