Skip to content

optimatica-meters

TypeScript SDK — ядро monorepo. HTTP-клиент, типы и глобальная конфигурация.

Установка

bash
npm install optimatica-meters

Экспорты

ИмяОписание
analyzeMeterPhotoОтправка фото на API
configureZhkhSdkГлобальный конфиг (apiKey)
getZhkhConfigТекущий конфиг
resolveSdkOptionsСлияние пропсов и глобального конфига
API_ENDPOINTURL эндпоинта, зашитый при сборке
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.

MIT License