Chathub REST API

Повний посібник розробника
API для управління Viber бізнес-чатами, клієнтськими розмовами та автоматизації робочих процесів підтримки клієнтів
Оновлено 29 серпня 2025

Огляд

Chathub REST API надає комплексні інструменти для управління Viber бізнес-розмовами, взаємодією з клієнтами та робочими процесами підтримки.

Ключові функції

  • Управління токенами компанії - Генерування та управління токенами авторизації рівня компанії
  • Управління організаціями - Створення та управління бізнес-організаціями
  • Генерування токенів - Створення токенів авторизації для конкретних операторів
  • Валідація токенів - Перевірка та валідація токенів авторизації
  • Інтеграція віджету - Вбудовування чат-віджетів у веб-додатки

Авторизація

Всі API-запити вимагають правильної авторизації за допомогою токенів компанії або оператора.

Базовий URL:

https://api.chathub.smsbat.com

Документація Swagger:

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

Важливо

Замініть на ваш фактичний токен авторизації у всіх запитах.

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
  • Токен оператора можна отримати в панелі в розділі Профіль