Chathub REST API
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.comSwagger Documentation:
https://api.chathub.smsbat.com/swaggerImportant
Replace with your actual authentication token in all requests.
3. Отримання токену компанії
Для отримання токену компанії потрібно відправити POST-запит з логіном та паролем компанії.
Заголовки запиту:
Content-Type: application/jsonТіло запиту:
{
"login": "string",
"password": "string"
}Приклад відповіді (200 OK):
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."Важливо:
Збережіть отриманий token для наступних запитів.
4. Отримання списку організацій
Для отримання списку організацій необхідно відправити GET-запит під токеном компанії.
Заголовки запиту:
Authorization: Bearer {token}
Accept: text/plainПриклад відповіді (200 OK):
[
{
"id": 6,
"name": "string"
},
{
"id": 24,
"name": "test_costs"
}
]5. Управління операторами
API дозволяє отримувати список операторів та додавати нових операторів до організації.
5.1. Отримання списку операторів по організації
Заголовки запиту:
Authorization: Bearer {token}
Accept: text/plainПриклад відповіді (200 OK):
[
{
"id": 21,
"name": "string",
"status": 1,
"organization": {
"id": 24,
"name": "test_costs"
}
}
]5.2. Додавання операторів до системи
Заголовки запиту:
Authorization: Bearer {token}
Content-Type: application/jsonТіло запиту:
[
{
"organizationId": 24,
"name": "string"
}
]Приклад відповіді (200 OK):
[
{
"id": 21,
"status": 0,
"name": "string"
}
]Можливі статуси операторів:
6. Токени операторів
Для роботи з чат-віджетом необхідно отримати токен оператора та перевірити його валідність.
6.1. Отримання токену оператора
Заголовки запиту:
Authorization: Bearer {token}
Content-Type: application/jsonТіло запиту:
{
"id": 0,
"expiresAt": "2025-01-20T14:33:34.147Z"
}Приклад відповіді (200 OK):
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."6.2. Валідація токену оператора
Заголовки запиту:
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. Повна послідовність дій
Отримайте токен компанії
Відправте POST-запит на /api/company/get-token з логіном і паролем компанії. Збережіть отриманий токен для подальших запитів.
Отримайте список організацій
Використовуйте токен компанії для відправлення GET-запиту на /api/company/organization. Виберіть organizationId, з яким будете працювати.
Отримайте список операторів
Відправте GET-запит на /api/operator з параметром organizationId. Перегляньте інформацію про операторів, пов'язаних з організацією.
Додайте нового оператора
Відправте POST-запит на /api/operator/synchronize з інформацією про оператора (organizationId та ім'я оператора).
Отримайте токен оператора
Використовуйте POST-запит на /api/operator/get-token, щоб отримати токен певного оператора.
Перевірте дійсність токену
Надішліть токен оператора для перевірки на /api/operator/validate-token.
Інтегруйте отриманий токен
Вставте отриманий токен у віджет у вашому додатку:
<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 - Токен оператора можна отримати в панелі в розділі Профіль