Skip to content

Changelog

The new dropoff_order field on POST /quotes and POST /orders arranges the dropoffs into the shortest route from the pickup: optimized reorders every dropoff, optimized_keep_last every one but the last, which stays last. The default is given: the courier visits the dropoffs in the order you sent, as before.

The order of visits comes back in the new visit_order field. tracking_urls, quote dropoffs and index in PATCH still follow your order of dropoffs.

See Orders.

The new GET /cargo-sizes method shows how much each cargo size adds to the delivery price and how heavy a load it takes. The amounts are for your company’s city.

{
"cargo_sizes": [
{ "cargo_size": "S", "surcharge": 0, "max_weight_kg": 10 },
{ "cargo_size": "M", "surcharge": 50, "max_weight_kg": 20 },
{ "cargo_size": "L", "surcharge": 100, "max_weight_kg": 40 },
{ "cargo_size": "XL", "surcharge": 150, "max_weight_kg": null }
]
}

Here a delivery of size M costs 50 ₽ more than one of size S, at any distance. POST /quotes now shows this amount for each dropoff in cargo_surcharge.

See Pricing.

Govza runs in several cities, each with its own tariff. POST /quotes prices a trip by the tariff of the city the pickup is in, and GET /pricing returns the tariff of your company’s city.

See Pricing.

POST /availability answers at checkout whether Govza can take a delivery right now: whether the points are in the service area, whether a courier is free near the pickup, and how soon one would reach it.

{
"available": true,
"pickup": { "in_service_area": true },
"dropoffs": [{ "in_service_area": true }],
"couriers": { "status": "available", "pickup_eta": 6 },
"reasons": []
}

See Availability.

The order.cancelled event now carries the cancellation reason and comment:

{
"event": "order.cancelled",
"status": "cancelled",
"cancellation": { "reason": "address_related", "comment": null }
}

For every other event, cancellation is null. See Webhooks.

POST /orders, GET /orders, GET /orders/{external_order_id}, and PATCH/PUT/cancel now include three fields:

  • delivered_at — when the order was completed;
  • driver — the courier’s name, phone and transport (present once assigned);
  • driver_location — the courier’s latest position, only for assigned and in_progress, and only when under 30 minutes old.
{
"status": "in_progress",
"delivered_at": null,
"driver": { "name": "Isa", "phone": "+79280003396", "transport": { "model": "Camry", "number": "A123BC" } },
"driver_location": { "latitude": 43.2389, "longitude": 45.7127, "heading": 120, "updated_at": "2026-09-18T08:27:00.000Z" }
}

See Orders.