Вспомогательные шаблоны | Документация для разработчиков
Вспомогательные шаблоны
Обновлено: 14 ноября 2025 г
В этом документе описывается, как создавать и отправлять шаблоны служебных файлов.
Вспомогательные шаблоны обычно отправляются в ответ на действие или запрос пользователя, например, подтверждение заказа или обновление информации.

Вспомогательные шаблоны имеют строгие требования к содержанию, особенно в отношении маркетинговых материалов. Если вы попытаетесь создать или обновить вспомогательный шаблон, добавив в него маркетинговые материалы, шаблон автоматически будет переклассифицирован как маркетинговый шаблон.
см. в нашей по категоризации шаблонов Рекомендации по классификации контента
Поддерживаемые компоненты
Вспомогательные шаблоны поддерживают следующие компоненты:
Создайте шаблон утилиты
Синтаксис запроса
Используйте
POST/ Конечная точка для создания шаблона утилиты.curl 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-d '
{
"name": "<TEMPLATE_NAME>",
"language": "<TEMPLATE_LANGUAGE>",
"category": "utility",
"parameter_format": "<PARAMETER_FORMAT>",
"components": [
<!-- header component optional -->
{
"type": "header",
"format": "<HEADER_TYPE>",
"example": {
"header_handle": [
"<HEADER_HANDLE>"
]
}
},
<!-- body component required -->
{
"type": "body",
"text": "<BODY_TEXT>",
<!-- example required if <BODY_TEXT> contains one или больше параметров -->
"example": {
"body_text_named_params": [
{
"param_name": "<PARAMETER_NAME>",
"example": "<PARAMETER_EXAMPLE_VALUE>"
},
<!-- additional parameters would follow, if using несколько параметров -->
]
}
},
<!-- footer component optional -->
{
"type": "footer",
"text": "<FOOTER_TEXT>"
},
<!-- button components optional -->
{
"type": "buttons",
"buttons": [
{
"type": "url",
"text": "<URL_BUTTON_LABEL_TEXT>",
"url": "<URL>"
},
{
"type": "phone_number",
"text": "<PHONE_BUTTON_LABEL_TEXT>",
"phone_number": "<PHONE_NUMBER>"
},
{
"type": "quick_reply",
"text": "<QUICK_REPLY_BUTTON_LABEL_TEXT>"
}
]
}
]
}'
Параметры запроса
| Заполнитель | Описание | Пример значения |
|---|---|---|
<ACCESS_TOKEN>Нить | Необходимый. | |
<API_VERSION>Нить | Необязательный. Версия Graph API. | v25.0 |
<BODY_TEXT>Нить | Необходимый. Шаблон основного текста. Поддерживаются переменные. Максимальное количество символов: 1024. | |
<FOOTER_TEXT>Нить | Необязательный. Шаблон текста нижнего колонтитула. Поддерживаются переменные Максимум 60 символов. | Закусочная Lucky Shrub: Самая удачливая закусочная в городе! |
<HEADER_ASSET_HANDLE>Нить | Обязательно, если используется заголовок с медиафайлом. Идентификатор ресурса примера медиафайла, загруженного в ваш аккаунт WhatsApp Business. Максимум 60 символов. | |
<HEADER_TYPE>Нить | Обязательно, если используется заголовок. Формат заголовка. Возможные значения: | изображение |
<PARAMETER_EXAMPLE_VALUE>Нить | Обязательно, если используется строковый компонент тела документа, содержащий один или несколько параметров. Пример значения параметра. Необходимо указать пример для каждого параметра, определенного в строке компонента тела документа. | Суббота |
<PARAMETER_NAME>Нить | Обязательно при использовании именованных параметров. Это должна быть уникальная строка, состоящая из строчных букв и символов подчеркивания, заключенная в двойные фигурные скобки. | {{день}} |
<PHONE_BUTTON_LABEL_TEXT>Нить | Обязательно при использовании кнопки с номером телефона. Текст надписи на кнопке. Максимум 25 символов. Только буквенно-цифровые символы. | Изменить бронирование |
<PHONE_NUMBER>Нить | Обязательно, если используется компонент кнопки с номером телефона. Рабочий номер телефона, на который будет набран телефонный номер пользователя WhatsApp по умолчанию при нажатии пользователем. Обратите внимание, что в некоторых странах используются специальные телефонные номера, в начале которых после кода страны добавляются нули (например, +55-0-955-585-95436). Если вы назначите кнопке один из таких номеров, ведущий ноль будет удален. Если ваш номер не будет работать без ведущего нуля, назначьте кнопке другой номер или добавьте номер в качестве сообщения Максимум 20 символов. Только буквенно-цифровые символы. | 15550051310 |
<QUICK_REPLY_BUTTON_LABEL_TEXT> | Обязательно при использовании кнопки быстрого ответа. Текст надписи на кнопке. Максимум 25 символов. Только буквенно-цифровые символы. | Отменить бронирование |
<TEMPLATE_LANGUAGE>Нить | Необходимый. | en_US |
<TEMPLATE_NAME>Нить | Необходимый. Название шаблона. Должно быть уникальным, за исключением случаев, когда существующие шаблоны с тем же именем имеют другой язык программирования. Максимум 512 символов. Только строчные буквы, буквы и цифры, а также символы подчеркивания. | подтверждение бронирования |
<URL>Нить | Обязательно, если добавляется кнопка с URL-адресом. URL-адрес, который будет загружен в веб-браузере пользователя WhatsApp по умолчанию при нажатии. | https://www.luckyshrubeater.com/reservations |
<URL_BUTTON_LABEL_TEXT>Нить | Обязательно, если используется кнопка с URL-адресом. Текст надписи на кнопке. Максимум 25 символов. Только буквенно-цифровые символы. | Изменить бронирование |
<WHATSAPP_BUSINESS_ACCOUNT_ID> | Необходимый. Идентификатор бизнес-аккаунта WhatsApp. | 546151681022936 |
Синтаксис ответа
В случае успеха:
{
"id": "<TEMPLATE_ID>",
"status": "<TEMPLATE_STATUS>",
"category": "<TEMPLATE_CATEGORY>"
}
Параметры отклика
| Заполнитель | Описание | Пример значения |
|---|---|---|
<TEMPLATE_CATEGORY> | КОММУНАЛЬНЫЕ УСЛУГИ | |
<TEMPLATE_ID> | Идентификатор шаблона. | 546151681022936 |
<TEMPLATE_STATUS> | В ОЖИДАНИИ |
Пример запроса
В этом примере запроса создается шаблон утилиты, содержащий:
curl 'https://graph.facebook.com/v23.0/102290129340398/message_templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"name": "reservation_confirmation",
"language": "en_US",
"category": "utility",
"parameter_format": "named",
"components": [
{
"type": "header",
"format": "image",
"example": {
"header_handle": [
"4::aW..."
]
}
},
{
"type": "body",
"text": "*Вы готовы!*\n\nВаше бронирование для {{numbeпосещение ресторана Lucky Shrub Eatery в {{day}}, {{date}}, в {{time}}. До встречи!,
"example": {
"body_text_named_params": [
{
"param_name": "number_of_guests",
"example": "4"
},
{
"param_name": "day",
"example": "Saturday"
},
{
"param_name": "date",
"example": "August 30th, 2025"
},
{
"param_name": "time",
"example": "7:30 pm"
}
]
}
},
{
"type": "footer",
"text": "Lucky Shrub Eatery: The Luckiest Eatery in Town!"
},
{
"type": "buttons",
"buttons": [
{
"type": "url",
"text": "Изменить бронирование",
"url": "https://www.luckyshrubeater.com/reservations"
},
{
"type": "phone_number",
"text": "Позвоните нам",
"phone_number": "+15550051310"
},
{
"type": "quick_reply",
"text": "Отменить бронирование"
}
]
}
]
}'
Пример ответа
{
"id": "546151681022936",
"status": "PENDING",
"category": "UTILITY"
}
Отправить шаблон служебной программы
Синтаксис запроса
Используйте
POST/ Конечная точка для отправки утвержденного шаблона служебной программы в сообщении-шаблоне.curl 'https://graph.facebook.com/'ESSS_PHONE_NUMBER_ID>/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": ",
"type": "template",
"template": {
"name": ",
"language": {
"code": "
},
"компоненты": [
<!-- Only required if the template uses a meкомпонент заголовка dia -->
{
"type": "header",
"parameters": [
{
"type": ",
": {
"идентификатор": "
}
}
]
},
<!-- Only required if the template uses body параметры компонента -->
{
"type": "body",
"parameters": [
{
"type": ",
"parameter_name": ",
"текст": "
},
<!-- Additional parameters values would следовать, если необходимо -->
]
}
]
}
}'
Параметры запроса
| Заполнитель | Описание | Пример значения |
|---|---|---|
<ACCESS_TOKEN>Нить | Необходимый. | |
<API_VERSION>Нить | Необязательный Версия API. Если этот параметр опущен, по умолчанию используется самая новая версия API, доступная для вашего приложения. | v25.0 |
<MEDIA_HEADER_ASSET_ID>Нить | Обязательно, если шаблон использует компонент заголовка медиафайлов. | 2871834006348767 |
<MEDIA_HEADER_TYPE>Нить | Обязательно, если шаблон использует компонент заголовка медиафайлов. Тип заголовка медиафайла. Возможные значения: Обратите внимание, что этот заполнитель встречается дважды в синтаксисе запроса, приведенном выше. | изображение |
<NAMED_PARAM_NAME> | Обязательно, если шаблон использует параметры компонента тела. Имя параметра, определенное в текстовой строке компонента тела шаблона. | количество_гостей |
<NAMED_PARAM_TYPE> | Обязательно, если шаблон использует параметры компонента тела. Тип параметра. Установите значение «текст». | текст |
<NAMED_PARAM_VALUE> | Обязательно, если шаблон использует параметры компонента тела. Значение параметра. | 4 |
<TEMPLATE_LANGUAGE>Нить | Необходимый. | en_US |
<TEMPLATE_NAME>Нить | Необходимый. Название шаблона. Должно быть уникальным, за исключением случаев, когда существующие шаблоны с тем же именем имеют другой язык программирования. Максимум 512 символов. Только строчные буквы, буквы и цифры, а также символы подчеркивания. | подтверждение бронирования |
<WHATSAPP_BUSINESS_ACCOUNT_ID> | Необходимый. Идентификатор бизнес-аккаунта WhatsApp. | 546151681022936 |
<WHATSAPP_USER_PHONE_NUMBER> | Необходимый. Номер телефона пользователя WhatsApp. | 16505551234 |
Синтаксис ответа
В случае успеха:
{
"messaging_product": "whatsapp",
"contacts": [
{
"input": ",
"wa_id": "
}
],
"messages": [
{
"id": ",
"message_status": "
}
]
}
Параметры отклика
| Заполнитель | Описание | Пример значения |
|---|---|---|
<PACING_STATUS> | темпа выполнения шаблона Статус | принял |
<WHATSAPP_MESSAGE_ID> | Идентификатор сообщения WhatsApp. Этот идентификатор включается в сообщений для целей отслеживания доставки. | wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJBRkJENzExMTRFRjk2NTI1OTEA |
<WHATSAPP_USER_ID> | Идентификатор пользователя WhatsApp. Может не совпадать с введенным значением. | 16505551234 |
<WHATSAPP_USER_PHONE_NUMBER> | Номер телефона пользователя WhatsApp. Может не совпадать со значением wa_id. | 16505551234 |
Пример запроса
Это пример запроса, который отправляет шаблон, созданный в приведенном выше примере запроса на создание шаблона.
curl 'https://graph.facebook.com/v23.0/106540352242922/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "16505551234",
"type": "template",
"template": {
"name": "reservation_confirmation",
"language": {
"code": "en_US"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"id": "2871834006348767"
}
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"parameter_name": "number_of_guests",
"text": "4"
},
{
"type": "text",
"parameter_name": "day",
"text": "Saturday"
},
{
"type": "text",
"parameter_name": "date",
"text": "August 30th, 2025"
},
{
"type": "text",
"parameter_name": "time",
"text": "7:30 pm"
}
]
}
]
}
}'
Пример ответа
{
"messaging_product": "whatsapp",
"contacts": [
{
"input": "16505551234",
"wa_id": "16505551234"
}
],
"messages": [
{
"id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJBRkJENzExMTRFRjk2NTI1OTEA",
"message_status": "accepted"
}
]
}