Отправка шаблона через API

Отправка шаблона описана в документации API в методе /sendTemplate.

Вы также можете отправить шаблон через раздел в личном кабинете "Кабинет разработчика" →"Тестирование запросов". Чтобы отправить шаблон, необходимо знать namespace, name и language шаблона. Чтобы получить эти данные, вызовите метод "Получить список шаблонов" (/templates).

Некоторые свойства, которые могут вызвать вопросы в методе /sendTemplate.

Свойства

Описание

template

Это name шаблона

language

policy: записывайте deterministiс

code: код language из метода /templates

Объект с type "body"

Текстовое сообщение. Можно опустить, если в тексте нет переменных.

Объект с type "button"

Вам нужно указывать в теле только кнопки с sub_type "url" либо "catalog". Остальные типы кнопок при отправке шаблона можно опустить.

Положение кнопок для каждой карточки в шаблоне "Карусель" должно быть одинаково

Как отправить шаблон "Карусель"

Шаблон сообщения «Карусель» поддерживается только в Cloud API.

Шаблон Карусель:

  • Имеет свой type - CAROUSEL

  • Объект с типом CAROUSEL содержит массив cards. Используется только для данного типа шаблона

  • Каждая карточка содержит card_index - порядок появления карточек в карусели карточек.0 означает первую карту, 1 означает вторую карту и т. д

Пример как отправить шаблон "Карусель"​

Пример шаблона из 2-ух карточек. Каждая карточка содержит кнопку быстрого ответа и url-кнопку. Медиа-заголовок - картинка.

POST https://api.1msg.io/{{channel}}/sendTemplate
Content-Type: application/json
Body: {
  "token": "{{token}}",
  "namespace": "{{namespace}}", // Вызовите список шаблонов через метод /templates и найдете namespace для нужного шаблона
  "template": "marceting_carousel_01_test", // name шаблона
  "language": {
    "policy": "deterministic",
    "code": "en" // код language из запроса /templates
  },
  "params": [
    {
   /* Общее текстовое сообщение. Можно опустить, если в тексте нет переменных. */
      "type": "body", 
      "parameters": [
        {
          "type": "text",
          "text": "21OFF" // переменная {{1}} для общего текстового сообщения
        },
        {
          "type": "text",
          "text": "21" // переменная {{2}} для общего текстового сообщения
        }
      ]
    },
    {
      "type": "carousel",
      "cards": [
        /* Первая карточка */
        {
          "card_index": 0,
          "components": [
            {
              "type": "header",
              "parameters": [
                {
                  "type": "image",
                  "image": {
                    "link": "https://img.freepik.com/free-photo/top-view-citric-fruit-slices-table_23-2148495686.jpg"
                  }
                }
              ]
            },
            {
              "type": "button",
              "sub_type": "url",
              "index": 1,  // положение кнопки, начинается с 0. Тут url-кнопка вторая в последовательности, поэтому index=1
              "parameters": [
                {
                  "type": "text",
                  "text": "summer" // параметр в url ссылке
                }
              ]
            },
            {
             /* Текст карточки. Можно опустить, если в тексте не будет переменных. */
              "type": "body",
              "parameters": [
                {
                  "type": "text",
                  "text": "10F" // переменная {{1}} в первой карточке
                },
                {
                  "type": "text",
                  "text": "10" // переменная {{2}} в первой карточке
                }
              ]
            }
          ]
        },
        /* Вторая карточка */
        {
          "card_index": 1, 
          "components": [
            {
              "type": "header",
              "parameters": [
                {
                  "type": "image",
                  "image": {
                    "link": "https://img.freepik.com/free-photo/delicious-background-orange-slices_23-2148231462.jpg"
                  }
                }
              ]
            },
            {
              "type": "button",
              "sub_type": "url",
              "index": 1, // положение кнопки, начинается с 0. Тут url-кнопка вторая в последовательности, поэтому index=1
              "parameters": [
                {
                  "type": "text",
                  "text": "winter" // параметр в url ссылке
                }
              ]
            },
            {
             /* Текст карточки. Можно опустить, если в тексте не будет переменных. */
              "type": "body",
              "parameters": [
                {
                  "type": "text",
                  "text": "30F" // переменная {{1}} во второй карточке
                },
                {
                  "type": "text",
                  "text": "30" // переменная {{2}}  во второй карточке
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "phone": "+556123122026"
}

Как отправить шаблон "Каталог"

Шаблон сообщения «Каталог» поддерживается только в Cloud API.

Прежде чем отправить каталог, проверьте, включен ли он у вас. Проверить вы можете в своем личном кабинете в 360 Dialog либо вызвав метод /commerce.

Шаблон Каталог:

  • В объекте кнопки в sub_type необходимо написать CATALOG . Наименование кнопки не управляется.

  • Можно записать в thumbnail_product_retailer_id артикул товара, который указан в Meta. В этом случае миниатюра этого товара будет использоваться в качестве изображения заголовка сообщения. Иначе будет использоваться изображение продукта первого товара в вашем каталоге.

Пример части кода, когда не указан thumbnail_product_retailer_id.

 {
      "type": "button",
      "sub_type": "CATALOG",
      "index": 0,
      "parameters": [
        {
          "type": "action",
          "action": {
            "thumbnail_product_retailer_id": ""
          }
        }
      ]
    }
Пример отправки шаблона "Каталог"

Так как шаблон не содержал в type "BODY" описания переменных, то при отправке в теле сообщения этот объект опушен.

POST https://api.1msg.io/{{channel}}/sendTemplate
Content-Type: application/json
Body: {
  "token": "{{token}}",
  "namespace": "{{namespace}}",
  "template": "catalog_services",
  "language": {
    "policy": "deterministic",
    "code": "en"
  },
  "params": [
    {
      "type": "button",
      "sub_type": "CATALOG",
      "index": 0,
      "parameters": [
        {
          "type": "action",
          "action": {
            "thumbnail_product_retailer_id": "0002" // Отправится миниатюра данного товара. Можно отправить "thumbnail_product_retailer_id": "". Тогда будет использоваться изображение продукта первого товара в вашем каталоге.
        }
      ]
    }
  ],
  "phone": "+556123122026"
}
        

Как отправить шаблон Аутентификации

Пример отправки шаблона Аутентификации

Пример отправки кнопки копирования кода

{
  "token": "{{token}}",
  "namespace": "{{namespace}}",
  "template": "auth_2",
  "language": {
    "policy": "deterministic",
    "code": "ru"
  },
  "params": [
        {
      "type": "body",
      "parameters": [
        {
          "type": "text",
          "text": "05425" // код, отображаемый в теле сообщения
        }
      ]
    },
    {
      "type": "BUTTON",
      "sub_type": "URL",
      "index": 0,
      "parameters": [
        {
          "type": "TEXT",
          "text": "05425" // код, который будет скопирован
        }
      ]
    }
  ],
  "phone": "+556123122026"
}