xaxumessageAPI
События

Типы событий

Конверт события одинаковый (id, type, createdAt, tenantId, accountId, data); ниже — содержимое data каждого типа.

ТипКогда приходит
message.createdНовое входящее сообщение — или исходящее, отправленное с телефона или другой программой (сообщения, отправленные через ваш API, этим событием не приходят).
message.statusСменился статус исходящего сообщения: sending, sent, delivered, read или failed (причина — в detail).
message.editedСобеседник отредактировал сообщение.
message.deletedСообщение удалено (собеседником или вами).
message.reactionРеакция на сообщение поставлена или снята (emoji: null).
message.poll_voteГолос в опросе: текущие итоги по вариантам.
attachment.storedВходящий файл скачан и готов к скачиванию.
attachment.failedВходящий файл скачать не удалось (status: failed или expired, причина — в attachment.error).
chat.readЧат отмечен прочитанным через API.
account.createdПоявился новый номер (заказан вами или подключён оператором).
account.stateСменилось состояние номера: привязан (authorized), отвязан (notAuthorized), заблокирован…
account.billingСменился статус оплаты номера: active, grace, suspended.
account.deletedНомер удалён.
payment.paidСчёт оплачен. credited: false — тестовый платёж или номер удалили раньше, чем пришли деньги.
call.incomingВходящий звонок на номер (принять его через API нельзя — только узнать).
story.createdПолучена новая сторис контакта (после синхронизации сторис).
story.statusСменился статус своей сторис (sent, failed…).

message.created

Новое входящее сообщение — или исходящее, отправленное с телефона или другой программой (сообщения, отправленные через ваш API, этим событием не приходят).

{
  "id": 1042,
  "type": "message.created",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "channel": "whatsapp",
    "chatExternalId": "79181234567@c.us",
    "message": {
      "id": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
      "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
      "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
      "externalId": "BAE5F4C1D2A3B4C5",
      "clientId": null,
      "direction": "in",
      "origin": "contact",
      "kind": "text",
      "text": "Здравствуйте! Есть свободные номера на выходные?",
      "data": {},
      "quotedExternalId": null,
      "sender": {
        "id": "79181234567@c.us",
        "name": "Анна",
        "phone": "79181234567"
      },
      "status": "received",
      "statusDetail": null,
      "sentAt": "2026-10-10T09:28:11.000Z",
      "editedAt": null,
      "deletedAt": null,
      "attachments": [],
      "reactions": []
    }
  }
}

message.status

Сменился статус исходящего сообщения: sending, sent, delivered, read или failed (причина — в detail).

{
  "id": 1042,
  "type": "message.status",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "externalId": "BAE5F4C1D2A3B4C5",
    "status": "delivered",
    "detail": null,
    "at": "2026-10-10T09:30:04.000Z"
  }
}

message.edited

Собеседник отредактировал сообщение.

{
  "id": 1042,
  "type": "message.edited",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "externalId": "BAE5F4C1D2A3B4C5",
    "text": "Исправленный текст",
    "at": "2026-10-10T09:35:00.000Z"
  }
}

message.deleted

Сообщение удалено (собеседником или вами).

{
  "id": 1042,
  "type": "message.deleted",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "externalId": "BAE5F4C1D2A3B4C5",
    "at": "2026-10-10T09:36:00.000Z"
  }
}

message.reaction

Реакция на сообщение поставлена или снята (emoji: null).

{
  "id": 1042,
  "type": "message.reaction",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "externalId": "BAE5F4C1D2A3B4C5",
    "actor": "79181234567@c.us",
    "emoji": "👍",
    "at": "2026-10-10T09:31:00.000Z"
  }
}

message.poll_vote

Голос в опросе: текущие итоги по вариантам.

{
  "id": 1042,
  "type": "message.poll_vote",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "externalId": "BAE5F4C1D2A3B4C5",
    "votes": [
      {
        "optionName": "14:00",
        "voters": [
          "79181234567@c.us"
        ]
      }
    ],
    "at": "2026-10-10T09:40:00.000Z"
  }
}

attachment.stored

Входящий файл скачан и готов к скачиванию.

{
  "id": 1042,
  "type": "attachment.stored",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "attachment": {
      "id": "f1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
      "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
      "direction": "in",
      "kind": "image",
      "fileName": "photo.jpg",
      "mimeType": "image/jpeg",
      "sizeBytes": 184213,
      "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "caption": "Вот так выглядит номер",
      "status": "stored",
      "error": null,
      "createdAt": "2026-10-10T09:28:11.000Z",
      "storedAt": "2026-10-10T09:28:12.000Z",
      "contentUrl": "/v1/attachments/f1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b/content"
    }
  }
}

attachment.failed

Входящий файл скачать не удалось (status: failed или expired, причина — в attachment.error).

{
  "id": 1042,
  "type": "attachment.failed",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
    "attachment": {
      "id": "f1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
      "messageId": "0b8e4d2a-6c1f-4a3e-9b7d-5e2f1c0a9d8b",
      "direction": "in",
      "kind": "image",
      "fileName": "photo.jpg",
      "mimeType": "image/jpeg",
      "sizeBytes": 184213,
      "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "caption": "Вот так выглядит номер",
      "status": "failed",
      "error": "download failed: HTTP 404",
      "createdAt": "2026-10-10T09:28:11.000Z",
      "storedAt": null,
      "contentUrl": null
    }
  }
}

chat.read

Чат отмечен прочитанным через API.

{
  "id": 1042,
  "type": "chat.read",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "chatId": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
    "chatExternalId": "79181234567@c.us"
  }
}

account.created

Появился новый номер (заказан вами или подключён оператором).

{
  "id": 1042,
  "type": "account.created",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "channel": "whatsapp",
    "label": "Отдел продаж",
    "provisionedVia": "partner"
  }
}

account.state

Сменилось состояние номера: привязан (authorized), отвязан (notAuthorized), заблокирован…

{
  "id": 1042,
  "type": "account.state",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "channel": "whatsapp",
    "label": "Отдел продаж",
    "previous": "notAuthorized",
    "state": "authorized",
    "wid": "79991234567@c.us",
    "reason": null
  }
}

account.billing

Сменился статус оплаты номера: active, grace, suspended.

{
  "id": 1042,
  "type": "account.billing",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "label": "Отдел продаж",
    "previous": "active",
    "status": "grace",
    "paidUntil": "2026-11-09T23:59:59.999Z"
  }
}

account.deleted

Номер удалён.

{
  "id": 1042,
  "type": "account.deleted",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "instanceDeleted": true
  }
}

payment.paid

Счёт оплачен. credited: false — тестовый платёж или номер удалили раньше, чем пришли деньги.

{
  "id": 1042,
  "type": "payment.paid",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "paymentId": "2a3b4c5d-6e7f-4a8b-9c0d-1e2f3a4b5c6d",
    "invoiceNumber": 1042,
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "amountMinor": 299000,
    "currency": "RUB",
    "periods": 1,
    "days": 30,
    "isTest": false,
    "credited": true,
    "paidUntil": "2026-12-09T23:59:59.999Z"
  }
}

call.incoming

Входящий звонок на номер (принять его через API нельзя — только узнать).

{
  "id": 1042,
  "type": "call.incoming",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "from": "79181234567@c.us",
    "status": "offer",
    "externalId": "CALL-5E2F1C",
    "at": "2026-10-10T12:00:00.000Z"
  }
}

story.created

Получена новая сторис контакта (после синхронизации сторис).

{
  "id": 1042,
  "type": "story.created",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "story": {
      "id": "7d6c5b4a-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
      "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
      "externalId": "BAE5C0FFEE",
      "direction": "in",
      "kind": "text",
      "text": "Скидки сегодня!",
      "caption": null,
      "backgroundColor": "#228B22",
      "font": "SERIF",
      "attachmentId": null,
      "sender": {
        "id": "79181234567@c.us",
        "name": "Анна"
      },
      "participants": null,
      "status": "sent",
      "statusDetail": null,
      "postedAt": "2026-10-10T08:00:00.000Z",
      "deletedAt": null,
      "views": []
    }
  }
}

story.status

Сменился статус своей сторис (sent, failed…).

{
  "id": 1042,
  "type": "story.status",
  "createdAt": "2026-10-10T09:30:00.000Z",
  "tenantId": "c3d4e5f6-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "data": {
    "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
    "storyId": "7d6c5b4a-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
    "status": "sent",
    "detail": null,
    "externalId": "BAE5C0FFEE"
  }
}