Следить за торгами и выбрать победителя

Статья обновлена November 12, 2026

Стенд по умолчанию — test. Сценарий изменяет данные. Порядок работы для агента.

Сценарий подходит для заказов с распределением через торги. Перед выбором победителя на рабочем стенде получите подтверждение пользователя.

Получить список торгов

Вызовите POST /api/demand/listForForwarder/v0 и найдите нужные торги в data.items по orderId. Сохраните id торгов и проверьте canChooseWinner и isAutoAuction.

Для ручного выбора нужны canChooseWinner: true, isAutoAuction: false и demandStoreState: active. canChooseWinner подтверждает право пользователя. Получите детали заказа через POST /api/orders/v0/transferOrder/getFlatForCustomer и сверьте matcher.demandId с идентификатором торгов. Возьмите id действующей ставки из matcher.bets. Если ставка не определена однозначно или статус не подходит, остановитесь и сообщите об этом пользователю.

Выбрать победителя

Вызовите POST /api/demand/chooseWinner/v0. Передайте идентификатор торгов в data.demandId, идентификатор ставки в data.betId. Перечитайте детали заказа и проверьте победителя. При включённом автоматическом выборе дождитесь результата торгов.

Если торги закрыты или выбранная ставка недоступна, перечитайте список. Сообщите пользователю состояние торгов перед выбором другого действия. Для последующей синхронизации заказов используйте Получать изменения заказов заказчика.