Начало интеграции
Профессиональная интеграция с Frigolive охватывает три отдельные границы доверия: Frigolive Public API, ваш бэкенд-сервис и ваш веб- или мобильный интерфейс. Долговечные учетные данные клиента (client credentials) хранятся исключительно на уровне бэкенда. Интерфейс никогда не имеет доступа к секрету клиента Frigolive.
Подготовка доступа
Frigolive — или авторизованный администратор клиента — создает учетные данные для интеграции. Эта запись определяет, к каким реальным клиентским аккаунтам открыт доступ, какие операции (области доступа / scopes) разрешены и, при необходимости, из каких диапазонов IP-адресов принимаются запросы.
Учетные данные создаются в разделе Настройки → Учетные данные API (Settings → API Credentials) панели Frigolive; там же можно ротировать секрет и отозвать учетные данные.
Вы сохраняете секрет клиента, отображаемый ровно один раз, в своем защищенном хранилище секретов. Утерянный секрет нельзя посмотреть повторно: генерируется новый секрет, а старый контролируемо выводится из обращения.
В процессе работы интеграции
Ваш бэкенд-сервис обменивает свои сервисные учетные данные на краткосрочный токен доступа (access token) и
кэширует его в оперативной памяти. Сначала он запрашивает список аккаунтов, доступных данной учетной записи.
Если доступно более одного аккаунта, каждый запрос данных явно указывает целевой аккаунт в заголовке X-Frigolive-Account-ID.
Frigolive не полагается слепо на переданный идентификатор аккаунта. Система повторно проверяет, что аккаунт входит в список разрешенных (allow-list), токен содержит требуемый scope, а запрашиваемый ресурс действительно принадлежит этому тенанту. Попытка угадать ID устройства не предоставит доступ.
Подключение вашего приложения (паттерн BFF)
Браузеры ваших пользователей аутентифицируются на вашем бэкенде с помощью ваших собственных сессий. То, какой конечный пользователь может видеть то или иное устройство, определяется вашим уровнем авторизации. Бэкенд запрашивает необходимые данные у Frigolive по каналу server-to-server и преобразует их в структуры данных вашего продукта.
Public API v1 охватывает аккаунты, локации, перевозчиков, получателей, шаблоны оповещений, шаблоны отправок, устройства, телеметрию, историю обслуживания, отправки, тревоги, отчеты и пользователей. Не каждой интеграции предоставляются все эти права. Frigolive открывает только те аккаунты и области доступа, которые соответствуют контракту и назначению. После подключения в справочнике API будут отмечены операции, на которые у вашего токена нет прав.
Вы можете изменять метки устройств, управлять пользовательскими настройками измерений и тревог, а также управлять отправками и связанными записями. IMEI, SIM-карты, прошивки, владение устройствами, производственные тесты и администрирование платформы находятся за рамками контракта Public API.
Чек-лист перед запуском в продакшн
- Используйте отдельные учетные данные для разработки и продакшна.
- Исключите секреты клиентов из логов приложения.
- Дедуплицируйте обновление токенов в фоновом режиме, чтобы одновременно выполнялся только один запрос на получение токена.
- Учитывайте время ожидания, возвращаемое при превышении лимитов частоты запросов (rate limits).
- Добавьте тесты изоляции тенантов в пайплайн CI.
- Передавайте уникальный заголовок
Idempotency-Keyпри каждомPOST-запросе, создающем запись. - Передавайте идентификатор действующего конечного пользователя для журнала аудита через заголовок
X-Frigolive-End-User-ID.
Примеры кода, точные параметры, примеры на пяти языках бэкенда и интерактивная панель тестирования доступны в Справочнике API.