Delivery addresses and quotes
Version 2 makes delivery data explicit and prices the order on the server before money moves.
Why v2 addresses
Legacy v1 accepted loosely related state, LGA, and area fields at order time. v2 requires a structured address, matches it against the delivery catalogue, and stores the validated location and pricing versions with the order.
Address selectors
Fetch states, then LGAs using the selected state, then towns using both state and LGA. Preserve returned spelling and casing. The delivery manifest is a lightweight metadata endpoint: compare its version with your cached version and refresh state, LGA, and town options only when it changes. It does not return addresses, calculate a fee, or create a quote.
Address object
id, latlong, googleAddress, and verified may be supplied when available. They do not replace required address, state, LGA, and town values.
Quote lifecycle
Quotes belong to the app, merchant, mode, and product that created them. They expire after 15 minutes and can create one order. If a quote expires or the product becomes unavailable, request a new quote rather than editing the old response.
Pickup
Set pickUp: true only when the customer selects the supported pickup option. The delivery service applies the configured pickup multiplier and the resulting order records merchant/self delivery.
Errors
ADDRESS_UPGRADE_REQUIRED means the address is not version 2. INVALID_DELIVERY_ADDRESS identifies missing required fields. DELIVERY_FEE_NOT_FOUND means the selected location cannot currently be priced.