Для отправки сообщений в каналы WhatsApp, Viber, SMS, Push и Notify используется метод api/cascade/schedule.
Сообщения отправляются через каскад — сценарий последовательной рассылки в несколько каналов. При регистрации канала каскад для него создается автоматически. Создать каскад из нескольких каналов можно в личном кабинете edna Pulse. Подробнее:
Вы можете протестировать отправку сообщений с помощью API edna Pulse для канала WhatsApp, не регистрируя канал. Подробнее в статье.
Вызов метода api/cascade/schedule
Чтобы вызвать метод api/cascade/schedule, отправьте POST-запрос на URL-адрес https://app.edna.ru/api/cascade/schedule. Запрос выполняется через публичный интерфейс API с авторизацией по API-ключу.
После выполнения запроса программа получает задание на отправку сообщения по каскаду согласно параметрам в теле запроса.
Если запрос принят, сервер возвращает ответ с кодом 200, содержащий JSON-объект с идентификатором запроса. В случае неуспешной проверки запроса возвращается ответ с кодом ошибки.
Информация о результате отправки сообщения приходит на установленный вебхук. Подробнее в статье.
В случае успешной отправки сообщения возвращается статус sent, затем delivered, read или undelivered (в зависимости от канала). Статус сообщения failed означает, что сообщение обработано с ошибкой и не отправлено. Полный список статусов смотрите в статье.
Формат запроса
В теле запроса передается набор параметров каскада, по которому вы хотите отправить сообщение.
{
"requestId": "string",
"cascadeId": 0,
"subscriberFilter": {
"address": "string",
"type": "EDNA_ID"
},
"startTime": "2023-09-27T12:06:29Z",
"ttl": "PT1M",
"content": {
"smsContent": {
"text": "string"
},
"whatsappContent": {
"contentType": "TEXT",
"text": "string",
"attachment": {
"url": "string",
"name": "string"
},
"location": {
"longitude": 0,
"latitude": 0,
"address": "string",
"name": "string"
},
"comment": "string",
"caption": "string",
"action": "string",
"header": {
"text": "string",
"imageUrl": "string",
"documentUrl": "string",
"documentName": "string",
"videoUrl": "string",
"videoName": "string"
},
"footer": {
"text": "string"
},
"keyboard": {
"rows": [
{
"buttons": [
{
"text": "string",
"url": "string",
"urlPostfix": "string",
"phone": "string",
"payload": "string",
"type": "PHONE",
"otpType": "COPY_CODE",
"color": "string",
"requestContact": true,
"requestLocation": true,
"autofillText": "string",
"packageName": "string",
"hash": "string",
"appId": 0,
"ownerId": 0
}
]
}
]
},
"listPicker": {
"button": "string",
"sections": [
{
"title": "string",
"items": [
{
"identifier": "string",
"title": "string",
"subtitle": "string"
}
]
}
]
},
"catalog": {
"id": "string",
"product": {
"id": "string"
},
"sections": [
{
"title": "string",
"products": [
{
"id": "string"
}
]
}
]
},
"order": {
"catalogId": "string",
"products": [
{
"id": "string",
"quantity": 0,
"price": 0,
"currency": "RUB"
}
]
},
"messageMatcherId": 0
},
"viberContent": {
"contentType": "TEXT",
"text": "string",
"attachment": {
"url": "string",
"name": "string"
},
"location": {
"longitude": 0,
"latitude": 0,
"address": "string"
},
"comment": "string",
"caption": "string",
"action": "string",
"header": {
"text": "string",
"imageUrl": "string",
"documentUrl": "string",
"documentName": "string",
"videoUrl": "string",
"videoName": "string"
},
"footer": {
"text": "string"
},
"keyboard": {
"rows": [
{
"buttons": [
{
"text": "string",
"url": "string",
"urlPostfix": "string",
"phone": "string",
"payload": "string",
"type": "PHONE",
"otpType": "COPY_CODE",
"color": "string",
"requestContact": true,
"requestLocation": true,
"autofillText": "string",
"packageName": "string",
"hash": "string",
"appId": 0,
"ownerId": 0
}
]
}
]
}
},
"pushContent": {
"attributes": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"small": {
"title": "string",
"text": "string",
"imageUrl": "string"
},
"big": {
"title": "string",
"text": "string",
"imageUrl": "string"
},
"buttons": [
{
"text": "string",
"url": "string"
}
],
"action": "string",
"effects": {
"sound": "string",
"lights": "string",
"vibrate": "string",
"androidNotificationChannel": "string"
},
"iosSettings": {
"interruptionLevel": "ACTIVE",
"category": "string"
},
"subscription": "string"
},
"vkNotifyContent": {
"contentType": "string",
"text": "string",
"messageMatcherId": 0,
"keyboard": {
"rows": [
{
"buttons": [
{
"text": "string",
"buttonType": "QUICK_REPLY",
"payload": "string",
"color": "string"
}
]
}
]
}
},
"okNotifyContent": {
"contentType": "string",
"text": "string"
}
},
"errorIfNotMatched": true,
"comment": "string",
"priority": "default"
} Пример запроса
Ниже приведен пример тела запроса с использованием каскада, по которому клиенту отправляется SMS-сообщение, затем сообщение в канал WhatsApp и сообщение в канал Push.
{
"requestId": "test-001",
"comment": "Postman 2022-12-15T13:57:02.575Z",
"cascadeId": 111,
"subscriberFilter": {
"address": "79000000000",
"type": "PHONE"
},
"startTime": "2022-01-21T08:00:00Z",
"content": {
"smsContent": {
"text": "Карта готова. Заберите её в отделении банка."
},
"whatsappContent": {
"contentType": "TEXT",
"text": "Карта готова. Заберите её в отделении банка.",
"attachment": {
"url": "https://.jpg",
"name": "Схема прохода"
},
"LOCATION": {
"longitude": 56.7645,
"latitude": 48.4564,
"address": "г. Москва, ул Правды, д 3",
"name": "ООО Компания"
}
},
"pushContent": {
"small": {
"text": "Заберите её в отделении банка.",
"title": "Карта готова",
"imageUrl": "https://.png"
},
"big": {
"title": "Карта готова",
"text": "Заберите её в отделении банка",
"imageUrl": "https://.png"
},
"buttons": [
{
"text": "Поддержка",
"url": "DeeplinkSupport"
},
{
"text": "Напомнить позже",
"url": "DeeplinkLater"
}
],
"action": "DeeplinkMainPush",
"effects": {
"vibrate": "[500,100,500,150,50,50]",
"lights": "#770808",
"sound": "AthlonRoar",
"androidNotificationChannel": "Статус заказа"
},
"iosSettings": {
"interruptionLevel": "ACTIVE",
"category": "ednaPushCategory"
}
}
}
}
Параметры запроса
В разделах ниже описаны:
- Общие параметры.
- Параметры
whatsappContent. - Параметры
viberContent. - Параметры
smsContent. - Параметры
pushContent. - Параметры
vkNotifyContent. - Параметры
okNotifyContent.
Примеры запросов по каждому каналу смотрите в статье.
Общие параметры
| Параметр | Тип данных | Характер | Описание |
requestId | string | Обязательный | Идентификатор сообщения. Генерируется вашей системой, после чего значение должно быть передано в запрос. Максимальная длина строки — 256 символов. |
comment | string | Необязательный | Текстовый комментарий в сообщении. Значение параметра отображается в детальном отчете. |
cascadeId | string | Обязательный | Идентификатор каскада. При создании канала автоматически создается каскад для отправки сообщений по этому каналу. Чтобы узнать идентификатор каскада, используйте метод API по получению информации о каскадах (поле id). |
subscriberFilter | object | Обязательный | Получатель сообщения: ID в edna Pulse, номер телефона клиента, а также другие ID для push-сообщений.subscriberFilter включает в себя параметры:• address — значение, которое зависит от type;• type — может быть PHONE, EDNA_ID или ID для push-сообщений (полный список ID доступен ниже в описании параметра type).Если type — это PHONE, то address — номер телефона клиента. Например:"subscriberFilter":{ |
address | string | Обязательный | Значение идентификатора указанного типа type. |
type | string | Обязательный | Тип идентификатора клиента. Возможные значения указываются в верхнем регистре: • INSTAGRAM_ID* — Идентификатор клиента в Instagram* из 16 числовых символов. Этот идентификатор создается на стороне Facebook*, когда клиент первым взаимодействует с Instagram*-аккаунтом бизнеса. Это значение может быть разным и меняться для одного и того же Instagram* клиента.• FACEBOOK_ID* — Идентификатор клиента в Facebook*.• DEVICE_APP_ID — Идентификатор push-устройства клиента.• EDNA_ID — Идентификатор клиента в базе данных edna, который создается автоматически при создании клиента в edna. Отображается на странице Редактирование пользователя в строке URL, например: 3314 в строке https://app.edna.ru/audience/3314/edit. Доступен только для каналов WhatsApp, SMS и Viber.• PHONE — Номер телефона клиента в формате 79000000000.• EMAIL• UTM• COOKIE_ID• TELEGRAM_ID • GOOGLE_ID• APPLE_ID• YANDEX_ID• EXT_USER_ID |
startTime | string | Необязательный | Дата и время в формате ISO 8601 (например, «2024-07-01T00:00:00Z»), раньше которого сообщение не будет отправлено. Используется при отложенной отправке. Допустимые форматы: • YYYY-MM-DDTHH:mm:ss.SSSXXX(2021-01-21T08:00:00Z); • YYYY-MM-DDTHH:mm:ss.SSS+TZ(2021-01-21T08:00:00+03:00). |
content | object | Обязательный | Может содержать объекты whatsappContent, viberContent, smsContent, pushContent, vkNotifyContent и okNotifyContent. |
ttl | string | Необязательный | Время, по истечении которого нужно переходить на описываемый шаг, если сообщение на предыдущем шаге было не доставлено. Период времени указывается в формате ISO 8601 (например, PT1M). |
errorIfNotMatched | boolean | Необязательный | Устаревший параметр. Используется, чтобы включить проверку шаблона сообщения. Если совпадений нет, возвращается ошибка. |
priority | string | Необязательный | Используется для обозначения приоритета сообщений. Возможные значения: • DEFAULT — стандартный приоритет, эквивалентно отсутствию дополнительных настроек приоритета;• LOW — низкий приоритет;• NORMAL — средний приоритет;• HIGH — высокий приоритет;• REALTIME — доставка в режиме реального времени. |
Параметры whatsappContent
| Параметр | Тип данных | Характер | Описание |
contentType | string | Обязательный | Тип содержимого сообщения. Возможные значения указываются в верхнем регистре: • TEXT — текстовое сообщение;• IMAGE — изображение;• DOCUMENT — документ, вложенный в сообщение;• VIDEO — сообщение, содержащее видео;• AUDIO — сообщение, содержащее звук;• LOCATION — сообщение с координатами, адресом и описанием места. Координаты преобразуются в снимок Google maps;• LIST_PICKER — кнопки интерактивного меню WhatsApp;• AUTHENTICATION — сообщение с одноразовым паролем и кнопкой копирования;• FLOW — сообщение, содержащее WhatsApp Flows. Подробнее про WhatsApp Flows в документации Meta*. |
text | string | Обязательный, если contentType = TEXT, AUTHENTICATION или FLOW | • Текст сообщения, если contentType = TEXT.• Текст сообщения, в которое будет вложен Flow, если contentType= FLOW.• Одноразовый пароль, если contentType = AUTHENTICATION. |
flowId | integer | Обязательный, если contentType = FLOW | Идентификатор Flow, который присваивается в WhatsApp Manager в момент создания Flow. |
screen | string | Необязательный | Идентификатор экрана, который первым будет отображаться во Flow. |
caption | string | Обязательный, если contentType = FLOW | Текст кнопки, после нажатия на которую запускается Flow. |
action | string | Необязательный | Тип взаимодействия Flow. Возможные значения: • navigate — Flow не делает запрос к конечной точке. Значение по умолчанию.• data_exchange — Flow делает запрос к конечной точке.Как создавать опросы с помощью WhatsApp Flows смотрите в инструкции Meta*. |
attachment | object | Обязательный | Содержит информацию о вложении. Если при отправке чат-сообщения WhatsApp указано поле attachment, то поле text игнорируется и отправляется только вложение. |
attachment.url | string | Обязательный, если объект attachment не пустой | Ссылка на вложение: изображение, файл, видео или аудио. |
attachment.name | string | Обязательный | Название изображения, файла, видео или аудио. Максимальная длина — 70 символов. |
header | object | Обязательный | Заголовок сообщения. Можно выбрать один из следующих вариантов заголовка: текст, изображение, документ. Для текстового заголовка нужно указать сам текст заголовка, заголовок может содержать одну переменную. Сам заголовок отображается жирным текстом перед сообщением. Для мультимедиа заголовка можно указать ссылку на документ или изображение. |
footer | string | Обязательный | Подпись. Отображается под сообщением приглушенным цветом текста. |
location | object | Обязательный | Содержит информацию о геолокации. Отправка сообщения с геолокацией доступна только в рамках 24-часового диалога. |
location.longitude | string | Обязательный | Координаты (долгота). Диапазон значений — от -180 до 180. |
location.latitude | string | Обязательный | Координаты (широта). Диапазон значений — от -90 до 90. |
location.address | string | Необязательный | Адрес на карте. |
location.name | string | Необязательный | Название объекта, адрес которого передается. |
header.text | string | Обязательный для текстового заголовка | Текст заголовка. |
header.imageUrl | string | Обязательный для заголовка-изображения | Ссылка на изображение в заголовке. |
header.documentUrl | string | Обязательный для заголовка-документа | Ссылка на документ в заголовке. |
header.documentName | string | Обязательный для заголовка-документа | Название документа в заголовке. Будет отображаться получателю сообщения. |
header.videoUrl | string | Обязательный для заголовка-видео | Ссылка на видео в заголовке. |
header.videoName | string | Обязательный для заголовка-видео | Название видео в заголовке. Будет отображаться получателю сообщения. |
buttons | object | Обязательный | Массив объектов, в каждом из которых определяется кнопка. |
buttons.text | string | Обязательный | Текст кнопки. Максимальная длина — 20 символов. |
buttons.url | string | Обязательный для кнопки-ссылки | URL-адрес, который открывается при нажатии кнопки. |
buttons.urlPostfix | string | Обязательный, если в шаблоне есть динамическая ссылка или она ненулевая | Динамическая часть ссылки URL-адреса кнопки. |
buttons.phone | string | Обязательный для кнопки-звонка | Номер телефона, который набирается при нажатии кнопки. |
buttons.payload | string | Обязательный для кнопки с текстом | Код или текст кнопки быстрого ответа. Максимальное количество символов: • у HSM-сообщений – 128. • у CHAT-сообщений – 128. |
buttons.type | string | Обязательный | Вид кнопки: • URL — открывает указанную ссылку;• PHONE — набирает указанный номер телефона;• QUICK_REPLY — отправляет готовый ответ;• OTP — копирует одноразовый пароль.Примеры в статье. В одном сообщении может быть либо не более трех кнопок типа QUICK_REPLY, либо не более одной каждой из кнопок URL и PHONE. Кнопки QUICK_REPLY не могут быть в сообщении с другими кнопками. Возможные варианты: • QUICK_REPLY• QUICK_REPLY QUICK_REPLY• QUICK_REPLY QUICK_REPLY QUICK_REPLY• URL• PHONE• URL PHONE |
buttons.otpType | boolean | Необязательный | Тип кнопки в авторизационном сообщение WhatsApp. Только для авторизационного шаблонного сообщения WhatsApp. Возможные значения: • COPY_CODE — скопировать код;• ONE_TAP — кнопка автоматического заполнения. |
buttons.autofillText | string | Необязательный | Текст кнопки автоматического заполнения. Только для кнопок автоматического заполнения в авторизационном шаблонном сообщении WhatsApp. Максимальное количество символов — 25. |
buttons.packageName | string | Необязательный | Имя пакета приложения Android в авторизационном сообщение WhatsApp. Только для кнопок автоматического заполнения в авторизационном шаблонном сообщении WhatsApp. |
listPicker | object | Обязательный | Объект списка элементов. Содержит в себе параметр button и объект sections, который содержит объекты section. |
listPicker.button | string | Обязательный, если объект listPicker не пустой | Наименование кнопки для интерактивного списка. |
listPicker.sections.title | string | Обязательный, если объект listPicker не пустой | Заголовок секции с элементами, который отображается пользователю. |
listPicker.sections.items | array of objects | Необязательный | Список объектов item. |
listPicker.sections.items. | string | Обязательный, если объект listPicker не пустой | Сквозной для всего сообщения ID элемента, вернется в ответном сообщении пользователя. |
listPicker.sections.items. | string | Обязательный, если объект listPicker не пустой | Название элемента. Максимальная длина — 24 символа с учетом пробелов. |
listPicker.sections.items. | string | Обязательный | Подзаголовок элемента. Максимальная длина — 24 символа с учетом пробелов. |
messageMatcherId | integer | Обязательный, если contentType = AUTHENTICATION | Идентификатор шаблона для данного авторизационного сообщения. |
Параметры viberContent
| Параметр | Тип данных | Характер | Описание |
contentType | string | Необязательный | Тип содержимого сообщения. Возможные значения указываются в верхнем регистре: • TEXT — текстовое сообщение;• IMAGE — изображение;• DOCUMENT — документ, вложенный в сообщение;• VIDEO — сообщение, содержащее видео;• AUDIO — сообщение, содержащее звук;• BUTTON — кнопка;• LOCATION — сообщение с координатами, адресом и описанием места. Координаты преобразуются в снимок Google maps. |
text | string | Необязательный | Текст сообщения. |
header | object | Необязательный | Заголовок сообщения. Можно выбрать один из следующих вариантов заголовка: текст, изображение, документ. Для текстового заголовка нужно указать сам текст заголовка, заголовок может содержать одну переменную. Сам заголовок отображается жирным текстом перед сообщением. Для мультимедиа заголовка можно указать ссылку на документ или изображение. |
footer | object | Необязательный | Подпись. Отображается под сообщением приглушенным цветом текста. |
attachment | object | Необязательный | Содержит информацию о вложении. |
attachment.url | string | Обязательный | Ссылка на вложение: изображение, файл, видео или аудио. |
attachment.name | string | Необязательный | Название изображения, файла, видео или аудио. Максимальная длина — 25 символов. |
location | object | Необязательный | Содержит информацию о местонахождении. |
location.longitude | string | Обязательный | Координаты (долгота). |
location.latitude | string | Обязательный | Координаты (широта). |
location.address | string | Необязательный | Адрес на карте. |
caption | string | Необязательный | Название кнопки. |
action | string | Необязательный | Ссылка для кнопки. |
Параметры smsContent
| Параметр | Тип данных | Характер | Описание |
text | string | Обязательный | Текст сообщения. |
Параметры pushContent
| Параметр | Тип данных | Характер | Описание |
small | object | Обязательный | Параметры отображения свернутого push-уведомления. |
small.title | string | Необязательный | Заголовок свернутого push-уведомления. |
small.text | string | Обязательный | Текст свернутого push-уведомления. |
small.imageUrl | string | Необязательный | Иконка (логотип) для отображения в свернутом push-уведомлении. Рекомендуемое соотношение сторон — 1×1. Pазмер — не более 1024×1024. |
big | object | Необязательный | Параметры отображения расширенного push-уведомления. |
big.title | string | Необязательный | Заголовок развернутого push-уведомления. |
big.text | string | Необязательный | Текст развернутого push-уведомления. |
big.imageUrl | string | Необязательный | Большое изображение для развернутого push-уведомления. Рекомендуются изображения с соотношениями сторон 2×1, где основная визуальная масса остается при обрезке до 1,79×1 и 2,5×1 (ограничения Android). |
action | string | Необязательный | Ссылка, которая будет передана приложению при переходе пользователя по push-уведомлению. |
buttons | object | Необязательный | Параметры отображения кнопок. Вместе с уведомлением можно отобразить до двух кнопок. |
buttons.text | string | Необязательный | Название кнопки. Пользователи увидят это название на кнопке в уведомлении. |
buttons.url | string | Необязательный | Ссылка кнопки. Будет передана приложению при нажатии пользователя на кнопку. |
effects | object | Необязательный | Звук, вибрация, имя notification channel и цвет мигания светодиода на устройстве пользователя при получении push-уведомления. |
effects.sound | string | Необязательный | Имя файла со звуком без расширения. Файл с таким именем должен находиться в каталоге res/raw приложения Android и в корневом каталоге Xcode приложения iOS. |
effects.lights | string | Необязательный | Цвет LED при получении push-уведомления (только Android). На некоторых смартфонах Android есть сигнальный светодиод. С помощью этого параметра можно задать цвет мигания этого светодиода при получении push-уведомления. |
effects.vibrate | string | Необязательный | Последовательность промежутков бездействия и вибрации мотора при получении push-уведомления в миллисекундах (только Android). Первое значение — бездействие. Например, при паттерне [300,500,300,500] на устройстве будет 300 мс бездействия, 500 мс вибрации, 300 мс бездействия, 500 мс вибрации. |
effects.androidNotificationChannel | string | Необязательный | Название канала уведомлений для Android. Пользователи увидят это название в настройках смартфона. Изменить параметры канала (звук, вибрацию и цвет светодиода) возможно только для новых получателей push-уведомлений. |
iosSettings | object | Необязательный | Уровень прерывания и категория ContentExtension (только для iOS). |
iosSettings | string | Необязательный | Уровень прерывания определяет вид уведомления на iOS 15 и выше. |
iosSettings.category | string | Необязательный | Категория для вызова ContentExtension. Параметр обрабатывается на стороне iOS и определяет, как отрисовывается расширенное push-уведомление. |
attributes | object | Необязательный | Дополнительные параметры push-сообщения. Внутри JSON таблица «ключ-значение». |
Параметры vkNotifyContent
| Параметр | Тип данных | Характер | Описание |
messageMatcherId | integer | Обязательный | Идентификатор шаблона сообщения. |
contentType | string | Обязательный | Тип содержимого сообщения. |
text | string | Обязательный | Текст сообщения. |
keyboard | object | Необязательный | Кнопки в сообщении. |
keyboard.buttons | object | Обязательный | Массив объектов, в каждом из которых определяется кнопка. |
buttons.text | string | Обязательный | Название кнопки. |
buttons.buttonType | string | Обязательный | Тип кнопки: QUICK_REPLY, URL, LOCATION, VK_MINI_APPS. |
buttons.payload | string | Обязательный | Код кнопки. |
buttons.color | string | Необязательный | Цвет кнопки. Возможные значения: • primary — синяя кнопка для основного действия;• secondary — белая кнопка для второстепенного действия;• negative — красная кнопка для отрицательного действия (например, отклонить, удалить);• positive — зеленая кнопка для положительного действия (например, согласиться, подтвердить). |
buttons.url | string | Обязательный | URL-адрес для кнопки типа URL. |
buttons.hash | string | Обязательный | Хеш для навигации в приложении. Указывается, если поле определено при регистрации шаблона. Для кнопки типа VK_MINI_APPS. |
buttons.appId | integer | Обязательный | Идентификатор приложения, которое открывается после нажатия кнопки. Для кнопки типа VK_MINI_APPS. |
buttons.ownerId | integer | Обязательный | Идентификатор VK сообщества, если приложение необходимо открыть в контексте сообщества. Для кнопки типа VK_MINI_APPS. |
buttons.requestLocation | boolean | Необязательный | Запрос геолокации пользователя. Возможное значение — true. |
Параметры okNotifyContent
| Параметр | Тип данных | Характер | Описание |
contentType | string | Обязательный | Тип содержимого сообщения. |
text | string | Обязательный | Текст сообщения. |
Кавычки в тексте
Знаки кавычек “ или ‘ должны быть отделены знаком \ в отправляемом сообщении.
Пример правильного оформления:
"text": "Мария! Ждем вас на Мастер-класс \"Готовим вместе c Tefal\" 25.01.2020 в 13.00. Не пропустите это событие! Наш телефон 8(495)100-00-00" и так "text": "Мария! Ждем вас на Мастер-класс «Готовим вместе c Tefal» 25.01.2020 в 13.00. Не пропустите это событие! Наш телефон 8(495)100-00-00"
Пример неправильного оформления:
"text": "Мария! Ждем вас на Мастер-класс "Готовим вместе с Tefal" 25.01.2020 в 13.00. Не пропустите это событие! Наш телефон 8(495)100-00-00"
Оформление текста в WhatsApp
Опция для оформления текста в сообщениях WhatsApp подключена по умолчанию без возможности отключения.
| Выделение текста | Пример |
| _Курсив_ | Курсив |
| *Жирный* | Жирный |
| ~Зачеркнутый~ | |
| “`Моноширинный“` | Моноширинный |
Формат ответа
В ответ на запрос возвращается JSON-объект, содержащий ID отправленного сообщения и статус его обработки.
| Параметр | Тип данных | Описание |
requestId | string | Идентификатор сообщения. Это номер был сгенерирован на вашей стороне. |
Типы вложений
Отправляемые вложения должны соответствовать следующим требованиям:
| Тип вложения | Поддерживаемый формат | Допустимый размер |
| document | Любой корректный MIME-тип. | 100 МБ |
| image | image/jpeg, image/png. | 5 МБ |
| audio | audio/aac, audio/mp4, audio/amr, audio/mpeg, audio/ogg. Кодек=opus (NWB) и ACC. | 16 МБ |
| video | video/mp4, video/3gpp. Поддерживается только формат MPEG 4 и 3GPP c кодеком H.264 (MPEG-4 Part 10) и AAC для аудио. | 16 МБ |
Подробнее про форматы медиавложений для WhatsApp смотрите в документации WhatsApp*.