Отправка триггера
POST https://mailganer.com/api/v2/triggers/{{trigger_id}}/send/
Список параметров запроса (json)
По-умолчанию переменные doi_ok, ignore_unsubscribed и ignore_spam не работают. При необходимости, запросите их активацию через поддержку.
Отправлять по API можно любой триггер, не только с событием "Вызов API метода"
Рекомендуем вызывать метод не более 300 раз в минуту.
В запрос можно вставлять любые переменные, в том числе одномерные и многомерные массивы. В вёрстке письма можно использовать переменные из запроса и переменные из подписчика одновременно.

Например, имя подписчика может находиться в стандартной переменной {{name}} и записано в данных о подписчике, а переменная "Адрес доставки" не обязательно хранить в Mailganer. Адрес можно передать в запросе в переменной delivery_address и также подставить в вёрстку письма {{delivery_address}}
Пример запроса

{
    "email": "test@example.com",
    "phone": "79991112233",
    "variables": {
        "order_id": 1234,
        "first_name": "Test",
        "delivery_address": "Москва, Красная площадь, Кремль",
        "goods": [
            {
                "link": "https://domain.ru/products/11021",
                "title": "Туфли1",
                "cost": "39500" 
            },
            {
                "link": "https://domain.ru/products/11022",
                "title": "Туфли2",
                "cost": "39500" 
            },
            {
                "link": "https://domain.ru/products/11023",
                "title": "Туфли3",
                "cost": "39500" 
            }
        ]
    }
}
Пример вёрстки письма, с использованием оператора for

<html>
 <body>
   <h1>Здравствуйте, {{first_name}} {{last_name}}</h1>
   <p>Спасибо за заказ {{order_id}} на сайте domain.ru</p>
   <h2>Состав заказа</h2>
   {% for item in goods %} //начало цикла, в каждой итерации берётся следующий элемент из массива goods
   <div>
     <p><a href="{{ item.url }}"><img src="{{ item.image_url }}"/></a></p>
     <p>{{ item.name }} {{ item.size }}, {{ item.quantity }} шт., {{ item.cost }} руб.</p>
   </div>
   {% endfor %} //конец цикла
   <p>Адрес доставки: {{delivery_address}}</p>
   <p>
     Cтоимость доставки: {{shipping}} руб.<br/>
     Сумма заказа: {{total_cost}} руб.
   </p>
   <p>С уважением, команда domain.ru</p>
 </body>
</html>
Использование оператора if
Используемая ниже конструкция{% if item.size %} будет отображать Туфли, Размер: 44EU, 1 шт., 39500 руб. для элемента массива, для которого задана переменная size. Для элемента массива, у которого size не задан, строчка будет выглядеть так Кепка, 1 шт., 1500 руб.

...
{% for item in goods %}
<div>
  <p><a href="{{ item.url }}"><img src="{{ item.image_url }}"/></a></p>
  <p>{{ item.name }}{% if item.size %}, Размер: {{ item.size }}{% endif %}, {{ item.quantity }} шт., {{ item.cost }} руб.</p>
</div>
{% endfor %}
...
Важно при подготовке вёрстки не вставлять опертаор {% for %} или {% if %} между тегами <table> и <td>. Иначе при сохранении письма операторы автоматически перместятся перед <table> и вёрстка "поедет".
Использование оператора forloop.counter, forloop.first и forloop.last
Используемая ниже конструкция {% if forloop.first %} будет срабатывать для первого элемента в массиве. Конструкция {% if forloop.last %} - для последнего, {% if forloop.counter == 3 %} для третьего элемента массива.

...
{% for item in goods %}
<div>
  {% if forloop.first %}<hr/>{% endif %}
  <p><a href="{{ item.url }}"><img src="{{ item.image_url }}"/></a></p>
  <p>{{ item.name }}{% if item.size %}, Размер: {{ item.size }}{% endif %}, {{ item.quantity }} шт., {{ item.cost }} руб.</p>
  {% if forloop.last %}<hr/>{% endif %}
</div>
{% endfor %}
...
Использование оператора forloop|length
Используемая ниже конструкция {% if goods|length >= 5 %} будет срабатывать, если в массиве больше или равно 5 элементов

...
{% if goods|length >= 5 %} 
  {% for item in goods %}
  <div>
    {% if forloop.first %}<hr/>{% endif %}
    <p><a href="{{ item.url }}"><img src="{{ item.image_url }}"/></a></p>
    <p>{{ item.name }}{% if item.size %}, Размер: {{ item.size }}{% endif %}, {{ item.cost }} руб.</p>
    {% if forloop.last %}<hr/>{% endif %}
  </div>
  {% endfor %}
{% endif %}
...
Работа с переменными типа float и date
{{cost|floatformat:"0" }} превратит переменную 39500.40 в 39500 Полное описание
{{birthday|date:"j l"}} превратит дату по шаблону "дата без 0 вначале + месяц", например "21 февраля" Полное описание

...
{% if goods|length >= 5 %} 
  {% for item in goods %}
  <div>
    {% if forloop.first %}<hr/>{% endif %}
    <p><a href="{{ item.url }}"><img src="{{ item.image_url }}"/></a></p>
    <p>{{ item.name }}{% if item.size %}, Размер: {{ item.size }}{% endif %}, {{ item.cost }} руб.</p>
    {% if forloop.last %}<hr/>{% endif %}
  </div>
  {% endfor %}
{% endif %}
...
Список параметров ответа (json)
Возможные значения ошибок
Написать в поддержку
Mail