Skip to content

message.incoming-message

Уведомляет о получении входящего сообщения.

HTTP-метод: POST
Content-Type: application/json

Полезная нагрузка (Payload)

Тело запроса содержит объект JSON со следующей структурой:

ПолеТипОписание
eventobjectОбъект с данными события.
event.namestringНазвание события: message.incoming-message.
idstringУникальный идентификатор сообщения.
statusstringСтатус сообщения. Возможные значения: pending, sent, delivered, read, failed.
senderobjectОбъект с данными отправителя.
sender.phonestringНомер телефона отправителя в международном формате.
sender.profileobjectОбъект с профилем отправителя.
sender.profile.namestringИмя профиля отправителя.
recipientobjectОбъект с данными получателя.
recipient.phonestringНомер телефона получателя в международном формате.
messageobjectОбъект с данными сообщения. Структура объекта зависит от message.type (см. ниже).
message.idstringУникальный идентификатор сообщения в WhatsApp.
message.typestringТип сообщения. Возможные значения: text, image, audio, video, document, sticker, button, reaction. Структура для каждого типа приведена ниже.
message.timestampnumberВременная метка (timestamp) получения сообщения в формате UNIX.
message.contextobjectКонтекст сообщения.
metadataobjectДополнительные метаданные сообщения (если имеются).

Детальная структура объекта message по типам

Содержимое объекта message меняется в зависимости от значения поля message.type.

Тип: text Для сообщений типа `text` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.textobjectОбъект с текстовыми данными.
message.text.bodystringТекст сообщения.

Пример объекта:

json
{
  "type": "text",
  "text": {
    "body": "Hello! It's an example of a text message."
  }
}
Тип: image Для сообщений типа `image` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.imageobjectОбъект с данными изображения.
message.image.idstringID медиафайла.
message.image.mime_typestringMIME-тип изображения.
message.image.sha256stringSHA256-хеш изображения.
message.image.urlstringURL изображения.
message.image.captionstringПодпись к изображению (необязательно).

Пример объекта:

json
{
  "type": "image",
  "image": {
    "id": "123456789",
    "mime_type": "image/jpeg",
    "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
    "url": "https://example.com/image.jpg",
    "caption": "Image caption"
  }
}
Тип: audio Для сообщений типа `audio` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.audioobjectОбъект с данными аудио.
message.audio.idstringID медиафайла.
message.audio.mime_typestringMIME-тип аудио.
message.audio.sha256stringSHA256-хеш аудио.
message.audio.urlstringURL аудио.
message.audio.is_voicebooleanЯвляется ли аудиосообщением.

Пример объекта:

json
{
  "type": "audio",
  "audio": {
    "id": "123456789",
    "mime_type": "audio/ogg; codecs=opus",
    "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
    "url": "https://example.com/audio.mp3",
    "caption": "Audio caption"
  }
}
Тип: video Для сообщений типа `video` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.videoobjectОбъект с данными видео.
message.video.idstringID медиафайла.
message.video.mime_typestringMIME-тип видео.
message.video.sha256stringSHA256-хеш видео.
message.video.urlstringURL видео.
message.video.captionstringПодпись к видео (необязательно).

Пример объекта:

json
{
  "type": "video",
  "video": {
    "id": "123456789",
    "mime_type": "video/mp4s",
    "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
    "url": "https://example.com/video.mp4",
    "caption": "Video caption"
  }
}
Тип: document Для сообщений типа `document` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.documentobjectОбъект с данными документа.
message.document.idstringID файла.
message.document.mime_typestringMIME-тип файла.
message.document.sha256stringSHA256-хеш файла.
message.document.urlstringURL файла.
message.document.filenamestringИмя файла.

Пример объекта:

json
{
  "type": "document",
  "document": {
    "id": "123456789",
    "mime_type": "application/pdf",
    "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
    "url": "https://example.com/document.pdf",
    "filename": "document.pdf"
  }
}
Тип: sticker Для сообщений типа `sticker` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.stickerobjectОбъект с данными стикера.
message.sticker.idstringID файла.
message.sticker.mime_typestringMIME-тип стикера.
message.sticker.sha256stringSHA256-хеш стикера.
message.sticker.urlstringURL стикера.
message.sticker.is_animatedbooleanЯвляется ли стикер анимированным.

Пример объекта:

json
{
  "type": "sticker",
  "sticker": {
    "id": "123456789",
    "mime_type": "image/webp",
    "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
    "url": "https://example.com/sticker.webp",
    "is_animated": false
  }
}
Тип: button Для сообщений типа `button` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.buttonobjectОбъект с данными кнопки.
message.button.payloadstring
message.button.textstringТекст кнопки.

Пример объекта:

json
{
  "type": "button",
  "button": {
    "payload": "Click Me",
    "text": "Click Me"
  }
}
Тип: reaction Для сообщений типа `reaction` в объекте `message` присутствуют дополнительные поля:
ПолеТипОписание
message.reactionobjectОбъект с данными реакции.
message.reaction.wa_msg_idstringУникальный идентификатор сообщения в WhatsApp, на которое была поставлена реакция.
message.reaction.emojistringЭмодзи реакции.

Пример объекта:

json
{
  "type": "reaction",
  "reaction": {
    "wa_msg_id": "123456789",
    "emoji": "👍"
  }
}

Полный пример объекта данных

json
{
  "event": {
    "name": "message.incoming-message"
  },
  "id": "ABCD1234EFGH5678",
  "status": "delivered",
  "sender": {
    "phone": "79991234567",
    "profile": {
      "name": "John Doe"
    }
  },
  "recipient": {
    "phone": "78881234567"
  },
  "message": {
    "id": "wamid.HBgMNTc5OTEyMzQ1Njc4FQIAEhggRDNEMjA2RkY2QjA0RkY1N0I1AA==",
    "type": "image",
    "timestamp": 1770122177,
    "image": {
      "id": "123456789",
      "mime_type": "image/jpeg",
      "sha256": "PpBh2gtrfuryXkOOXoU6Y5GfOci6OUG1+Bq/GpQQjwU=",
      "url": "https://example.com/image.jpg",
      "caption": "Image caption"
    }
  },
  "metadata": {
    "error_code": 135000,
    "error_text": "Generic user error"
  }
}