Skip to content

Аутентификация

Все запросы к /api/* требуют API-ключ в заголовке:

http
Authorization: Bearer ВАШ_JWT

Формат ключа

API-ключ — это обычный JWT-токен (header.payload.signature), без префиксов:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjbGllbnQifQ.signature

Используйте токен целиком, как выдан при создании.

Способы передачи ключа в SDK

Глобальный конфиг

ts
import { configureZhkhSdk } from 'optimatica-meters'

configureZhkhSdk({
  apiKey: 'eyJhbGci...',
})

После этого ключ подставляется во все вызовы analyzeMeterPhoto и в UI-компоненты (если не переопределён пропсом). Эндпоинт API зашит в SDK на этапе сборки — настраивать URL не нужно.

На каждый запрос

ts
await analyzeMeterPhoto(file, {
  apiKey: 'eyJhbGci...',
})

В UI-компонентах

vue
<MeterPhotoAnalyzer api-key="eyJhbGci..." />

Если ключ не задан глобально и не передан пропсом, компонент показывает поле ввода (showApiKeyInput по умолчанию true в этом случае).

Ошибки авторизации

HTTPТелоПричина
401{ "error": "Unauthorized" }Нет заголовка
401{ "error": "Invalid or revoked API key" }Неверный или отозванный ключ
402{ "error": "Payment required", ... }Исчерпана квота
403{ "error": "Client blocked" }Аккаунт заблокирован

При ошибке SDK выбрасывает ZhkhApiError с полями status и body.

MIT License