mandrill,merge_vars和handlebars数组问题

时间:2015-04-30 03:09:19

标签: javascript handlebars.js mandrill

我使用带有模板和把手支持的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与把手支持循环

1 个答案:

答案 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}, 
      ...
    ]
  }
];