Чатове и Съобщения (Chats and Messages)
API методи за извличане на метаданни за разговори в ChatHub, управление на статуси и преглед на исторически вериги от съобщения.
URL: https://chatapi.smsbat.com
1. Вземи Всички Чатове
Извличане на списък с чатове с динамично филтриране и пагинация.
Заявка
- Метод: GET
- URL: /api/chat/chats
- Авторизация (Authorization): Bearer Token (Задължително)
Параметри на заявката (Query Parameters)
| Параметър | Тип | Описание |
|---|---|---|
page |
integer |
Номер на страница. По подразбиране: 1 |
per_page |
integer |
Елементи на страница. По подразбиране: 20 |
search |
string |
Търсене в текст (напр. име, телефон) |
source |
integer |
Изброяване на източника на чат (напр. 1 за Viber Bot, 2 за Telegram) |
date |
datetime |
Извлича чатове между две дати (изисква два идентични ключа за параметри в URL адреса). Пример: ?date=2026-01-28&date=2026-01-29 |
tg_user_id |
integer |
Telegram User ID |
phone |
string |
Телефонен номер |
status |
integer |
0 = Нов, 1 = Отворен, 2 = Изчакващ, 3 = На пауза, 4 = Затворен |
organizationId |
integer |
Стесняване по организация |
operatorId |
integer |
Стесняване по назначен оператор |
Отговор (200 OK)
{
"total": 124,
"items": [
{
"id": 123,
"theme": "Support Ticket #491",
"operator": {
"id": 21,
"name": "Джейн",
"photo": "url_to_photo.png"
},
"chatStatus": 1,
"countUnread": 3
}
]
}
2. Промяна на Статуса на Чат
Актуализира присвоения статус на конкретна чат сесия.
Заявка
- Метод: PUT
- URL: /api/chat/status
- Авторизация (Authorization): Bearer Token
- Заглавки (Headers): Content-Type: application/json
Тяло (Body):
Стойности на Статуса (Status Enum Values):
- 0: Нов (Newly generated)
- 1: Отворен (Активно се обработва от оператор)
- 2: Изчакващ (Очаква отговор от потребителя)
- 3: На пауза (Paused state)
- 4: Затворен (Архивиран)
3. Изтриване на Чат
Изтрива окончателно сървър чрез неговия уникален идентификатор (ID).
Заявка
- Метод: DELETE
- URL: /api/chat/chats/{id}
- Авторизация (Authorization): Bearer Token
Отговор (200 OK)
Връща HTTP 200, за да потвърди успешното изтриване. Тялото обикновено е празно или строго "OK".
4. Извличане на Съобщения в Чата
Извлича (dumps) всички исторически изпратени и получени съобщения в рамките на определен чат.
Заявка
- Метод: GET
- URL: /api/chat/chats/{chatId}/messages
- Авторизация (Authorization): 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
Типове Съобщения (Message Types):
- 0: Текст
- 1: Снимка
- 2: Файл
5. Актуализиране на Статуса на Съобщенията
Маркира съобщение (или множество съобщения) вътре в активен чат с нови статуси на доставка.
Заявка
- Метод: PUT
- URL: /api/chat/messages/status
- Авторизация (Authorization): Bearer Token
- Заглавки (Headers): Content-Type: application/json
Тяло (Body):
(Статус3 маркира изпратените ID-та на съобщения като "Прочетено" / "Read")