1MSG

Отправить Шаблонное Сообщение

POST
/sendTemplate

Отправка шаблона в новый или существующий чат. Нужен только один параметр адресата - chatId, phone или bsuid. В BSUID-centric режиме chatId может быть [email protected], bsuid@lid, [email protected] или username@username. Поле phone принимает телефон или BSUID; bsuid можно передать отдельным полем.

Используйте этот метод для отправки шаблонных сообщений (включая шаблоны Карусель/Каталог). Если метод из 24-часового окна (например, /sendCarousel) вернул ошибку из-за закрытого окна, отправьте шаблон через /sendTemplate.

Кириллические символы в URL файла не поддерживаются. Чтобы корректно передать и обработать ссылку с русским текстом, следует применять кодировку URL.

Примеры запросов находятся в payload (requestBody/examples). Доступные варианты:

  • обычный template
  • Media Carousel (Cloud API)
  • Catalog Carousel (product cards, Cloud API)
  • Catalog template (кнопка каталога)
  • Coupon Code template (Cloud API)
  • Limited-Time Offer template (Cloud API)
  • WhatsApp Flow template (Cloud API)

Опциональные поля MM Lite / TTL: useMMlite, messageActivitySharing, messageSendTtlSeconds. Готовность канала — GET /mmLiteStatus.

Order details (только Индия): в params кнопка с sub_type: order_details для оплаты/инвойса вне 24ч. См. также POST /sendOrderDetails.

Authorization

JWT token
querytoken<token>

Request Body

  1. body
namespace*string

Template namespace from GET /templates. Required when sending a template.

template*string

Имя шаблона

language*

Объект, содержащий поля "policy" и "code".

policy - сейчас поддерживается только значение "deterministic";

code - один из поддерживаемых языковых кодов

params?array<>

Массив локализируемых параметров, которые будут переданы в шаблон. Каждый параметр - это объект, который может содержать следующие поля:

type - раздел параметров - header, body, footer, button, carousel

parameters - переменные для раздела.

Каждая переменная - объект, который может осдержать следующие поля:

type - тип переменной: text, currency, date_time, image, document, video или product

video- нужно указать id (mediaId)

document

  • id (mediaId)

  • filename(необязательное поле)

image - объект, содержащий поле link (url изображения)

product - объект с catalog_id и product_retailer_id (для карточек каталога в карусели)

currency - объект, содержащий следующие поля: currency_code и amount_1000.

  • currency_code - Код валюты по классификации ISO 4217.

  • amount_1000 - Значение, умножаемое на 1000.

  • fallback_value - Текст по умолчанию, если не удалось осуществить перевод.

date_time - Если используется, то должен соответствовать следующему формату.

  • component - Даты формируется из компонентов (т.е., день недели, месяц, час и т.д.) Указанное время будет одинаковым, независимо от часового пояса, в котором находится клиент.

  • unix_epoch - Отображаемое время зависит от часового пояса клиента.

  • fallback_value - Текст по умолчанию, если не удалось осуществить перевод.

button - если в компоненте были параметры

  • sub_type подтип кнопки (url,catalog,copy_code)

  • parameters - массив для заполнения параметров кнопки (например обычный текстовый параметр)

  • index - порядовый номер.

coupon_code - для кнопок COPY_CODE используйте параметр с type coupon_code и значением coupon_code.

limited_time_offer - для шаблонов Limited-Time Offer:

  • parameters: [{type: limited_time_offer, limited_time_offer: {expiration_time_ms: }}]

  • Если limited_time_offer.has_expiration = true, добавьте parameters limited_time_offer и кнопку copy_code первой; кнопка URL обязательна.

cards - заполняется, если необходимо отправить шаблон Карусель

  • card_index - номер карточки

  • components - массив данных о карточке

    type -  header, body, footer, button parameters - переменные для раздела. sub_type - подтип для кнопок index - номер кнопки

Количество переданных параметров должно соответствовать количеству параметров шаблона

useMMlite?boolean

Принудительно использовать Marketing Messages API (POST marketing_messages). Если не указано — автоматически для категории MARKETING при mm_lite_enabled и mm_lite_available.

messageActivitySharing?boolean

Включает message_activity_sharing в payload WABA (вебхуки кликов). Требует путь MM Lite. Игнорируется при fallback на Cloud API.

messageSendTtlSeconds?integer

TTL шаблона в секундах (message_send_ttl_seconds). MARKETING через MM Lite: 43200–2592000. AUTHENTICATION: 30–900. UTILITY: 30–43200. Для AUTH/UTILITY также допускается -1 (кастомный TTL 30 дней).

chatId?string

Обязателен, если не указаны phone и bsuid

ID чата из списка сообщений. Примеры: [email protected], RU.1504711984690866@lid, username@username или [email protected] (группа). Используется вместо параметра phone.

phone?string

Обязателен, если не указаны chatId и bsuid

Идентификатор получателя. Принимает номер телефона с кодом страны или BSUID, например RU.1504711984690866.

Для chatId используйте полные ID чатов: [email protected], bsuid@lid, username@username или [email protected].

bsuid?string

Необязательная альтернатива phone/chatId

BSUID получателя без суффикса @lid. Пример: RU.1504711984690866.

Response Body

Пример ответа сервера

application/json
  1. response
sent?boolean
id?string

Уникальный идентификатор сообщения

message?string

Уведомление о статусе отправки сообщения

description?string

Комментарий к результату отправки

curl -X POST 'https://api.1msg.io/123/sendTemplate' \  -H 'Content-Type: application/json' \  -d '{  "template": "template_name",  "language": {    "policy": "deterministic",    "code": "en"  },  "namespace": "namespace_id",  "params": [    {      "type": "header",      "parameters": [        {          "type": "image",          "image": {            "link": "https://..."          }        }      ]    },    {      "type": "body",      "parameters": [        {          "type": "text",          "text": "test"        }      ]    }  ],  "phone": "556123122026"}'
{  "sent": true,  "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",  "message": "Sent to [email protected]",  "description": "Message has been sent to the provider"}