Создание шаблона сообщения с медиафайлом
POST/v1/wa/apps/{appId}/templates
Данный эндпоинт API предназначен для создания шаблона сообщения с медиафайлом (IMAGE, VIDEO, DOCUMENT). После создания, шаблон отправиться на модерацию в WhatsApp для утверждения. Утвержденные шаблоны могут быть использованы для отправки сообщений пользователям.
Авторизация
Для доступа к методу необходим токен системного пользователя. Передайте его в заголовке HTTP-запроса.
Authorization: Bearer <ACCESS_TOKEN>Параметры
| Параметр | Расположение | Тип | Описание | Ограничения |
|---|---|---|---|---|
appId | Path | string | Уникальный идентификатор приложения. | |
name | Body | string | Название шаблона. | |
language | Body | string | Код языка для шаблона. Список допустимых кодов | |
category | Body | string | Категория шаблона. | Возможные значения: MARKETING UTILITY SERVICE. Подробнее о шаблонах в разделе: категории шаблонов |
type | Body | stringНеобязательный | Тип шаблона. | Возможные значения: IMAGE VIDEO DOCUMENT. Значение по умолчанию: TEXT |
example_media_url | Body | string | Пример медиа. | Ссылка на файл. Должна использовать протокол HTTPS. Требования к файлу:
|
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", "category": "MARKETING", "type": "IMAGE", "example_media_url": "https://example.com/sample-image.jpg", "body": "Hello, John!", "body_example": "Hello, John!" }'json
{
"name": "Example Template",
"language": "ru",
"category": "MARKETING",
"type": "IMAGE",
"example_media_url": "https://example.com/sample-image.jpg",
"body": "Hello, John!",
"body_example": "Hello, John!"
}Запрос создания текстового шаблона с кнопками и переменными:
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", "category": "MARKETING", "type": "IMAGE", "example_media_url": "https://example.com/sample-image.jpg", "body": "Hello, {{1}}!", "body_example": "Hello, John!", "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",
"category": "MARKETING",
"type": "IMAGE",
"example_media_url": "https://example.com/sample-image.jpg",
"body": "Hello, {{1}}!",
"body_example": "Hello, John!",
"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": "IMAGE",
"language": "ru",
"status": "PENDING",
"quality": "UNKNOWN",
"media_url": "https://example.com/sample-image.jpg",
"components": {
"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 | Не найдено |