Перейти к основному содержимому

Компоненты шаблона | Документация для разработчиков

Компоненты шаблона

Обновлено: 21 ноября 2025 г
Шаблоны состоят из четырех основных компонентов, которые вы определяете при создании шаблона: заголовок, основная часть, нижний колонтитул и кнопки. Компоненты, которые вы выбираете для каждого из ваших шаблонов, должны основываться на потребностях вашего бизнеса. Единственным обязательным компонентом является основная часть.
Некоторые компоненты поддерживают переменные, значения которых можно указать при использовании Cloud API для отправки шаблона в сообщении шаблона. Если ваши шаблоны используют переменные, необходимо указать примеры значений переменных при создании шаблона.

Текстовый заголовок

Текстовые заголовки — это необязательные элементы, которые можно добавить в начало сообщений шаблона. Каждый шаблон может содержать только один текстовый заголовок. Обратите внимание, что специальные символы Markdown в этом компоненте не поддерживаются, поэтому мы рекомендуем избегать их использования.
Текстовые заголовки поддерживают 1 параметр .

Синтаксис создания


<!--
Нет
параметр
синтаксис
--> { "type": "header", "format": "text", "text": "<HEADER_TEXT> " }<!-- Named parameter syntax --> { "type": "header", "format": "text", "text": "<HEADER_TEXT> ", "пример": { "header_text_named_params": [ { "param_name": "<NAMED_PARAMETER_NAME> ", "пример": "<PARAMETER_EXAMPLE_VALUE> " } ] } }<!-- Positional parameter syntax --> { "type": "header", "format": "text", "text": "<HEADER_TEXT> ", "пример": { "header_text": [ "<PARAMETER_EXAMPLE_VALUE> " ] } }

Параметры создания

Заполнитель Описание Пример значения
<HEADER_TEXT>
Нить
Необходимый.
Строка текста заголовка и тела документа. Поддерживает 1 параметр .
Если эта строка содержит параметр, необходимо указать пример свойства и пример значения параметра.
Максимум 60 символов.
Наша новая распродажа начинается {{sale_start_date}}!
<NAMED_PARAMETER_NAME>
Нить
Обязательно, если используется именованный параметр.
{{дата_начала_продажи}}
<PARAMETER_EXAMPLE_VALUE>
Нить
Обязательно, если используется параметр.
Пример значения параметра
1 декабря

Пример создания

В этом примере используется 1 именованный параметр.

{
"тип":
"ЗАГОЛОВОК",
"формат":
"TEXT", "text": "Наша новая распродажа начинается {{sale_start_date}}!", "example": { "header_text_named_params": [ { "param_name": "sale_start_date", "example": "1 декабря" } ] } }

медиа-заголовок

В качестве заголовка медиафайла может использоваться изображение, видео, GIF-файл или документ, например, PDF. Все медиафайлы должны загружаться с использованием API возобновляемой загрузки . Синтаксис определения заголовка медиафайла одинаков для всех типов медиафайлов.
Примечание: GIF-файлы в настоящее время доступны только для API маркетинговых сообщений WhatsApp . GIF-файлы представляют собой файлы mp4 максимальным размером 3,5 МБ; файлы большего размера будут отображаться как видеосообщения.

Синтаксис создания


{
"тип":
"ЗАГОЛОВОК",
"формат":
"<FORMAT> ", "пример": { "header_handle": [ "<HEADER_HANDLE> " ] } }

Параметры создания

Заполнитель Описание Пример значения
<FORMAT>
Указывает тип медиафайла. Установите значение IMAGE , VIDEO , GIF или DOCUMENT .
ИЗОБРАЖЕНИЕ
<HEADER_HANDLE>
Идентификатор загруженного медиафайла. Используйте API возобновляемой загрузки для генерации идентификатора файла.
4::aW...

Пример создания


{
"тип":
"ЗАГОЛОВОК",
"формат":
"IMAGE", "example": { "header_handle": [ "4::aW..." ] } }

Заголовок местоположения

Заголовки с указанием местоположения отображаются в виде стандартных карт в верхней части шаблона и полезны для отслеживания заказов, обновлений о доставке, определения места посадки/высадки пассажиров такси, поиска физических магазинов и т. д. При нажатии на них приложение запускается пользователь'пользователь'В этом случае откроется и загрузится указанное местоположение, выбранное по умолчанию. Местоположение указывается при отправке шаблона.
Заголовки с указанием местоположения можно использовать только в шаблонах, отнесенных к категориям «Утилиты» или «Маркетинг» . Указание местоположения в режиме реального времени не поддерживается.

Синтаксис создания


{
"тип":
"заголовок",
"формат":
"расположение" }

Параметры создания

Никто.

Пример создания


{
"тип":
"заголовок",
"формат":
"расположение" }

Отправить синтаксис


{
"тип":
"заголовок",
"параметры":
[ { "type": "location", "location": { "latitude": "<LOCATION_LATITUDE> ", "долгота": "<LOCATION_LONGITUDE> ", "имя": "<LOCATION_NAME> ", "адрес": "<LOCATION_ADDRESS> " } } ] }

Отправить параметры

Заполнитель Описание Пример значения
<LOCATION_ADDRESS>
Адрес местоположения.
101 Forest Ave, Пало-Альто, Калифорния 94301
<LOCATION_LATITUDE>
Координаты местоположения (широта) в десятичных градусах.
37.44211676562361
<LOCATION_LONGITUDE>
Координаты местоположения (долгота) в десятичных градусах.
122.16155960083124
<LOCATION_NAME>
Название местоположения.
Philz Coffee

Отправить пример


{
"тип":
"заголовок",
"параметры":
[ { "type": "location", "location": { "latitude": "37.44211676562361", "longitude": "-122.16155960083124", "name": "Philz Coffee", "address": "101 Forest Ave, Palo Alto, CA 94301" } } ] }

Тело

Компонент body представляет собой основной текст вашего шаблона сообщения и является текстовым компонентом шаблона. Шаблоны могут содержать только один компонент body.
Текст сообщения в компоненте body принимает несколько параметров .

Синтаксис создания


<!--
Нет
параметры
синтаксис
--> { "type": "body", "text": "<BODY_TEXT> " }<!-- Named parameters syntax --> { "type": "body", "text": "<BODY_TEXT> ", "пример": { "body_text_named_params": [ { "param_name": "<NAMED_PARAMETER_NAME> ", "пример": "<PARAMETER_EXAMPLE_VALUE> " }<!-- Additional named parameters go here, if using --> ] } }<!-- Positional parameters syntax --> { "type": "body", "text": "<BODY_TEXT> ", "пример": { "body_text": [ "<PARAMETER_EXAMPLE_VALUE> "<!-- Additional positional parameters go here, if using --> ] } }

Параметры создания

Заполнитель Описание Пример значения
<BODY_TEXT>
Нить
Необходимый.
Текст тела сообщения. Поддерживает несколько параметров .
Максимальное количество символов — 1024.
Спасибо, {{first_name}}! Номер вашего заказа: {{order_number}}.
<NAMED_PARAMETER_NAME>
Нить
Обязательно, если используется именованный параметр.
{{номер заказа}}
<PARAMETER_EXAMPLE_VALUE>
Нить
Обязательно, если используется параметр.
Пример значения параметра
1 декабря

Пример создания


{
"тип":
Если шаблон содержит более трех кнопок, в отправленном сообщении отобразятся две кнопки, а оставшиеся будут заменены кнопкой « Посмотреть все варианты» . Нажатие на Посмотреть все варианты» отобразит оставшиеся кнопки.

Кнопки копирования кода

Кнопки копирования кода копируют текстовую строку (определенную при отправке шаблона в сообщении-шаблоне) в устройство'устройство'Код скопируется в буфер обмена при нажатии пользователем приложения. Шаблоны ограничены одной кнопкой копирования кода.
Синтаксис
{
"type": "COPY_CODE", "example": "<EXAMPLE> " }
Характеристики
Заполнитель Описание Пример значения
<EXAMPLE>
Строка, которую нужно скопировать в устройство'устройство'Содержимое буфера обмена срабатывает при нажатии пользователем приложения.

Максимум 15 символов.
250FF
Пример
{
"type": "COPY_CODE", "example": "250FF" }

Кнопки для сообщений, содержащих несколько товаров

Кнопки для отображения нескольких товаров — это специальные, не настраиваемые кнопки, при нажатии на которые в одном сообщении отображается до 30 товаров из вашего каталога электронной коммерции, сгруппированных в 10 разделов. См. Шаблоны сообщений для отображения нескольких товаров .

Кнопки одноразовых паролей

Кнопки для ввода одноразового пароля — это особый тип URL- компонента, используемый с шаблонами аутентификации. См. Шаблоны аутентификации .

кнопки голосового вызова

Кнопки голосового вызова позволяют пользователю приложения совершить звонок в WhatsApp компании. Подробнее см. «Создание и отправка шаблона сообщения с кнопкой вызова WhatsApp».

кнопки с номерами телефонов

Кнопки с номером телефона при нажатии пользователем приложения осуществляют звонок на указанный номер телефона компании. Шаблоны ограничены одной кнопкой с номером телефона.
Синтаксис
{
"type": "PHONE_NUMBER", "text": "<TEXT> ", "номер телефона": "<PHONE_NUMBER> " }
Характеристики
Заполнитель Описание Пример значения
<PHONE_NUMBER>
Буквенно-цифровая строка. Номер телефона компании, по которому будет совершен звонок при нажатии пользователем кнопки.
Обратите внимание, что в некоторых странах используются специальные телефонные номера, в начале которых после кода страны стоят нули (например, +55-0-955-585-95436). Если вы назначите кнопке один из таких номеров, ведущий ноль будет удален. Если ваш номер не будет работать без ведущего нуля, назначьте кнопке другой номер или добавьте номер в текст сообщения.
Максимум 20 символов.
15550051310
<TEXT>
Текст надписи на кнопке.

Максимум 25 символов.
Вызов
Пример
{
"type": "PHONE_NUMBER", "text": "Call", "phone_number": "15550051310" }

Кнопки быстрого ответа

Кнопки быстрого ответа — это настраиваемые текстовые кнопки, которые при нажатии пользователем приложения немедленно отправляют вам указанную текстовую строку. Типичный пример использования — кнопка, позволяющая клиенту легко отказаться от получения любых маркетинговых сообщений.
В шаблонах допускается не более 10 кнопок быстрого ответа. При использовании кнопок быстрого ответа совместно с другими кнопками, кнопки должны быть разделены на две группы: кнопки быстрого ответа и кнопки, не являющиеся кнопками быстрого ответа. В случае неправильной группировки API вернет ошибку, указывающую на недопустимую комбинацию.
Примеры допустимых группировок:
    Быстрый ответ, быстрый ответБыстрый ответ, Быстрый ответ, URL, ТелефонURL, Телефон, Быстрый ответ, Быстрый ответ
    Примеры недопустимых группировок:
      Быстрый ответ, URL, Быстрый ответURL, Быстрый ответ, URL
      При использовании API для отправки шаблона, содержащего несколько кнопок быстрого ответа, вы можете использовать свойство index, чтобы указать порядок отображения кнопок в сообщении шаблона.
      Синтаксис
      {
      "type": "QUICK_REPLY", "text": "<TEXT> " }
      Характеристики
      Заполнитель Описание Пример значения
      <TEXT>
      Текст надписи на кнопке.

      Максимум 25 символов.
      Отписаться
      Пример
      {
      "type": "QUICK_REPLY", "text": "Отписаться от рекламных акций" }

      кнопки SPM

      Кнопки для отображения информации об одном товаре (SPM) — это специальные, не настраиваемые кнопки, которые можно сопоставить с товаром в вашем каталоге. При нажатии на них загружается подробная информация о товаре, которая берется из вашего каталога. Затем пользователи могут добавить товар в корзину и оформить заказ. См. Шаблоны для отображения информации об одном товаре и Шаблоны карусели карточек товаров .

      URL-кнопки

      Кнопки URL загружают указанный URL-адрес устройство'устройство'При нажатии пользователем приложения кнопка будет отображаться в браузере по умолчанию. Шаблоны ограничены двумя кнопками с URL-адресами.
      Синтаксис
      {
      "type": "URL", "text": "<TEXT> ", "url": "<URL> ", # Требуется, если<URL> содержит переменную "example": [ "<EXAMPLE> " ] }
      Характеристики
      Заполнитель Описание Пример значения
      <EXAMPLE>
      URL веб-сайта. Поддерживает 1 переменную.

      Если используется переменная, добавьте пример свойства переменной в конец строки URL. URL-адрес загрузится в.. устройство'устройство'В тот момент, когда клиент нажимает кнопку, браузер по умолчанию на мобильном устройстве отображается в браузере.

      Максимум 2000 символов.
      https://www.luckyshrub.com/shop?promo=summer2023
      <TEXT>
      Текст надписи на кнопке. Максимум 25 символов.
      Купить сейчас
      <URL>
      URL веб-сайта, который загружается в устройство'устройство'В этом случае кнопка будет отображаться в мобильном веб-браузере по умолчанию при нажатии пользователем приложения.

      Поддерживается 1 переменная, добавляемая в конец строки URL.

      Максимум 2000 символов.
      https://www.luckyshrub.com/shop?promo={{1}}
      Пример
      {
      "type": "URL", "text": "Shop Now", "url": "https://www.luckyshrub.com/shop?promo={{1}}", "example": [ "summer2023" ] }

      Предложение ограничено по времени

      Компоненты «Ограниченное по времени предложение» — это специальные компоненты, используемые для создания шаблонов ограниченных по времени предложений .

      Примеры запросов

      Сезонная акция

      Пример запроса на создание маркетингового шаблона со следующими компонентами:
        текстовый заголовок с переменной и примером значениятекстовый блок с переменными и примерами значенийнижний колонтитул текстадве кнопки быстрого ответа
        локон -Л 'https://graph.facebook.com/v25.0/102290129340398/message_templates' \
        -ЧАС «Авторизация: Предъявитель EAAJB...» \
        -ЧАС 'Content-Type: application/json' \
        -д ' { "name": "seasonal_promotion", "language": "en_US", "category": "MARKETING", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Наша акция {{1}} началась!", "example": { "header_text": [ "Летняя распродажа" ] } }, { "type": "BODY", "text": "Покупайте сейчас через {{1}} и используйте код {{2}}, чтобы получить скидку {{3}} на все товары."", "example": { "body_text": [ [ "конец августа","25OFF","25%" ] ] } }, { "type": "FOOTER", "text": "Используйте кнопки ниже для управления вашими маркетинговыми подписками" }, { "type":"BUTTONS", "buttons": [ { "type": "QUICK_REPLY", "text": "Отписаться из рекламных акций" }, { "type":"БЫСТРЫЙ ОТВЕТ", "text": "Отписаться от всех" } ] } ] }'

        Подтверждение заказа

        Пример запроса на создание шаблона утилиты со следующими компонентами:
          заголовок документа с примером значениятекстовый блок с переменными и примерами значенийкнопка с номером телефонакнопка URL
          curl -L 'https://graph.facebook.com/v16.0/102290129340398/message_templates' \ -H 'Authorization: Bearer EAAJB...' \ -H 'Content-Type: application/json' \ -d ' { "name": "order_confirmation", "language": "en_US", "category": "UTILITY", "components": [ { "type": "HEADER", "format": "DOCUMENT", "example": { "header_handle": [ "4::YX..." ] } }, { "type": "BODY", "text": "Спасибо за ваш заказ, {{1}}! Номер вашего заказа: {{2}}. Нажмите на ссылку PDF выше, чтобы просмотреть квитанцию. Если у вас возникнут вопросы, пожалуйста, воспользуйтесь кнопками ниже, чтобы связаться со службой поддержки. Спасибо, что вы наш клиент!", "example": { "body_text": [ [ "Pablo","860198-230332" ] ] } }, { "type": "BUTTONS", "buttons": [ { "type": "PHONE_NUMBER", "text": "Call", "phone_number": "15550051310" }, { "type": "URL", "text": "Contact Support", "url": "https://www.luckyshrub.com/support" } ] } ] }'

          Обновление информации о доставке заказа

          Пример запроса на создание шаблона утилиты со следующими компонентами:
            заголовок местоположениятекстовый блок с переменными и примерами значенийнижний колонтитулкнопка быстрого ответа
            локон 'https://graph.facebook.com/v25.0/102290129340398/message_templates' \
            -ЧАС 'Content-Type: application/json' \
            -ЧАС «Авторизация: Предъявитель EAAJB...» \
            -д ' { "name": "order_delivery_update", "language": "en_US", "category": "UTILITY", "components": [ { "type": "HEADER", "format": "LOCATION" }, { "type": "BODY", "text": "Хорошие новости {{1}}! Ваш заказ №{{2}} отправлен по указанному выше адресу. Спасибо за ваш заказ!", "example": { "body_text": [ [ "Mark", "566701" ] ] } }, { "type": "FOOTER", "text": "Чтобы прекратить получать уведомления о доставке, нажмите кнопку ниже." }, { "type":"BUTTONS", "buttons": [ { "type": "QUICK_REPLY", "text": "Stop Delivery Updates" } ] } ] }'

            Вебхуки

            Подпишитесь на message_template_components_update Поле веб-перехватчика для получения уведомлений об изменениях в компонентах шаблона.