Подключение к Open API
Платформа SKIF.PRO предоставляет разработчикам и интеграторам доступ к открытому программному интерфейсу (Open API) для интеграции телематических данных с внешними ERP, CRM, TMS и 1С. Для взаимодействия с API требуется активная учетная запись в SKIF.PRO с правами интегратора или администратора компании.
Свойства подключения
Для отправки запросов и изучения структуры данных используются следующие параметры и адреса интерфейса:
| Параметр | Описание |
|---|---|
| Портал документации | Интерактивная веб-документация Swagger UI: https://api.skif.pro |
| Базовый URL API | Точка входа для запросов данных: https://app1.skif.pro/api_v1 |
| Спецификация OpenAPI | Машиночитаемая схема OpenAPI 3.0: https://api.skif.pro/openapi.json |
| Формат данных | Тело запросов и ответов передается в формате JSON (Content-Type: application/json) |
| Способы авторизации | Заголовок Authorization: Bearer <токен> или постоянный ключ user_company_api_key: <ключ> |
Авторизация в Open API
Взаимодействие с Open API требует подтверждения прав доступа. SKIF.PRO поддерживает два способа авторизации: по временному JWT-токену или по постоянному API-ключу компании.
Авторизация по временному токену
- Отправьте HTTP-запрос методом POST на адрес
https://app1.skif.pro/api_v1/loginс логином и паролем учетной записи в формате JSON. - Извлеките значение токена из заголовка
Authorizationответа сервера. - Передавайте полученный токен в заголовке
Authorization: Bearer <токен>во всех последующих запросах к SKIF.PRO.
Временный JWT-токен имеет ограниченный срок действия. Для серверных интеграций и скриптов фоновой синхронизации рекомендуется использовать постоянный API-ключ компании.
Авторизация по постоянному API-ключу компании
- Откройте Админ-панель SKIF.PRO и перейдите в карточку компании.
- Выпустите постоянный ключ доступа в настройках параметров API.
- Передавайте выпущенный ключ в HTTP-заголовке
user_company_api_keyв каждом запросе без выполнения предварительного логина.
Работа с Open API
После авторизации отправьте запрос к эндпоинтам SKIF.PRO для получения первого списка объектов мониторинга:
- Сформируйте POST-запрос к эндпоинту
https://app1.skif.pro/api_v1/units/list. - Укажите в теле запроса JSON параметры пагинации
{"from": 0, "count": 10}. - Добавьте авторизационный заголовок с Bearer-токеном или API-ключом компании.
- Отправьте подготовленный запрос через curl или HTTP-клиент вашей среды разработки.
Пример запроса через curl:
curl -X POST "https://app1.skif.pro/api_v1/units/list" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <токен>" \ -d '{"from": 0, "count": 10}'
Пример запроса на Python:
import requests url = "https://app1.skif.pro/api_v1/units/list" headers = { "Content-Type": "application/json", "Authorization": "Bearer <токен>", } payload = {"from": 0, "count": 10} response = requests.post(url, json=payload, headers=headers, timeout=10) data = response.json() print(data)
Ограничения запросов
Для обеспечения отказоустойчивости инфраструктуры и равного доступа к ресурсам действуют следующие лимиты:
- Частота вызовов ограничена лимитом 40 запросов в минуту на один токен или компанию. При превышении лимита сервер возвращает HTTP-код
429 Too Many Requests. - Таймаут обработки запросов на генерацию сложных отчетов и больших массивов телеметрии составляет 30 секунд.
- Максимальное количество объектов в ответе метода получения списка составляет 100 записей за один вызов.