xaxumessageAPI
Методы API

Чаты и история

Список чатов, переписка, история статусов, «прочитано», «печатает…» и архив.

Список чатов

GET/v1/chats
API-ключ клиентаУспех: 200

Сначала чаты с самой свежей активностью.

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

accountIduuid
только чаты одного номера
unreadboolean
true — только с непрочитанными
archivedboolean
архивные / неархивные
searchstring ≤ 100
поиск по названию, имени и телефону
limitint 1…200
размер страницы
cursorstring
nextCursor из прошлого ответа
Запрос
curl "https://msg.xaxu.am/v1/chats?accountId=5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10&unread=true&limit=50" \
  -H "Authorization: Bearer $XM_API_KEY"
Ответ 200
{
  "chats": [
    {
      "id": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
      "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
      "externalId": "79181234567@c.us",
      "kind": "direct",
      "title": "Анна",
      "contactName": "Анна",
      "phone": "79181234567",
      "avatarUrl": null,
      "lastMessageAt": "2026-10-10T09:28:11.000Z",
      "unreadCount": 2,
      "archived": false
    }
  ],
  "nextCursor": null
}

Один чат

GET/v1/chats/:id
API-ключ клиентаУспех: 200

Параметры пути

iduuidобязательно
id чата

Ошибки

404not_foundчата нет или он принадлежит другому клиенту
Запрос
curl "https://msg.xaxu.am/v1/chats/{id}" \
  -H "Authorization: Bearer $XM_API_KEY"
Ответ 200
{
  "id": "9e2f7a1c-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
  "accountId": "5b1e9c3a-8f2d-4c71-9a0e-2d6f1b7c4e10",
  "externalId": "79181234567@c.us",
  "kind": "direct",
  "title": "Анна",
  "contactName": "Анна",
  "phone": "79181234567",
  "avatarUrl": null,
  "lastMessageAt": "2026-10-10T09:28:11.000Z",
  "unreadCount": 2,
  "archived": false
}

Сообщения чата

GET/v1/chats/:id/messages
API-ключ клиентаУспех: 200

Сначала новые; листайте назад по nextCursor. Каждое сообщение — с файлами (attachments) и реакциями (reactions).

Параметры пути

iduuidобязательно
id чата

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

limitint 1…200
размер страницы
cursorstring
nextCursor из прошлого ответа

Ошибки

404not_foundчата нет или он принадлежит другому клиенту
Запрос
curl "https://msg.xaxu.am/v1/chats/{id}/messages?limit=50" \
  -H "Authorization: Bearer $XM_API_KEY"
Ответ 200
{
  "messages": [
    {
      "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": []
    }
  ],
  "nextCursor": "MjAyNi0xMC0xMFQwOToyODoxMS4wMDBa…"
}

Одно сообщение

GET/v1/messages/:id
API-ключ клиентаУспех: 200

Параметры пути

iduuidобязательно
id сообщения

Ошибки

404not_foundсообщения нет или он принадлежит другому клиенту
Запрос
curl "https://msg.xaxu.am/v1/messages/{id}" \
  -H "Authorization: Bearer $XM_API_KEY"
Ответ 200
{
  "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": "image",
  "text": null,
  "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": [
    {
      "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"
    }
  ],
  "reactions": []
}

История статусов сообщения

GET/v1/messages/:id/history
API-ключ клиентаУспех: 200

Когда сообщение было поставлено в очередь, отправлено, доставлено и прочитано.

Параметры пути

iduuidобязательно
id сообщения

Ошибки

404not_foundсообщения нет или он принадлежит другому клиенту
Запрос
curl "https://msg.xaxu.am/v1/messages/{id}/history" \
  -H "Authorization: Bearer $XM_API_KEY"
Ответ 200
{
  "history": [
    {
      "status": "sending",
      "detail": null,
      "at": "2026-10-10T09:30:01.000Z"
    },
    {
      "status": "sent",
      "detail": null,
      "at": "2026-10-10T09:30:02.000Z"
    },
    {
      "status": "delivered",
      "detail": null,
      "at": "2026-10-10T09:30:04.000Z"
    },
    {
      "status": "read",
      "detail": null,
      "at": "2026-10-10T09:31:40.000Z"
    }
  ]
}

Отметить чат прочитанным

POST/v1/chats/:id/read
API-ключ клиентаУспех: 202

Сразу обнуляет unreadCount, переводит входящие в read и отправляет собеседнику отметку «прочитано». Событие — chat.read.

WhatsAppдаTelegramдаMAXда

Параметры пути

iduuidобязательно
id чата

Тело запроса

upToMessageIduuid
прочитано до этого сообщения включительно (по умолчанию — всё)

Ошибки

404not_foundчата нет или он принадлежит другому клиенту
Запрос
curl -X POST "https://msg.xaxu.am/v1/chats/{id}/read" \
  -H "Authorization: Bearer $XM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Ответ 202
{
  "accepted": true
}

Показать «печатает…»

POST/v1/chats/:id/typing
API-ключ клиентаУспех: 202
WhatsAppдаTelegramдаMAXнет

Параметры пути

iduuidобязательно
id чата

Тело запроса

msint 500…20000
сколько показывать, мс

Ошибки

422unsupportedмессенджер номера не умеет эту операцию
404not_foundчата нет или он принадлежит другому клиенту
Запрос
curl -X POST "https://msg.xaxu.am/v1/chats/{id}/typing" \
  -H "Authorization: Bearer $XM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ms":3000}'
Ответ 202
{
  "accepted": true
}

Архивировать чат

POST/v1/chats/:id/archive
API-ключ клиентаУспех: 202
WhatsAppдаTelegramдаMAXнет

Параметры пути

iduuidобязательно
id чата

Тело запроса

archivedbooleanобязательно
true — в архив, false — из архива

Ошибки

422unsupportedмессенджер номера не умеет эту операцию
404not_foundчата нет или он принадлежит другому клиенту
Запрос
curl -X POST "https://msg.xaxu.am/v1/chats/{id}/archive" \
  -H "Authorization: Bearer $XM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"archived":true}'
Ответ 202
{
  "accepted": true
}