Перейти до змісту

Авторизація оператора та Диплінки

Цей розділ пояснює, як отримати дійсний (валідний) токен авторизації для операторів у системі через API, а також описує генерацію диплінків (глибоких посилань) на конкретні чати.

URL API: https://chatapi.smsbat.com/ Swagger: https://chatapi.smsbat.com/index.html

Примітка: Замість Bearer авторизації для компанії ви можете використовувати заголовок X-Authorization-Key з токеном, який генерується в панелі керування у вашому Профілі.


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

Щоб отримати токен компанії, потрібно надіслати HTTP POST запит на /api/company/get-token із логіном та паролем.

Запит - Метод: POST - URL: https://chatapi.smsbat.com/api/company/get-token - Заголовки: Content-Type: application/json

Тіло запиту:

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

Відповідь - Код: 200 (OK) - Тіло: Рядок токену ("ваш_токен_рядок")

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


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

Надішліть GET-запит на /api/company/organization з токеном компанії.

Запит - Метод: GET - URL: https://chatapi.smsbat.com/api/company/organization - Заголовки: - 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} - Заголовки: - Authorization: Bearer {token} - Accept: text/plain

Відповідь - Код: 200 (OK) - Тіло:

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


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

Для додавання операторів надішліть POST-запит з компанійським токеном на /api/operator/synchronize.

Запит - Метод: POST - URL: https://chatapi.smsbat.com/api/operator/synchronize - Заголовки: - Authorization: Bearer {token} - Content-Type: application/json

Тіло:

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

Можливі статуси операторів: - Active (Активний): 0 - Inactive (Неактивний): 1 - Deleted (Видалений): 2


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

Для отримання токену окремого оператора надішліть POST-запит на /api/operator/get-token. Цим самим ви відкриваєте сесію для роботи конкретного менеджера.

Запит - Метод: POST - URL: https://chatapi.smsbat.com/api/operator/get-token - Заголовки: - Authorization: Bearer {token} - Content-Type: application/json

Тіло:

{
  "id": 0,
  "expiresAt": "2025-01-20T14:33:34.147Z"
}
expiresAt позначає час дії сесії, максимальне значення +24 години.

Відповідь - Код: 200 (OK) - Тіло: рядок (токен оператора)


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

Щоб перевірити дійсність токену оператора, відправте POST-запит:

Запит - Метод: POST - URL: https://chatapi.smsbat.com/api/operator/validate-token - Заголовки: - Authorization: Bearer {token} - Content-Type: application/json

Тіло: "токен оператора"

Відповідь (конкретний приклад валідного токену):

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


7. Інтеграція через диплінки до панелі чатів операторів

Зовнішні системи (CRM, облікові системи, вебсайти) можуть напряму відкривати панель чатів операторів за допомогою спеціальних диплінків. Авторизація користувача здійснюється за допомогою JWT токена, який передається як параметр.

⚠️ У разі невалідного або простроченого JWT браузер відкриє сторінку авторизації оператора.

Формат 1: Перехід за ID чату

https://chat.smsbat.com/?chat_raw_id=<id_чату>&token=<jwt_токен>

Формат 2: Перехід за номером телефону

https://chat.smsbat.com/?phone=<номер_телефону>&token=<jwt_токен>
Номер телефону обов'язково у міжнародному форматі (E.164, наприклад 380...)

Формат 3: Перехід за Альфа-іменем та номером

https://chat.smsbat.com/?from=<bm_id>&phone=<номер_телефону>&token=<jwt_токен>
bm_id — це ідентифікатор бренду, від імені якого ведеться комунікація.

Формат 4: Перехід за повними параметрами

https://chat.smsbat.com/?source=<id_Джерела>&from=<bm_id>&phone=<номер_телефону>&token=<jwt_токен>
Джерела чату (source): - 0 - Viber - 1 - ViberBot - 2 - TelegramBot - 3 - Whatsapp - 4 - Widget - 5 - Rozetka - 6 - Facebook - 7 - Instagram