Chats and Messages
API methods for fetching ChatHub conversation metadata, managing statuses, and reviewing historical message chains.
URL: https://chatapi.smsbat.com
1. Get All Chats
Fetch a list of chats with dynamic filtering and pagination.
Request
- Method: GET
- URL: /api/chat/chats
- Authorization: Bearer Token (Required)
Query Parameters
| Parameter | Type | Description |
|---|---|---|
page |
integer |
Page number. Default: 1 |
per_page |
integer |
Items per page. Default: 20 |
search |
string |
Text search (e.g., name, phone) |
source |
integer |
Chat Source Enum (e.g. 1 for Viber Bot, 2 for Telegram) |
date |
datetime |
Fetches chats between two dates (requires two identical parameter keys in the URL). Ex: ?date=2026-01-28&date=2026-01-29 |
tg_user_id |
integer |
Telegram User ID |
phone |
string |
Phone Number |
status |
integer |
0 = New, 1 = Open, 2 = Waiting, 3 = OnPause, 4 = Closed |
organizationId |
integer |
Narrow by organization |
operatorId |
integer |
Narrow by assigned operator |
Response (200 OK)
{
"total": 124,
"items": [
{
"id": 123,
"theme": "Support Ticket #491",
"operator": {
"id": 21,
"name": "Jane",
"photo": "url_to_photo.png"
},
"chatStatus": 1,
"countUnread": 3
}
]
}
2. Change Chat Status
Updates the assigned status of a specific chat session.
Request
- Method: PUT
- URL: /api/chat/status
- Authorization: Bearer Token
- Headers: Content-Type: application/json
Body:
Status Enum Values:
- 0: New (Newly generated)
- 1: Open (Actively handled by operator)
- 2: Waiting (Awaiting user reply)
- 3: OnPause (Paused state)
- 4: Closed (Archived)
3. Delete a Chat
Permanently deletes a chat via its unique ID.
Request
- Method: DELETE
- URL: /api/chat/chats/{id}
- Authorization: Bearer Token
Response (200 OK)
Returns an HTTP 200 to confirm successful deletion. Body is typically empty or strictly "OK".
4. Retrieve Chat Messages
Dumps all messages historically sent and received within a particular chat.
Request
- Method: GET
- URL: /api/chat/chats/{chatId}/messages
- Authorization: Bearer Token
Response (200 OK)
[
{
"id": 1,
"chatId": 123,
"message": "Hello, how can I help?",
"phone": "380936670003",
"author": 0,
"status": 3,
"date": "2025-04-01T09:46:24.687Z",
"operator": {
"id": 21,
"name": "Jane"
},
"messageType": 0
}
]
0: Operator
- 1: Client
- 2: System Bot
- 3: Viber Business Account
Message Types:
- 0: Text
- 1: Photo
- 2: File
5. Update Messages Status
Marks a message (or multiple messages) inside an active chat with new delivery statuses.
Request
- Method: PUT
- URL: /api/chat/messages/status
- Authorization: Bearer Token
- Headers: Content-Type: application/json
Body:
(Status3 marks the sent message IDs as "Read")