global_merge_vars not working

api, mandrill

Solution

It looks like you don't have the `merge_vars`, `merge`, and `global_merge_vars` parameters within the `message`. They should be nested in the `message` to take effect. So it would look something like this:

{
    "key": "xxxyyyzzz",
    "template_name": "coupon-purchased",
    "template_content": [],
    "message": {
        "to": [
            {
                "email": "xxx@yyy.com"
            }
        ],
        "merge": true,
        "global_merge_vars": [
            {
                "name": "FNAME",
                "content": "Your name"
            },
            {
                "name": "FGYMNAME",
                "content": "Your gym"
            }
        ],
        "merge_vars": [
            {
                "rcpt": "xxx@yyy.com",
                "vars": [
                    {
                        "name": "FNAME",
                        "content": "Your name"
                    },
                    {
                        "name": "FGYMNAME",
                        "content": "Your gym"
                    }
                ]
            }
        ]
    }
}

The Mandrill API docs also have JSON examples, which you can use for comparison. Here's a link to the JSON for the messages/send-template: https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template

Problem

I'm sending a template email from Mandrill API like this: ``` { "key":"xxxyyyzzz", "template_name":"coupon-purchased", "template_content":[ ], "message":{ "to":[{"email":"xxx@yyy.com"}] }, "merge":true, "global_merge_vars":[ { "name":"FNAME", "content":"Your name" }, { "name":"FGYMNAME", "content":"Your gym" } ], "merge_vars":[ { "rcpt": "xxx@yyy.com", "vars":[ { "name":"FNAME", "content":"Your name" }, { "name":"FGYMNAME", "content":"Your gym" } ] }] } ``` As a POST message to this URL: https://mandrillapp.com/api/1.0/messages/send-template.json I've tried with some HTML document, but finally I'm just using the following as template: ``` *|FNAME|* and *|FGYMNAME|* ``` But still not working. Those variables are not exchanged with the values sent in global_merge_vars. Also, I've tried to remove `merge_vars` and `merge` properties from JSON, not working neither. Any clues about it? Thanks!

Original source