Чати та Повідомлення
Методи 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 означає, що повідомлення стали “Прочитані”)