Delivery Integration

Requesting a delivery

Request from Appropo

POST https://YOUR/URL/deliveries
Accept: application/json
Authorization: Bearer API_TOKEN
{
  "reference": "ORD12345",
  "pickup": {
    "time": "2020-08-07T14:12:32+12:00",
    "name": "Store Name"
    "phone": "091231234",
    "address": "123 High Street, CBD, NZ"
  },
  "drop-off": {
    "time": "2020-08-07T14:24:32+12:00",
    "name": "Fred",
    "phone": "0220123123",
    "email": "customer@example.com",
    "address": "1 Queen Street, Suburb, NZ",
    "instructions": "Use intercom"
  },
  "order": {
    "description": "one item and another item",
    "items": 2,
    "total": 18.5,
    "discount": 0,
    "delivery-fee": 8.5,
    "coupon-code": "FREE"
  },
  "callback": "https://example.appropo.io/delivery/1/callback/12345"
}

Expected Response

  • Adds id and status and eta to pickup and drop-off
  • HTTP 201 or 200
{
  "id": "ord_123456",
  "reference": "ORD12345",
  "status": "received",
  "pickup": {
    "time": "2020-08-07T14:12:32+12:00",
    "eta": "2020-08-07T14:12:00+12:00",
    "actual": null,
    "name": "Store Name"
    "phone": "091231234",
    "address": "123 High Street, CBD, NZ"
  },
  "drop-off": {
    "time": "2020-08-07T14:24:32+12:00",
    "eta": "2020-08-07T14:26:32+12:00",
    "actual": null,
    "name": "Fred",
    "phone": "0220123123",
    "email": "customer@example.com",
    "address": "1 Queen Street, Suburb, NZ",
    "instructions": "Use intercom"
  },
  "order": {
    "description": "one item and another item",
    "items": 2,
    "total": 18.5,
    "discount": 0,
    "delivery-fee": 8.5,
    "coupon-code": "FREE"
  },
  "callback": "https://example.appropo.io/delivery/webhook/1/callback/12345"
}

Looking up a delivery

GET https://YOUR/URL/deliveries/ID
Accept: application/json
Authorization: Bearer API_TOKEN

Response

{
  "id": "ord_123456",
  "reference": "ORD12345",
  "status": "accepted",
  "pickup": {
    "time": "2020-08-07T14:12:32+12:00",
    "eta": "2020-08-07T14:12:00+12:00",
    "actual": null,
    "name": "Store Name"
    "phone": "091231234",
    "address": "123 High Street, CBD, NZ"
  },
  "drop-off": {
    "time": "2020-08-07T14:24:32+12:00",
    "eta": "2020-08-07T14:26:32+12:00",
    "actual": null,
    "name": "Fred",
    "phone": "0220123123",
    "email": "customer@example.com",
    "address": "1 Queen Street, Suburb, NZ",
    "instructions": "Use intercom"
  },
  "order":
    "description": "one item and another item",
    "items": 2,
    "total": 18.5,
    "discount": 0,
    "delivery-fee": 8.5,
    "coupon-code": "FREE"
  },
  "callback": "https://example.appropo.io/delivery/webhook/1/callback/12345"
}

Webhooks

Delivery status updates

Post updates to the callback URL of a delivery

POST "https://example.appropo.io/delivery/webhook/1/callback/12345"
Accept: application/json
{
  "id": "ord_123456",
  "reference": "ORD12345",
  "status": "On Way to Drop-off",
  "pickup": {
    "time": "2020-08-07T14:12:32+12:00",
    "eta": "2020-08-07T14:12:00+12:00",
    "actual": "2020-08-07T14:13:00+12:00",
    "name": "Store Name"
    "phone": "091231234",
    "address": "123 High Street, CBD, NZ"
  },
  "drop-off": {
    "time": "2020-08-07T14:24:32+12:00",
    "eta": "2020-08-07T14:26:32+12:00",
    "actual": null,
    "name": "Fred",
    "phone": "0220123123",
    "email": "customer@example.com",
    "address": "1 Queen Street, Suburb, NZ",
    "instructions": "Use intercom"
  },
  "order": {
    "description": "one item and another item",
    "items": 2,
    "total": 18.5,
    "discount": 0,
    "delivery-fee": 8.5,
    "coupon-code": "FREE"
  },
  "error": null,
  "callback": "https://example.appropo.io/delivery/webhook/1/callback/12345"
}

Status

Delivery Status Enum

  • Received
  • Accepted
  • On Way to Pickup
  • On Way to Drop-off
  • Completed
  • Error
  • Cancelled

Ready to get started? Get in touch.

Contact