Help Center Чати та Повідомлення

Чати та Повідомлення

Методи API для отримання метаданих розмов у ChatHub, управління статусами чатів та перегляду історичних ланцюжків повідомлень.

URL: https://chatapi.smsbat.com


1. Отримати всі чати

Отримує список чатів із можливістю динамічної фільтрації за різними параметрами.

Запит

  • Метод: GET
  • URL: /api/chat/chats
  • Авторизація: Bearer Token (Обов’язкова)

Параметри запиту (Query)

ПараметрТипОпис
pageintegerНомер сторінки. За замовчуванням: 1
per_pageintegerКількість елементів на сторінку. За замовчуванням: 20
searchstringПошук за текстом (ім’я, телефон)
sourceintegerДжерело чату (наприклад: 0 для Viber, 2 для Telegram бота)
datedatetimeДві дати, між якими потрібно шукати. Приклад: ?date=2026-01-28&date=2026-01-29
tg_user_idintegerID користувача Telegram
phonestringТелефон користувача
statusintegerСтатус чату. 0 = New, 1 = Open, 2 = Waiting, 3 = OnPause, 4 = Closed
organizationIdintegerID організації
operatorIdintegerID оператора

Відповідь (200 OK)

{
  "total": 124,
  "items": [
    {
       "id": 123,
       "theme": "Заявка #491",
       "operator": {
           "id": 21,
           "name": "Jane",
           "photo": "url_to_photo.png"
       },
       "chatStatus": 1,
       "countUnread": 3
    }
  ]
}

2. Змінити статус чату

Оновлює поточний статус певного сеансу чату (за його ID).

Запит

  • Метод: PUT
  • URL: /api/chat/status
  • Авторизація: Bearer Token
  • Заголовки: Content-Type: application/json

Тіло:

{
  "id": 123,
  "status": 1
}

Доступні значення status:

  • 0: New (Новий, ще не оброблявся)
  • 1: Open (Активний, обробляється оператором)
  • 2: Waiting (Очікує відповіді)
  • 3: OnPause (Призупинено)
  • 4: Closed (Закритий чат)

3. Видалити чат

Остаточне видалення чату з бази за вказаним ідентифікатором.

Запит

  • Метод: DELETE
  • URL: /api/chat/chats/{id}
  • Авторизація: Bearer Token

Відповідь (200 OK) Повертає підтвердження успішного видалення. Вміст результату часто просто "OK".


4. Отримати повідомлення чату

Повертає масив усіх повідомлень (історії листування) всередині вибраного чату.

Запит

  • Метод: GET
  • URL: /api/chat/chats/{chatId}/messages
  • Авторизація: Bearer Token

Відповідь (200 OK)

[
  {
        "id": 1,
        "chatId": 123,
        "message": "Доброго дня, чим можу допомогти?",
        "phone": "380936670003",
        "author": 0,
        "status": 3,
        "date": "2025-04-01T09:46:24.687Z",
        "operator": {
          "id": 21,
          "name": "Jane"
        },
        "messageType": 0
  }
]

Рівні Author (Хто надіслав):

  • 0: Оператор
  • 1: Клієнт
  • 2: Бот
  • 3: Viber Business Account

Типи (messageType):

  • 0: Текст
  • 1: Фотографія
  • 2: Файл

5. Оновити статус повідомлень

Оновлює статус для одного або декількох повідомлень одночасно.

Запит

  • Метод: PUT
  • URL: /api/chat/messages/status
  • Авторизація: Bearer Token
  • Заголовки: Content-Type: application/json

Тіло:

{
  "status": 3,
  "messageIds": [1, 2, 3]
}

(Статус 3 означає, що повідомлення стали “Прочитані”)