Оторизация на оператор и дълбоки връзки (Deep Links)
Това ръководство обяснява как да получите валиден токен за оторизация за оператори в системата чрез API и как да използвате дълбоки връзки, за да навигирате към панела за чат.
API Базов URL адрес: https://chatapi.smsbat.com/
Swagger: https://chatapi.smsbat.com/index.html
Забележка: Можете да използвате заглавката
X-Authorization-Keyс вашия токен (наличен във вашия профил в контролния панел) вместо авторизация сBearerза заявки на ниво компания.
1. Вземете Company Token
За да получите токена за компания, изпратете HTTP POST заявка към /api/company/get-token, съдържаща идентификационните данни за влизане (credentials) на компанията.
Заявка
- Метод: POST
- URL:
https://chatapi.smsbat.com/api/company/get-token - Headers:
Content-Type: application/json
Тяло:
{
"login": "string",
"password": "string"
}
Отговор
- Код на състоянието: 200 (OK)
- Тяло: Стринг на токена (
"your_token_string")
Забележка: Запазете получения токен за последващи заявки.
2. Извлечете списък с организации
Изпратете GET заявка до /api/company/organization, използвайки токена за компанията, за да изведете списък с вашите организации.
Заявка
- Метод: GET
- URL:
https://chatapi.smsbat.com/api/company/organization - Headers:
Authorization: Bearer {token}Accept: text/plain
Отговор
- Код на състоянието: 200 (OK)
- Тяло:
[
{
"id": 6,
"name": "string"
}
]
3. Извлечете оператори по организация
Изпратете GET заявка до /api/operator, използвайки параметъра organizationId.
Заявка
- Метод: GET
- URL:
https://chatapi.smsbat.com/api/operator?organizationId={id} - Headers:
Authorization: Bearer {token}Accept: text/plain
Отговор
- Код на състоянието: 200 (OK)
- Тяло:
[
{
"id": 21,
"name": "string",
"status": 1,
"organization": {
"id": 24,
"name": "test_costs"
}
}
]
4. Добавете оператори към системата
Използвайте токена за компанията за достъп до тази крайна точка и синхронизиране на оператори със системата.
Заявка
- Метод: POST
- URL:
https://chatapi.smsbat.com/api/operator/synchronize - Headers:
Authorization: Bearer {token}Content-Type: application/json
Тяло:
[
{
"organizationId": 24,
"name": "string"
}
]
Отговор
- Код на състоянието: 200 (OK)
- Тяло:
[
{
"id": 21,
"status": 0,
"name": "string"
}
]
Възможни статуси на оператор:
- Активен:
0 - Неактивен:
1 - Изтрит:
2
5. Получете Operator Token
Оторизирайте с токена за компанията, за да получите токен за конкретен оператор.
Заявка
- Метод: POST
- URL:
https://chatapi.smsbat.com/api/operator/get-token - Headers:
Authorization: Bearer {token}Content-Type: application/json
Тяло:
{
"id": 0,
"expiresAt": "2025-01-20T14:33:34.147Z"
}
expiresAt е задължително и определя продължителността на сесията на оператора (максимум +24 часа).
Отговор
- Код на състоянието: 200 (OK)
- Тяло: Стринг на токена
6. Валидирайте Operator Token
Проверете валидността на токена на оператор.
Заявка
- Метод: POST
- URL:
https://chatapi.smsbat.com/api/operator/validate-token - Headers:
Authorization: Bearer {token}Content-Type: application/json
Тяло: "operator_token_string"
Валиден отговор (200 OK):
{
"isValid": true,
"operatorId": 0,
"clientId": 0,
"expiresAt": "2024-12-28T14:04:15.861Z",
"error": null
}
7. Дълбоки връзки (Deep Linking) към панела за чат на оператора
Външни системи (CRM, ERP, вътрешни уебсайтове) могат директно да отварят панела за Чат, като използват дълбоки връзки и подават JWT токена на оператора като параметър. Ако токенът е невалиден или изтекъл, потребителят ще бъде пренасочен към интерфейса за влизане (login).
Формат 1: По ID на чат
https://chat.smsbat.com/?chat_raw_id=<chat_id>&token=<jwt_token>
Формат 2: По телефонен номер
https://chat.smsbat.com/?phone=<phone_number>&token=<jwt_token>
Телефонният номер трябва да бъде в международен формат E.164.
Формат 3: По Алфа име (Alpha name) и телефон
https://chat.smsbat.com/?from=<bm_id>&phone=<phone_number>&token=<jwt_token>
Формат 4: Пълни детайли на източника
Посочете точно от кой източник да пресечете съобщения:
https://chat.smsbat.com/?source=<sourceId>&from=<bm_id>&phone=<phone_number>&token=<jwt_token>
Източници на чата:
0- Viber1- ViberBot2- TelegramBot3- Whatsapp4- Widget5- Rozetka6- Facebook7- Instagram