除了merge_vars之外,对Mandrill API的JSON请求上的变量访问

时间:2015-07-16 10:28:22

标签: json parsing templates merge mandrill

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

其他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 个答案:

答案 0 :(得分:0)

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