Sapa Moto

Proof of delivery

How the order was handed over — the recipient's code, a photo, the geopoint and the time.

Every order has a 4-digit delivery_code (in the response to POST /v1/orders and in GET /v1/orders/{id}). The recipient gets it in the SMS / WhatsApp message with the tracking link and tells it to the courier; the courier cannot complete the handover without it (or without a photo when the code cannot be used).

Once the order is delivered:

curl
curl https://partner.sapamoto.kz/v1/orders/SHOP-100245/proof -H "Authorization: Bearer $SAPA_KEY"
200 OK
{
  "order_id": "0192f1b2-6d4e-7a10-b3c2-8e1f0d9a4c57",
  "method": "code_and_photo",
  "photo_url": "https://api.sapamoto.kz/api/v1/public/partner/proof-photos/MDE5MmYx…",
  "photo_url_expires_at": "2026-10-24T10:15:00Z",
  "code_verified": true,
  "latitude": 43.21402,
  "longitude": 76.88011,
  "delivered_at": "2026-10-24T09:53:10Z",
  "cod": { "amount_tiyn": 500000, "method": "cash" }
}
FieldMeaning
methodcode, photo or code_and_photo
code_verifiedthe recipient's code was checked
latitude, longitude, delivered_atwhere and when the courier confirmed the handover
photo_urla temporary link to the photo, valid 15 minutes (photo_url_expires_at)
codcash on delivery collected, if any

Download the photo right away if you need to keep it — the link expires after 15 minutes. Request GET /proof again for a fresh link. Before delivery the endpoint returns 404.

The same proof (without the photo link) arrives in the order.delivered webhook.

What we never share

Proofs, orders and webhooks contain the courier's first name, a masked or virtual phone and the transport — never the IIN, documents or the courier's real phone.

These docs are built from the platform's OpenAPI specification. Download OpenAPI