Перейти к содержанию

WHATSAPP

Отправка

Для отправки WhatsApp-сообщения необходимо:

Параметры запроса

Параметр Тип данных Описание
messages array[Message] Массив сообщений.

Message

Параметр Тип данных Описание
from string Согласованное имя отправителя.
to string Номер телефона в международном формате, согласно стандарту E.164.
text
(optional)
string Текст сообщения. Максимальная длина - 4096 символов.
address
(optional)
string Адрес пользователя.
addressName
(optional)
string Название адреса пользователя.
addressUrl
(optional)
string URL адреса пользователя.
callbackData
(optional)
object

Данные, которые будут указаны в коллбэке со статусом сообщения.

Любой массив вида "key":
{ "key1": "value1", "key2": "value2" }

callbackUrl
(optional)
string

URL, на который система будет отправлять коллбэки при изменении статуса сообщения.

Любой валидный URL со схемой HTTP или HTTPS.

contentName
(optional)
string Название контента.
Не более 100 символов.
contentType
(optional)
MIME Type MIME Type контента.
Существующий MIME Type.
contentUrl
(optional)
string URL контента.
Любой валидный URL со схемой HTTP или HTTPS.
languageCode
(optional)
string Код языка. По умолчанию en.
latitude
(optional)
number Широта.
longitude
(optional)
number Долгота.
templateButtonParams
(optional)
TemplateButtonParamList Параметры интерактивных кнопок в сообщении.
templateId
(optional)
string ID шаблона в системе поставщика.
templateParams
(optional)
object

Набор параметров для заполнения по шаблону, где ключ - номер позиции значения.
Пример: { "1": "value1", "2": "value2" }

Внимание! В значении нельзя использовать: переносы строки, табуляцию и 4 пробела подряд.

whatsAppContacts
(optional)
Contact Информация о контакте.
Contact
Параметр Тип данных Описание
name object Полное имя контакта (объект ContactName).
addresses
(optional)
array[object] Полные адреса контакта (объект ContactAddress).
birthday
(optional)
string Строка в формате YYYY-MM-DD.
emails
(optional)
array[object] Email-адреса контакта (объект ContactEmail).
org
(optional)
object Сведения об организации контакта (объект ContactCompany).
phones
(optional)
array[object] Номер телефона контакта (объект ContactPhone).
urls
(optional)
array[object] URL контакта (объект ContactUrl).
ContactName

Примечание

С параметром formatted_name необходимо указать хотя бы один из необязательных параметров.

Параметр Тип данных Описание
formatted_name string Полное имя в стандартном написании.
first_name
(optional)
string Имя.
last_name
(optional)
string Фамилия.
middle_name
(optional)
string Второе имя или отчество.
suffix
(optional)
string Суффикс имени.
prefix
(optional)
string Префикс имени.
ContactAddress
Параметр Тип данных Описание
street
(optional)
string Улица и номер дома.
city
(optional)
string Название города.
state
(optional)
string Сокращенное название федерального округа.
zip
(optional)
string Почтовый индекс.
country
(optional)
string Полное название страны.
country_code
(optional)
string Двухбуквенный код страны.
type
(optional)
string Стандартные значения: HOME, WORK.
ContactEmail
Параметр Тип данных Описание
email
(optional)
string Email-адрес.
type
(optional)
string Стандартные значения: HOME, WORK.
ContactCompany
Параметр Тип данных Описание
company
(optional)
string Название компании, в которой работает контакт.
department
(optional)
string Название отдела, в котором работает контакт.
title
(optional)
string Должность контакта в компании.
ContactPhone
Параметр Тип данных Описание
phone
(optional)
string Автоматически подставляется значение wa_id в виде отформатированного номера телефона.
type
(optional)
string Стандартные значения:CELL, MAIN, IPHONE, HOME, WORK.
wa_id
(optional)
string ID в WhatsApp.
ContactUrl
Параметр Тип данных Описание
url
(optional)
string URL контакта.
type
(optional)
string Стандартные значения: HOME, WORK.
TemplateButtonParamList

Внимание

Название объектов в массиве templateButtonParams - это название вашей кнопки, согласованное в шаблоне.

Параметр Тип данных Описание
parameters TemplateButtonParam Параметры кнопки.
parameters.payload
(optional)
string Текстовое сообщение, которое будет отправлено в чат при нажатии на кнопку. Для кнопок типа QUICK_REPLY.
parameters.text
(optional)
string Суффикс, который добавляется к URL кнопки. Для кнопок типа URL.
parameters.type string Указывается один из типов параметров: PAYLOAD или TEXT, в зависимости от типа кнопки.
subType string

Тип кнопки.

Возможные значения:
QUICK_REPLY - кнопка, которая отправляет текстовое сообщение в чат.
URL - кнопка со ссылкой.

MIME Type

Медиа Поддерживаемый
тип контента
Расширения файлов Ограничения размера Комментарий
audio audio/acc
audio/mp4
audio/amr
audio/mpeg
audio/ogg
.acc
.mp4
.mp4a
.amr
.mpeg
.ogg
16Mb codecs=opus
voice audio/ogg .ogg 16 Mb

Записанное на устройстве аудио.

codecs=opus

document любой валидный MIME Type 100 Mb
image image/jpeg
image/png
.jpeg
.jpg
.png
5 Mb

GIF-изображения будут автоматически преобразованы в MP4-видео на стороне WhatsApp.

Изображения с прозрачным фоном не поддерживаются.

video video/mp4
video/3gpp
.mp4
.3gp
.3g2
16 Mb

Поддерживаются только видеокодек H.264 и аудиокодек AAC.

Поддерживаются только видео с одним аудиопотоком или без такового.

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

[ 
  { 
    "from": "MyCompany",
    "to": "79034567890",
    "text": "Code: 1234"
  },
  {
    "from":"MyCompany",
    "to":"79034567888",
    "templateId": "account_activated",
    "templateParams":{
      "1": "+7(495) 646 00 54",
      "2": "https://devino.online"
    },
    "languageCode": "ru",
    "callbackUrl":"https://test_callback_url.site"
  }     
]

Параметры ответа

Параметр Тип данных Описание
code string

Указывает на результат обработки сообщения.

1. OK - успешно обработано.
2. REJECTED - произошла ошибка во время обработки запроса.

messageId string ID сообщения. Указывается только при "code": "OK".
reasons array Массив ошибок, произошедших во время обработки сообщения. Указывается только при "code": "REJECTED".
reasons.key string Код ошибки.
reasons.ref string Ссылка на параметр, в котором произошла ошибка.

Коды ошибок

Код Параметр Описание
invalid messages[i].to Неправильно указан номер телефона.
invalid messages[i].callbackUrl URL не соответствует формату HTTP или HTTPS.
invalid messages[i].templateButtonParams Параметр text не может быть пустым.
invalid messages[i].templateButtonParams Параметр payload не может быть пустым.
invalid messages[i].languageCode Неправильно указан код языка.

Примеры ответов

{
  "result": [
    {
      "code": "OK",
      "messageId": "3482512350952730368"
    }    
  ]
}
{
  "result": {
    "code":"REJECTED",
    "messageId":null,
    "reasons": [
      {
        "key":"invalid.to",
        "ref":"to"
      }
    ]
  }
}

Входящие сообщения

Как подключить

Для получения входящих WhatsApp-сообщений от пользователей обратитесь к менеджеру компании или в техническую поддержку. Также будет необходимо сообщить URL веб-сервера для обработки входящих сообщений.

Параметры

Параметр Тип данных Описание
incomingMessageId integer ID входящего сообщения.
to string Название аккаунта получателя.
from string Номер телефона отправителя.
text string Текст сообщения.
profileName string Название аккаунта отправителя.
ts integer Время получения сообщения (timestamp) в миллисекундах.

Пример

{
    "incomingMessageId": 2834738753045023457,
    "to": "BusinessProfile",
    "from": "799900000000",
    "text": "Hello!",
    "profileName": "UserName", 
    "ts": 1670844823000
}

Коллбэки

Как подключить

Для настройки коллбэков со статусами сообщений необходимо обратиться к менеджеру компании или в техническую поддержку.

Возможные статусы

Код Описание
SENT Сообщение отправлено.
EXPIRED Истек срок жизни сообщения.
DELIVERED Сообщение доставлено получателю.
SEEN Сообщение просмотрено получателем.
REJECTED Сообщение отклонено оператором, либо превышен лимит отправки сообщений.
UNDELIVERABLE Сообщение отклонено оператором, либо отсутствует шаблон сообщения.

Пример коллбэка

[
    {
        "messageId": 1,
        "ts": 1636976602504,
        "status": "DELIVERED",
        "errorCode": 0,
        "callbackData": "string"
    }
]