Skip to content

API система. Общая информация

API система использует стандартные HTTP-методы (GET, POST, PUT, DELETE, PATCH) для выполнения операций с сущностями. Для авторизации используется механизм access и refresh токенов.

Авторизация

Процесс авторизации

  1. Пользователь вызывает метод аутентификации https://demo.iqtek.ru/dialer/api/v1/docs#/users/__call___acl_users_login_post, передавая логин и пароль
{
"login": "string",
"password": "string"
}
  1. В ответ система возвращает:
  2. Access token (действует 24 часа по умолчанию)
  3. Refresh token (действует 7 дней по умолчанию)
  4. ID сессии (используется для управления сессиями)

Успешный ответ (200)

{
  "success": true,
  "data": {
    "access_token": "string",
    "refresh_token": "string",
    "session_id": "string"
  }
}
Ошибка
{
  "success": false,
  "message": "string",
  "details": "string"
}
3. Затем access token вставляется в окошко авторизации как bearerAuth. После этого появляется возможность пользоваться всеми методами, а не только публичными.

Access token

  1. Отправляется после успешной авторизации в каждый запрос в header заголовках.
  2. Создается по JWT стандарту.
  3. Содержит закодированные данные:
    • когда был выдан
    • id пользователя
    • под каким логином пользователь авторизовался
    • битовая маска всех прав пользователя

Refresh token

  • Позволяет получить новый access token без повторного ввода логина/пароля
  • Используется для фоновой переавторизации, чтобы не прерывать работу пользователя

Типы авторизации

  1. Стандартная (по access token)
  2. По API-key (бессрочный токен для интеграций между системами). Пользователь вызывает метод аутентификации https://demo.iqtek.ru/dialer/api/v1/docs#/users/__call___acl_users_api_key_login_post, передавая логин и пароль.

Основные методы HTTP

  • GET - получение данных без их изменения
  • POST - создание новой сущности
  • PUT - полное обновление сущности (требует передачи всех полей)
  • PATCH - частичное обновление сущности
  • DELETE - удаление сущности

Дополнительно может использоваться:

  • POST/search - метод поиска
  • POST/check - метод проверки корректности настройки сущности на странице создания
  • PATCH/bulk - метод для массового изменения отдельных полей
  • DELETE/bulk - метод для массового удаления