Рабочее место

API

REST API для программ сетевой компании: АСКУЭ, биллинга, системы управления выездами. Через него данные загружаются и забираются без ручных выгрузок. Права те же, что в рабочем месте: учётная запись видит только проекты своей организации.

Подключение

Запросы

ЗапросЧто делает
POST /sessionвход: {"login", "password"} → {"token", "expires_in", "user"}
GET /meкто вошёл: логин, имя, роль
GET /projectsпроекты организации
POST /projectsсоздать проект: {"name", "name_en"}
GET /projects/{id}проект: ТП с периодами данных, последний расчёт
POST /projects/{id}/filesзагрузить файлы (поле file, можно несколько) → задание приёма по каждому файлу
GET /tasks/{id}состояние задания: queued, running, done, failed; у приёма — что распознано в файле, у расчёта — номер расчёта и сводка
POST /projects/{id}/runзапустить расчёт → задание; если расчёт уже идёт — его задание
GET /projects/{id}/runsрасчёты проекта: номер и время
GET /projects/{id}/runs/{run}сводка расчёта по ТП: период, число ПУ, небаланс, число целей
GET /projects/{id}/runs/{run}/targetsперечень целей на выезд в порядке приоритета
GET /projects/{id}/outcomesотмеченные результаты выездов
POST /projects/{id}/outcomesотметить результат: {"substation", "target", "outcome", "note"}; outcome — found, not_found, no_access

Создавать проекты, загружать файлы и запускать расчёт может руководитель; отмечать результаты выездов — также инспектор.

Цель на выезд

ПолеЧто это
priorityномер в порядке выезда
substation, posТП
targetключ цели — с ним отмечается результат выезда
meter, labelномер ПУ и его название
address, lat, lonадрес и координаты
kindвид цели: theft — неучтённое потребление, extra — ПУ от другой ТП, fault — неисправность
categoriesкоды находок по цели
probabilityвероятность подтверждения, %, если она измерена
unaccounted_kwh, metered_kwhоценка неучтённого и учтённого объёма за период, кВт·ч
outcomeотмеченный результат выезда

Обычный порядок

  1. POST /session — получить ключ;
  2. POST /projects/{id}/files — отправить выгрузку; дождаться заданий через GET /tasks/{id};
  3. POST /projects/{id}/run — запустить расчёт; дождаться задания;
  4. GET /projects/{id}/runs/{run}/targets — забрать цели;
  5. POST /projects/{id}/outcomes — вернуть результаты выездов.

Доступ к API выдаётся вместе с учётной записью организации.

Ещё по теме

← GRID-IN: главная