Шаблоны WABA — создание и отправка шаблона
Создание шаблона
Создание шаблона описано в документации API в методе /addTemplate.
Вы также можете создать шаблон через раздел в личном кабинете "Кабинет разработчика" → "Тестирование запросов".
Общая часть запроса:
name
Название шаблона. name может содержать только строчные латинские буквы, цифры и символ подчеркивания.
allow_category_change
Флажок "Разрешить изменение категории". Вместо отклонения шаблона мы изменим его тип категории автоматически.
category
Тип шаблона: маркетинг (MARKETING), услуга (UTILITY) или аутентификация (AUTHENTICATION)
language
Язык шаблона. Выбранный язык должен совпадать с текстом внутри создаваемого шаблона, иначе шаблон Meta может отклонить.
components
Массив компонентов Шаблона
Пример:
{
"token": "{{token}}",
"name": "test_marketing_2024",
"allow_category_change": false,
"category": "MARKETING",
"language": "ru",
"components": [
//тут объекты тела шаблона
]
}Рассмотрим далее структуру категории шаблонов.
Шаблоны Маркетинг и Услуги

HEADER
Правила заполнения заголовка
Заголовок необязателен к заполнению
Можно выбрать только один из типов:
TEXT,IMAGE,VIDEOилиDOCUMENT
Далее в нижней таблице опишем каждый тип.
Укажите "format": "TEXT", чтобы определить заголовок в виде текста. Сам текст заполняется в свойстве "text ".
Правила заполнения текстового заголовка:
text - может содержать до 60 символов.
В text можно добавить только одну переменную.
Если заголовок имеет переменную, то обязательно нужно указывать пример example в header_text.
Пример текста без переменной:
Пример текста с переменной:
Укажите "format": "IMAGE", чтобы в заголовке вывести изображение. Обязательно выводить объект "example" с указанием ссылки на картинку в "header_handle".
Укажите "format": "VIDEO", чтобы в заголовке вывести видео. Обязательно выводить объект "example" с указанием ссылки на видео в "header_handle".
Укажите "format": "DOCUMENT", чтобы в заголовке вывести документ. Обязательно выводить объект "example" с указанием ссылки на документ в "header_handle".
BODY
Тело сообщения представляет собой только текстовые компоненты и необходим для всех шаблонов. Шаблон ограничен одним компонентом BODY.
Правила заполнения BODY:
Обязателен для заполнения.
text - может содержать до 1024 символов.
Если есть переменные в text, то необходимо обязательно указать примеры переменных в
"example"в массив"body_text". Количество строк внутриbody_textдолжно соответствовать количеству переменных, включенных в строку text.от Meta нет ограничений на количество переменных.
Нельзя указывать в тексте только переменную, т.е. Meta не примет формат текста "text": "{{1}}"
FOOTER
Футер или нижний колонтитул — необязательный для заполнения текст, который появляются ниже основного сообщения. Не поддерживает переменные, вмещает до 60 символов.
BUTTONS
Кнопки — это интерактивные компоненты, которые при нажатии выполняют определенные действия. Шаблоны могут содержать до 10 кнопок, но есть ограничения на использование определенных типов кнопок, а также ограничения на комбинации.
Какие бывают кнопки:
Кнопка быстрого ответа.
Текстовая кнопка, при клике на которую сразу отправляется в чат с вами ответ с текстом, повторяющим текст кнопки. Текст кнопки можно писать любой.
Кнопка с ссылкой.
Кнопка при клике ведет на url, который вы укажите. Ссылка может быть полностью статичной либо содержать переменную. Если вы указываете переменную, то она обязательно должна быть в конце url-ссылки. URL-ссылка не поддерживает кириллицу, но текст самой кнопки - поддерживает.
Кнопка с номером телефона.
При нажатии производится вызов на указанный номер телефона.
Кнопка каталог (доступен только в категории Маркетинг).
Кнопка, при клике на которую открывается ваш каталог. Ваш клиент сможет сделать заказ, список отправленных товаров или услуг появится у вас в чате.
Кнопка с ссылками и номером телефона при клике не отправляет ответ в чат, как это делает кнопка быстрого ответа.
Ограничение на количество:
Максимальное количество кнопок типа Quick Reply - 10 кнопок.
Максимальное количество кнопок типа URL - 2 кнопки.
Максимальное количество кнопок типа Phone - 1 кнопка.
В шаблоне "Каталог" можно использовать только одну кнопку - кнопку каталога.
Всего в шаблоне может быть не более 10 кнопок.
Комбинации описаны ниже:
Quick Reply, Quick Reply, Quick Reply
Quick Reply, Quick Reply, Quick Reply, URL, Phone
URL, Phone, Quick Reply, Quick Reply
Quick Reply, URL, Quick Reply
URL, Quick Reply, URL
Как видно, необходимо учитывать последовательность ввода типа кнопок и допустимое количество. Т.е. нельзя добавить кнопку Quick Reply в начале, потом добавить кнопку URL и снова Quick Reply.
Кнопка быстрого ответа - текстовая кнопка, при клике на которую сразу отправляется в чат с вами ответ с текстом, повторяющим текст кнопки. Текст кнопки можно писать любой. Максимальное количество символов - 25.
Свойство "text" - текст на кнопке. Максимальное количество символов - 25.
Свойство "url" может быть полностью статичной либо содержать одну переменную. Если вы указываете переменную, то она обязательно должна быть в конце url-ссылки. Максимальное количество символов - 2000.
Свойство "url" не поддерживает кириллицу.
Если указываете переменную, обязательно нужно указать пример в "example".
phone_number - номер рабочего телефона, на который будет совершен звонок, когда пользователь нажимает кнопку. Максимальное количество символов - 20.
text - текст на кнопке. Максимальное количество символов - 25.
phone_number и text - обязательны для заполнения.
В шаблоне "Каталог" можно добавить только одну кнопку. В "text" обязательно необходимо писать "View catalog". В зависимости от языка шаблона текст кнопки будет переводиться на указанный язык.
Полный пример создания маркетингового шаблона
Пример запроса на создание маркетингового шаблона со следующими компонентами:
текстовый заголовок с переменной и примером значения
текстовое тело с переменными и примерами значений
текстовый нижний колонтитул
две кнопки быстрого ответа
Шаблон Аутентификации

Шаблон аутентификации должен включать обязательно BODY и BUTTONS. Кнопки могут быть двух видов: кнопка копирования кода либо кнопка автозаполнения в одно касание.
Текст в BODY фиксирован от Meta, не заполняйте свойство "text".
Язык текста, отображаемый у пользователя, зависит от выбранного языка шаблона.
Если хотите добавить текст "Из соображений безопасности не сообщайте код никому" , выставьте "add_security_recommendation": true. Установите значение false, чтобы исключить строку.
FOOTER не обязателен к заполнению .
В footer можно добавить текст о времени истечения кода в минутах. Для этого укажите целое число в "code_expiration_minutes". Можно указать минуты от 1 до 90.
Если этот параметр опущен, предупреждение об истечении срока действия кода не будет отображаться в доставленном сообщении
Шаблоны аутентификации должны включать либо кнопку копирования кода, либо кнопку автозаполнения в одно касание. У данных кнопок "type": "OTP"
Свойство "otp_type" - указывает тип кнопки. Установите значение COPY_CODE, если вы хотите, чтобы в шаблоне использовалась кнопка копирования кода, или ONE_TAP, чтобы он использовал кнопку автозаполнения одним нажатием.
Можно указать только одну кнопку.
Свойство "text" обязателен для заполнения и для типа COPY_CODE и для ONE_TAP. Если по какой то причине Meta не сможет завалидировать кнопку в одно касание, отправит кнопку с типом COPY_CODE. Максимальное количество символов - 25.
Для типа ONE_TAP нужно заполнить еще следующие поля:
autofill_text - текст на кнопке одним касанием. Максимум 25 символов.
package_name - название пакета вашего Android-приложения
signature_hash - хэш ключа подписи вашего приложения.
Пример кнопки копирования кода:
Пример кнопки автозаполнения в одно касание:
Отправка шаблона
Отправка шаблона описана в документации API в методе /sendTemplate.
Вы также можете отправить шаблон через раздел в личном кабинете "Кабинет разработчика" →"Тестирование запросов". Чтобы отправить шаблон, необходимо знать namespace, name и language шаблона. Чтобы получить эти данные, вызовите метод "Получить список шаблонов" (/templates).
Некоторые свойства, которые могут вызвать вопросы в методе /sendTemplate.
Свойства
Описание
template
Это name шаблона
language
policy: записывайте deterministiс
code: код language из метода /templates
Объект с type "body"
Текстовое сообщение. Можно опустить, если в тексте нет переменных.
Объект с type "button"
Вам нужно указывать в теле только кнопки с sub_type "url" либо "catalog". Остальные типы кнопок при отправке шаблона можно опустить.
Положение кнопок для каждой карточки в шаблоне "Карусель" должно быть одинаково
Отправить шаблоны Маркетинга или Услуги
В запросах нужно отправлять только те объекты, которые указаны в созданном шаблоне. Например, если в шаблоне изначально нет объекта header, то и указывать его при отправке не надо. А также опускаются объекты, если:
Объект header с типом
textбез переменной;Body без переменной;
Кнопки быстрого ответа и Кнопка с номером опускаются всегда;
URL-кнопка без переменной.
В header с типом IMAGE, VIDEO, DOCUMENT всегда указывается полная ссылка на медиа-документ. Обратите внимание, что ссылка на медиа-документ должна содержать формат документа.
Пример отправки Документа с URL кнопкой
Структура:
Заголовок содержит документ
тело сообщения содержит 2 переменные
Две URL-кнопки, вторая URL кнопка содержит переменную.
Если URL-кнопка не имеет переменной, опускайте ее из запроса. Например, в этом запросе первая URL-кнопка c индексом 0 пропущена, а вторая - выведена. Обратите также внимание, что индекс второй кнопки уже 1.
Пример отправки Текстового заголовка со всеми типами кнопок
Структура:
Текстовый заголовок с одной переменной
Тело сообщения не содержит переменной. Поэтому в запросе опущен.
4 кнопки. Первая кнопка - быстрый ответ, вторая кнопка - звонок, третья кнопка - URL-кнопка с переменной, четвертая кнопка - URL-кнопка без переменной.
Отправить шаблон Аутентификации
Last updated