如何使用 ruby 处理 mailchimp 模板?
Posted
技术标签:
【中文标题】如何使用 ruby 处理 mailchimp 模板?【英文标题】:How to work with mailchimp templates using ruby? 【发布时间】:2016-10-29 03:43:45 【问题描述】:我想用 Ruby 处理 mailchimp 模板。 我安装了 gem mailchimp-api 并尝试了这个:
mailchimp = Mailchimp::API.new(ENV['MAILCHIMP_API_KEY'])
lists = mailchimp.templates.list
list = lists['data']
puts list
它返回lists = Hash (3 elements): 'user'= Empty Array, 'gallery'= Empty Array, 'base'= Empty Array
,结果是list = nil
。
我安装了 gem gibbon 并尝试了这个:
gibbon = Gibbon::Request.new(api_key: ENV['MAILCHIMP_API_KEY'])
templates = gibbon.templates.retrieve(params: type: 'user')
templates['templates'].each do |template|
if template['name'] == 'my_template'
id = template['id']
我得到了模板 ID,但 gibbon.templates.info(template_id: id)
返回 # 和 @api_endpoint=nil
。如何接收模板源并使用它?
非常感谢。
【问题讨论】:
【参考方案1】:不知道确切,但也许你应该使用retrieve
来通过 id 查找模板。
类似的东西
gibbon.templates.retrieve(params: template_id: your_id_here )
根据official docs.
【讨论】:
它返回所有模板中的前10个模板( 那么gibbon.templates(your_id_here).retrieve
呢?
当然可以,但是当if template['name'] == 'my_template'
返回true
时,这与我的循环templates['templates'].each
中的template
相同。我没有找到有关如何在 Ruby 中使用模板的示例。
我的意思是有关如何使用模板源等的示例。
尝试调试this的地方。您需要查看 r.body
包含的内容。这就是你的lists
等于。【参考方案2】:
我找到了解决方案。 Mailchimp 帐户可以与 mandrill 帐户链接以发送交易邮件。解决方案是将模板从mailchimp克隆到mandrill并使用mandrill-api gem加载模板主体,如下所示:
mandrill = Mandrill::API.new(ENV["SMTP_PASSWORD"])
body = mandrill.templates.render(template_name, [], vars )["html"]
【讨论】:
以上是关于如何使用 ruby 处理 mailchimp 模板?的主要内容,如果未能解决你的问题,请参考以下文章
Mailchimp double_optin => false 在 mailchimp-api-ruby 中不起作用
使用 Ruby 中的 MailChimp API 3.0 订阅电子邮件
使用 Gibbon 创建标签时出错(Ruby MailChimp 客户端)
mailchimp 邮件程序不能在 ruby on rails 中工作