Към съдържанието

Чатове и Съобщения (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):

{
  "id": 123,
  "status": 1
}

Стойности на Статуса (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
  }
]
Автори (Authors): - 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):

{
  "status": 3,
  "messageIds": [1, 2, 3]
}
(Статус 3 маркира изпратените ID-та на съобщения като "Прочетено" / "Read")