Чати та Повідомлення
Методи 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
Тіло:
Доступні значення 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
}
]
0: Оператор
- 1: Клієнт
- 2: Бот
- 3: Viber Business Account
Типи (messageType):
- 0: Текст
- 1: Фотографія
- 2: Файл
5. Оновити статус повідомлень
Оновлює статус для одного або декількох повідомлень одночасно.
Запит
- Метод: PUT
- URL: /api/chat/messages/status
- Авторизація: Bearer Token
- Заголовки: Content-Type: application/json
Тіло:
(Статус3 означає, що повідомлення стали "Прочитані")