Express

Экспресс-доставка заказов мерчанта за короткий интервал времени.

Экспресс-доставка

Экспресс-доставка позволяет продавцу выполнять срочную курьерскую доставку заказа покупателю. В API такой способ доставки определяется значением EXPRESS в delivery_type.

Доступность экспресс-доставки определяется существующей конфигурацией локации и полигона. В delivery_options для Express указываются поддерживаемый тип доставки, сроки и ограничения доставки. Поле calculation_mode определяет способ расчёта условий доставки и является опциональным для сохранения обратной совместимости.

Поддерживаются два режима:

  • STATIC — стоимость и сроки доставки определяются параметрами delivery_options. Если calculation_mode не передан, сохраняется существующее статическое поведение.
  • DYNAMIC — используется для Express-доставки, когда стоимость и сроки зависят от конкретного адреса и состава заказа. В этом случае витрина получает актуальные варианты доставки методом POST /v1/polygon/delivery-options/calculate.

Динамический расчёт доставки

При calculation_mode = DYNAMIC витрина сначала определяет по конфигурации полигона, что для локации доступен EXPRESS, после чего передаёт в /v1/polygon/delivery-options/calculate локацию, адрес доставки и состав заказа.

Продавец возвращает доступные варианты с интервалом доставки и стоимостью. Результат расчёта имеет ограниченный срок действия, заданный expires_at. calculation_id используется для идентификации и трассировки расчёта и не является бронированием варианта доставки.

Фактическую стоимость доставки уже созданного заказа витрина получает существующим методом /v1/order/dbs/delivery-cost/get.

Весовые товары

Для весовых товаров окончательный вес и цена могут быть определены продавцом после комплектации заказа. Фактические данные передаются методом POST /v1/order/dbs/exemplar/set.

В exemplar.weight передаётся фактический вес экземпляра товара, а merchant_price, currency_code и vat позволяют передать его фактическую стоимость. После получения этих данных витрина выполняет необходимые проверки и пересчёт связанных цен заказа.

Если фактические параметры нарушают правила витрины, возвращается ошибка STOREFRONT_RULE_VIOLATION, а изменения не применяются. Обновление выполняется атомарно. Изменять данные экземпляра можно только до перехода заказа в статус DELIVERING.

Отслеживание экспресс-доставки

Для заказов с delivery_type = EXPRESS состояние доставки можно получить методом POST /v1/dbs/tracking/get.

Метод возвращает историю движения заказа по этапам:

SEARCHING → ASSIGNED → PICKED_UP → ON_THE_WAY → DELIVERED.

После назначения курьера доступны его контактные данные и, при наличии, информация о транспортном средстве. В процессе доставки также возвращается последнее известное местоположение курьера и координаты места доставки.

Метод предполагает периодический опрос со стороны витрины. Данные отслеживания доступны во время доставки и в течение 24 часов после DELIVERED.

Существующий механизм кода вручения заказа для Express не изменяется.