我使用带有模板和把手支持的mandrill的HTTP API。
如果我传入包含在数组中的单个级别对象,则电子邮件可以正常工作..只要我将子数组作为其中一个变量包括API炸弹并给我以下错误。
{ [Error: Error: An invalid value was specified:
{ name: 'cartItems',
content: [ { slug: 'children', name: 'Children', qty: 2, cost: '5.00' } ] }
This doesn't match the specified type:
{ name: 'string', content: 'string' }] code: 'E_INVALID_TYPE' }
我的merge_vars看起来像这样:
[
{
'name': 'totalAmount',
'content': checkout.amount
},
{
'name': 'eventName',
'content': checkout.cart[0].name
},
{
'name': 'eventId',
'content': checkout.cart[0].id
},
{
'name': 'cartItems',
'content': checkout.cart[0].items
},
{
'name': 'firstname',
'content': checkout.details.firstname
},
{
'name': 'firstname',
'content': checkout.details.firstname
},
{
'name': 'lastname',
'content': checkout.details.lastname
},
{
'name': 'email',
'content': checkout.details.email
},
{
'name': 'phone',
'content': checkout.details.phone
},
{
'name': 'username',
'content': checkout.details.username
},
]
你可以看到它在cartItems
上的轰炸,它基本上是一个对象数组。
任何想法?根据{{3}}文章mandrill与把手支持循环
答案 0 :(得分:0)
您发布了merge_vars参数的完整值吗?您链接的文章(http://kbcdn.mandrill.com/handlebars-example-sendtemplate-api.txt)中的示例JSON有以下内容:
merge_vars: [
{
rcpt:"email@address.com",
vars:[
{'name':'cartItems', 'content':checkout.cart[0].items},
...
]
}
];