# Подключение к 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-ключу компании. ### Авторизация по временному токену 1. Отправьте HTTP-запрос методом POST на адрес `https://app1.skif.pro/api_v1/login` с логином и паролем учетной записи в формате JSON. 2. Извлеките значение токена из заголовка `Authorization` ответа сервера. 3. Передавайте полученный токен в заголовке `Authorization: Bearer <токен>` во всех последующих запросах к SKIF.PRO. > Временный JWT-токен имеет ограниченный срок действия. Для серверных интеграций и скриптов фоновой синхронизации рекомендуется использовать постоянный API-ключ компании. ### Авторизация по постоянному API-ключу компании 1. Откройте **Админ-панель** SKIF.PRO и перейдите в карточку компании. 2. Выпустите постоянный ключ доступа в настройках параметров API. 3. Передавайте выпущенный ключ в HTTP-заголовке `user_company_api_key` в каждом запросе без выполнения предварительного логина. ## Работа с Open API После авторизации отправьте запрос к эндпоинтам SKIF.PRO для получения первого списка объектов мониторинга: 1. Сформируйте POST-запрос к эндпоинту `https://app1.skif.pro/api_v1/units/list`. 2. Укажите в теле запроса JSON параметры пагинации `{"from": 0, "count": 10}`. 3. Добавьте авторизационный заголовок с Bearer-токеном или API-ключом компании. 4. Отправьте подготовленный запрос через curl или HTTP-клиент вашей среды разработки. Пример запроса через curl: ```bash 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: ```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 записей за один вызов. ## Смотрите также - [Вход в систему мониторинга](Вход%20в%20систему%20мониторинга.md) - [Подключение оборудования](Подключение%20оборудования.md) - [Создание объектов](Создание%20объектов.md)