Интеграция LoadFlow API в ЛК
Поток от заявки до planId: scopes, compute, PDF и ошибки, которые стоит обработать в UI.
Базовый поток: собрать PackingPlanInput → POST /api/v1/packing/compute с X-Api-Key → сохранить planId.
Ключ выдаётся в настройках организации. Для расчёта нужен scope packing:compute; для чтения планов - packing:read; для справочника - catalog:read.
ЛК AVINEX дополнительно использует internal for-packing, чтобы не тащить всю заявку через публичный контракт.
В UI обработайте коды: NO_ELIGIBLE_CONTAINERS, THERMAL_DATA_MISSING, AXLE_OVERLOAD, WEIGHT_EXCEEDED, PACKING_FAILED.
PDF - отдельный шаг render-pdf: не блокируйте UX ожиданием тяжёлого рендера на каждый просмотр.
Логируйте request id / ApiRequestLog на стороне платформы - проще разбирать расхождения «в ЛК одно, в плане другое».
На старте ограничьте rate limit и включите non-mock thermal только когда справочник маршрутов заполнен.
Песочница и OpenAPI на /developers/api - канонический контракт; не копируйте поля «с памяти».
Попробуйте на своих данных
Запросите демо или откройте sandbox - термофильтр и 3D-packing на ваших маршрутах.