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 https://partner.sapamoto.kz/v1/orders/SHOP-100245/proof -H "Authorization: Bearer $SAPA_KEY"{
"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" }
}| Field | Meaning |
|---|---|
method | code, photo or code_and_photo |
code_verified | the recipient's code was checked |
latitude, longitude, delivered_at | where and when the courier confirmed the handover |
photo_url | a temporary link to the photo, valid 15 minutes (photo_url_expires_at) |
cod | cash 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.