Отправить Шаблонное Сообщение
Отправка шаблона в новый или существующий чат. Нужен только один параметр адресата - 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.
JWT tokentoken<token>- body
namespace*stringTemplate 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?integerTTL шаблона в секундах (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.
Пример ответа сервера
application/json- response
sent?booleanid?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"}