optimatica-meters
TypeScript SDK — ядро monorepo. HTTP-клиент, типы и глобальная конфигурация.
Установка
bash
npm install optimatica-metersЭкспорты
| Имя | Описание |
|---|---|
analyzeMeterPhoto | Отправка фото на API |
configureZhkhSdk | Глобальный конфиг (apiKey) |
getZhkhConfig | Текущий конфиг |
resolveSdkOptions | Слияние пропсов и глобального конфига |
API_ENDPOINT | URL эндпоинта, зашитый при сборке |
ZhkhApiError | Ошибка HTTP / валидации |
METER_TYPE_LABELS | Русские названия типов счётчиков |
Конфигурация
ts
import { configureZhkhSdk } from 'optimatica-meters'
configureZhkhSdk({
apiKey: 'eyJhbGci...', // опционально — можно передать в каждый вызов
})Эндпоинт API
URL эндпоинта зашивается в SDK на этапе сборки из переменной окружения OPTIMATICA_API_URL. Если переменная не задана, используется production по умолчанию:
https://meters-api-prod.nyc-1.optimatica.pro/api/meters/analyzeЧтобы зафиксировать другой эндпоинт, задайте переменную при сборке пакета:
bash
OPTIMATICA_API_URL="https://staging.example.com/api/meters/analyze" npm run buildВ рантайме URL не настраивается.
analyzeMeterPhoto
ts
import { analyzeMeterPhoto } from 'optimatica-meters'
// Browser
await analyzeMeterPhoto(file)
// React Native
await analyzeMeterPhoto({
uri: 'file:///path/to/photo.jpg',
name: 'meter.jpg',
type: 'image/jpeg',
})
// С переопределением ключа
await analyzeMeterPhoto(file, {
apiKey: 'eyJhbGci...',
signal: abortController.signal,
})Типы изображений
ts
type AnalyzeMeterImage = File | Blob | ReactNativeImageAssetЗависимости
Нет runtime-зависимостей — только встроенный fetch и FormData.