Chathub REST API

Complete Developer Guide
API for managing Viber business chats, customer conversations, and automating customer support workflows
Updated August 29, 2025

Overview

Chathub REST API provides comprehensive tools for managing Viber business conversations, customer interactions, and support workflows.

Key Features

  • Company Token Management - Generate and manage company-level authentication tokens
  • Organization Management - Create and manage business organizations
  • Token Generation - Create operator-specific authentication tokens
  • Token Validation - Verify and validate authentication tokens
  • Widget Integration - Embed chat widgets in web applications

Authentication

All API requests require proper authentication using company or operator tokens.

Base URL:

https://api.chathub.smsbat.com

Swagger Documentation:

https://api.chathub.smsbat.com/swagger

Important

Replace with your actual authentication token in all requests.

3. Отримання токену компанії

Для отримання токену компанії потрібно відправити POST-запит з логіном та паролем компанії.

POST/api/company/get-token

Заголовки запиту:

Content-Type: application/json

Тіло запиту:

{
  "login": "string",
  "password": "string"
}

Приклад відповіді (200 OK):

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Важливо:

Збережіть отриманий token для наступних запитів.

4. Отримання списку організацій

Для отримання списку організацій необхідно відправити GET-запит під токеном компанії.

GET/api/company/organization

Заголовки запиту:

Authorization: Bearer {token}
Accept: text/plain

Приклад відповіді (200 OK):

[
  {
    "id": 6,
    "name": "string"
  },
  {
    "id": 24,
    "name": "test_costs"
  }
]

5. Управління операторами

API дозволяє отримувати список операторів та додавати нових операторів до організації.

5.1. Отримання списку операторів по організації

GET/api/operator?organizationId={id}

Заголовки запиту:

Authorization: Bearer {token}
Accept: text/plain

Приклад відповіді (200 OK):

[
  {
    "id": 21,
    "name": "string",
    "status": 1,
    "organization": {
      "id": 24,
      "name": "test_costs"
    }
  }
]

5.2. Додавання операторів до системи

POST/api/operator/synchronize

Заголовки запиту:

Authorization: Bearer {token}
Content-Type: application/json

Тіло запиту:

[
  {
    "organizationId": 24,
    "name": "string"
  }
]

Приклад відповіді (200 OK):

[
  {
    "id": 21,
    "status": 0,
    "name": "string"
  }
]

Можливі статуси операторів:

Active
0
Активний оператор
Inactive
1
Неактивний оператор
Deleted
2
Видалений оператор

6. Токени операторів

Для роботи з чат-віджетом необхідно отримати токен оператора та перевірити його валідність.

6.1. Отримання токену оператора

POST/api/operator/get-token

Заголовки запиту:

Authorization: Bearer {token}
Content-Type: application/json

Тіло запиту:

{
  "id": 0,
  "expiresAt": "2025-01-20T14:33:34.147Z"
}

Приклад відповіді (200 OK):

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

6.2. Валідація токену оператора

POST/api/operator/validate-token

Заголовки запиту:

Authorization: Bearer {token}
Content-Type: application/json

Тіло запиту:

"токен оператору"

Приклад відповіді - валідний токен (200 OK):

{
  "isValid": true,
  "operatorId": 0,
  "clientId": 0,
  "expiresAt": "2024-12-28T14:04:15.861Z",
  "error": null
}

Приклад відповіді - невалідний токен (200 OK):

{
  "isValid": false,
  "error": "Invalid token"
}

7. Інтеграція віджета

Після отримання токену оператора, ви можете інтегрувати чат-віджет у ваш додаток.

7.1. Підключення віджета

Вставте отриманий токен оператора у віджет:

HTML код для підключення:

<script type="module" id="operator-chat-panel-script"
  src="https://widget.smsbat.com/operator-chat-panel/widget-script.js"
  token="YOUR_OPERATOR_JWT_TOKEN"></script>

Примітки:

  • Усі запити мають надсилатися з відповідними заголовками
  • Переконайтесь, що термін дії токену (expiresAt) не сплив перед використанням
  • Замініть YOUR_OPERATOR_JWT_TOKEN на реальний токен оператора

8. Приклад послідовності дій

Повний приклад інтеграції з Chathub API від отримання токену до підключення віджета.

8.1. Повна послідовність дій

1

Отримайте токен компанії

Відправте POST-запит на /api/company/get-token з логіном і паролем компанії. Збережіть отриманий токен для подальших запитів.

2

Отримайте список організацій

Використовуйте токен компанії для відправлення GET-запиту на /api/company/organization. Виберіть organizationId, з яким будете працювати.

3

Отримайте список операторів

Відправте GET-запит на /api/operator з параметром organizationId. Перегляньте інформацію про операторів, пов'язаних з організацією.

4

Додайте нового оператора

Відправте POST-запит на /api/operator/synchronize з інформацією про оператора (organizationId та ім'я оператора).

5

Отримайте токен оператора

Використовуйте POST-запит на /api/operator/get-token, щоб отримати токен певного оператора.

6

Перевірте дійсність токену

Надішліть токен оператора для перевірки на /api/operator/validate-token.

7

Інтегруйте отриманий токен

Вставте отриманий токен у віджет у вашому додатку:

<script type="module" id="operator-chat-panel-script"
  src="https://widget.smsbat.com/operator-chat-panel/widget-script.js"
  token="YOUR_OPERATOR_JWT_TOKEN"></script>

Важливі примітки:

  • Усі запити мають надсилатися з відповідними заголовками
  • Переконайтесь, що термін дії токену (expiresAt) не сплив перед використанням
  • Замість Bearer авторизації для компанії можна використовувати хедерс X-Authorization-Key
  • Токен оператора можна отримати в панелі в розділі Профіль