访问除合并变量之外的对 Mandrill API 的 JSON 请求中的变量

Posted

技术标签:

【中文标题】访问除合并变量之外的对 Mandrill API 的 JSON 请求中的变量【英文标题】:Acessing variables on JSON request to Mandrill API other than merge_vars 【发布时间】:2015-10-05 18:00:57 【问题描述】:

我正在尝试将 Mandrill 服务与另一个可以向其发送 http POST 的 API 相结合,以将变量合并到模板中并发送电子邮件。问题是很难让这个其他 API 像 Mandrill 的 API 所期望的那样发送 JSON 对象。

其他 API 可以轻松发送类似

的扁平 JSON

"name":"some name","firstvar":"10","secondvar":"20",

但是很难让它创建一个复杂的 JSON,包含内部数组等等。

Mandrill 理解的 JSON 格式的另一个问题是,在 global_merge_vars 中,名称值对不成对:

[  "name":"MyVariable" , "content":"123"  ,
   "name":"SecondVariable" , "content":"321" ] 

代替:

[  "MyVariable":"123" , 
    "SecondVariable":"321"  ]

这让事情变得更难了。

所以我想知道的是,Mandrill 是否可以合并 global_merge_vars 或 merge_vars 数组中的其他变量,并通过它们的名称值关系来引用它们。

如果您知道适合本案例的其他解决方案或服务,我也将不胜感激。

提前谢谢你。

【问题讨论】:

【参考方案1】:

您需要编写代码,从您正在使用的其他 API 获取信息并将其转换为 Mandrill 所需的格式。不可能传递不是它接受的格式的 Mandrill 数据并将其映射到正确的格式 - 有太多的可能性使它成为一个可行的功能。您可能想要解码从其他 API 获得的 JSON,然后为 Mandrill 构建有效负载。将 Mandrill API 客户端用于您正在使用的语言以使其更容易,或者使用像 Zapier 这样的服务来配对 API 而无需知道如何编码,这可能会有所帮助。

【讨论】:

以上是关于访问除合并变量之外的对 Mandrill API 的 JSON 请求中的变量的主要内容,如果未能解决你的问题,请参考以下文章

mandrill 和嵌套的合并变量

在 Mandrill 车把合并变量中使用 HTML

抄送收件人的 Mandrill 合并变量不起作用

如何在 Mandrill 中为本机 Mailchimp 的合并标签设置值?

Mandrill 的渲染 API 会忽略映射到 Handlebars 变量的 merge_vars 吗?

Mandrill 中的新 API 密钥默认具有对您帐户的完全访问权限 - 您可以自定义吗?