CoDeliver Integrations

CoDeliver External API

The external API is used by approved third-party systems (for example POS / order-taking) to create and manage delivery requests in CoDeliver.

  • Credentials are shared privately during onboarding.
  • Authentication is handled with shared secret in Authorization header.
  • Current production base URL: https://d9p03pgzcl.execute-api.eu-west-1.amazonaws.com/prod.

What this API is meant to do

This API is designed for server-to-server integration so your system can send delivery-order lifecycle events to CoDeliver.

  • Pre-calculate: optional estimate (cost/time) before request creation.
  • Create request: create the delivery request for your order.
  • Pickup ready: mark the order as ready for rider pickup.
  • Cancel: cancel a request when the order should not be executed.

What the External API is not

  • It is not a public browser/mobile client API for sensitive-key usage.
  • It does not replace your POS/ERP business logic (pricing, stock, invoicing).
  • It is not a channel for exposing private onboarding details publicly.

Recommended implementation flow

  1. Map each store with its assigned group / store_id.
  2. (Optional) call estimate endpoints to support checkout UX.
  3. Create requests using stable request_id values for idempotent retries.
  4. Use vendor_reference_id for cross-system traceability with your own order id.
  5. Send pickup-ready/cancel events only when the order state truly changes.

API reference

The full ReDoc documentation opens in a dedicated subpage for a cleaner reading experience.

Payload examples (quick start)

The following examples show the minimum payload usually needed for a basic integration flow.

Create request (request body)

{
  "group": "demo",
  "store_id": "S1",
  "request_id": "demo_R1",
  "vendor_reference_id": "POS-10342",
  "mobile": "6900000000",
  "grand_total": 12.3,
  "userLat": 37.98,
  "userLng": 23.72
}

Create request (sample response)

{
  "ok": true,
  "message": "request_created",
  "data": {
    "request_id": "demo_R1",
    "status": "created"
  }
}

Pickup ready (request body)

{
  "group": "demo",
  "store_id": "S1",
  "request_id": "demo_R1"
}

For complete endpoint examples (pre-calculate, create, cancel, pickup-ready), see the API reference or import the Postman Collection.

Onboarding

To start onboarding, submit the partner registration form.