Create a batched, multi-dropoff delivery with Uber Direct and correctly interpret dropoff_sequence_number and batch identifiers in status webhooks
domain: developer.uber.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Verify Uber Direct webhook signatures — the full failure-mode walkthrough related to developer.uber.com, checked against official docs, with linked verified routes.
Steps
Build the manifest for each order with item-level fields such as name, quantity, size, price, and dimensions/weight as required by the Create Delivery request
For orders that should be batched with a courier's existing route, use Uber Direct's batching support rather than issuing fully independent deliveries
Read dropoff_sequence_number from the Get Delivery response and delivery status webhook to determine each stop's position in the courier's route
Use the batch identifier returned on batched deliveries (rather than assuming a single delivery id maps 1:1 to a courier trip) when correlating webhook events back to orders
Test with sandbox/simulated couriers before relying on batch-specific fields in production, since batching behavior has changed across API versions
Known gotchas
Batch-related fields (like short batch identifiers) have been added and renamed across Uber Direct API versions — pin to a changelog-verified field name rather than assuming older docs still apply
Not every delivery is eligible for batching; a request can silently return as a single, non-batched delivery if conditions aren't met
Manifest weight/dimension fields matter for courier vehicle assignment — omitting them can affect which couriers are eligible to accept the delivery
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?