如何使用 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 中工作

Ruby 错误代码中 MailChimp API 的问题:-90

Mailchimp API v3 创建列表 REST 客户端 Ruby