Создание шаблона текстового сообщения
POST/v1/wa/apps/{appId}/templates
Данный эндпоинт API предназначен для создания шаблона текстового сообщения. После создания, шаблон отправиться на модерацию в WhatsApp для утверждения. Утвержденные шаблоны могут быть использованы для отправки сообщений пользователям.
Авторизация
Для доступа к методу необходим токен системного пользователя. Передайте его в заголовке HTTP-запроса.
Authorization: Bearer <ACCESS_TOKEN>Параметры
| Параметр | Расположение | Тип | Описание | Ограничения |
|---|---|---|---|---|
appId | Path | string | Уникальный идентификатор приложения. | |
name | Body | string | Название шаблона. | |
language | Body | string | Код языка для шаблона. Список допустимых кодов | |
category | Body | string | Категория шаблона. | Возможные значения: MARKETING UTILITY SERVICE. Подробнее о шаблонах в разделе: категории шаблонов |
type | Body | stringНеобязательный | Тип шаблона. | Возможные значения: TEXT IMAGE VIDEO DOCUMENT. Значение по умолчанию: TEXT |
header | Body | stringНеобязательный | Заголовок шаблона (верхняя часть). | Максимальное количество символов: 60 |
header_example | Body | stringНеобязательный. Обязателен, если заполнено поле header | Пример заголовка шаблона. | |
body | Body | string | Тело шаблона. | Максимальное количество символов: 550 |
body_example | Body | stringНеобязательный. Обязателен, если заполнено поле body | Пример тела шаблона. | |
footer | Body | string Необязательный | Подвал шаблона. | Максимальное количество символов: 60 |
buttons | Body | Array of objects Необязательный | Кнопки шаблона. |
|
Примеры запросов
Простой запрос создания текстового шаблона:
bash
curl -X POST \
https://space.getloo.ru/api/v1/wa/apps/{appId}/templates \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Example Template", "language": "ru", "header": "Welcome", "header_example": "Welcome", "body": "Hello, John!", "body_example": "Hello, John!", "category": "MARKETING", "type": "TEXT" }'json
{
"name": "Example Template",
"language": "ru",
"header": "Welcome",
"header_example": "Welcome",
"body": "Hello, John!",
"body_example": "Hello, John!",
"category": "MARKETING",
"type": "TEXT"
}Запрос создания текстового шаблона с кнопками и переменными:
bash
curl -X POST \
https://space.getloo.ru/api/v1/wa/apps/{appId}/templates \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Example Template", "language": "ru", "header": "Welcome back, {{1}}!", "header_example": "Welcome back, John!", "body": "Hello, {{1}}!", "body_example": "Hello, John!", "category": "MARKETING", "type": "TEXT", "buttons": [ { "type": "QUICK_REPLY", "text": "Yes" }, { "type": "URL", "text": "My Awesome Site", "url": "https://example.com/{{1}}", "example": "https://example.com/about" } ] }'json
{
"name": "Example Template",
"language": "ru",
"header": "Welcome back, {{1}}!",
"header_example": "Welcome back, John!",
"body": "Hello, {{1}}!",
"body_example": "Hello, John!",
"category": "MARKETING",
"type": "TEXT",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Yes"
},
{
"type": "URL",
"text": "My Awesome Site",
"url": "https://example.com/{{1}}",
"example": "https://example.com/about"
}
]
}Пример ответа
Пример ответа созданного текстового шаблона с кнопками и переменными:
json
{
"id": 1,
"wa_id": "123...",
"name": "example_tmplate_1768569111",
"category": "MARKETING",
"type": "TEXT",
"language": "ru",
"status": "PENDING",
"quality": "UNKNOWN",
"media_url": null,
"components": {
"header": {
"text": "Welcome back, {{1}}!",
"sample_text": "Welcome back, John!",
"placeholders": ["John"]
},
"body": {
"text": "Hello, {{1}}!",
"sample_text": "Hello, John!",
"placeholders": ["John"]
},
"footer": null,
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Yes"
},
{
"type": "URL",
"text": "My Awesome Site",
"url": "https://example.com/{{1}}",
"placeholders": ["about"]
}
]
},
"created_at": 1768569113,
"updated_at": 1768569113
}Коды состояния
| Код состояния | Описание |
|---|---|
201 | Запрос успешно выполнен |
400 | Некорректный запрос (ошибка при валидации) |
401 | Неавторизованный запрос |
403 | Доступ запрещён |
404 | Не найдено |