Перейти до змісту

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

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

URL: https://chatapi.smsbat.com


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

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

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

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

Параметр Тип Опис
page integer Номер сторінки. За замовчуванням: 1
per_page integer Кількість елементів на сторінку. За замовчуванням: 20
search string Пошук за текстом (ім'я, телефон)
source integer Джерело чату (наприклад: 0 для Viber, 2 для Telegram бота)
date datetime Дві дати, між якими потрібно шукати. Приклад: ?date=2026-01-28&date=2026-01-29
tg_user_id integer ID користувача Telegram
phone string Телефон користувача
status integer Статус чату. 0 = New, 1 = Open, 2 = Waiting, 3 = OnPause, 4 = Closed
organizationId integer ID організації
operatorId integer ID оператора

Відповідь (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 означає, що повідомлення стали "Прочитані")