Dostavista data API: batches, payouts
Dostavista — работа курьером is Достависта's official Android client for independent couriers in Russia who pick city-to-city parcel, grocery and hot-food jobs off a live map. After a phone-number login and a roughly 10-minute passport-plus-selfie check they toggle on-duty, grab a singleton or a multi-stop batch, book 4-to-12-hour slots, or walk / bike / drive / truck the same day; payouts hit the card Monday through Thursday and self-employed couriers keep an extra 6 percent. The legal entity on Play is PORTAL, OOO at ul. Nobelya 5, Skolkovo Innovation Centre, Moscow 121205; the listing is rated 4.4 from about 84,000 reviews with 1 million-plus downloads. It is a gig courier back-office rather than a consumer sender app, sitting next to other last-mile driver clients that field riders open between drops.
Available batches stamp order_batch_id against courier_payment_amount with stop latitude and longitude. Taken orders keep order_id next to detail_currency_earnings and detail_currency_to_balance. Wallet rows key on balance_total and payout_transaction_id; the signed-in card is courier_id with working.
Shift bots overlay the same courier_payment_amount the Skolkovo tenant already shows; payroll jobs join payout_transaction_id with balance_debt; slot bookers POST the same vehicle_type_id the calendar already lists — openData Studio turns that courier loop into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Request login SMS
POST
/v1/dostavista/otposintSends a one-time SMS login code to phone_number and may stamp a session.
Auth: Unauthenticated. Body is phone_number. Later courier calls send the returned session as Authorization Bearer.
- phone_number
- is_successful
- session
POST /v1/dostavista/otp HTTP/1.1 Content-Type: application/json { "phone_number": "79001234567" }{ "is_successful": true, "session": "dv-sess-88c1" }Register courier
POST
/v1/dostavista/registerosintCreates the courier card (name, surname, phone_number) and returns courier_id plus session.
Auth: Session from POST /v1/dostavista/otp, or unauthenticated on first run. Body is name, surname and phone_number plus passport/selfie uploads.
- name
- surname
- middleName
- phone_number
- courier_id
- session
- is_successful
POST /v1/dostavista/register HTTP/1.1 Authorization: Bearer dv-sess-88c1 Content-Type: application/json { "name": "Иван", "surname": "Петров", "middleName": "Сергеевич", "phone_number": "79001234567", "email": "[email protected]" }{ "is_successful": true, "courier_id": 44102, "session": "dv-sess-88c1" }Signed-in courier profile
GET
/v1/dostavista/meosintReturns the signed-in courier card: name, phone_number, email and working.
Auth: Bearer session from POST /v1/dostavista/otp.
- courier_id
- name
- surname
- middleName
- phone_number
- isEmailVerified
- working
GET /v1/dostavista/me HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "courier_id": 44102, "name": "Иван", "surname": "Петров", "middleName": "Сергеевич", "phone_number": "79001234567", "email": "[email protected]", "isEmailVerified": true, "working": true }Available order batches
GET
/v1/dostavista/batchesopendataPages GPS-local available batches with order_batch_id, courier_payment_amount and stop coordinates.
Auth: Bearer session. GPS must be on; the list is local to the courier.
- is_successful
- available_order_batches
- order_batch_id
- status
- vehicle_type_id
- courier_payment_amount
- latitude
- longitude
GET /v1/dostavista/batches HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "is_successful": true, "available_order_batches": [{ "order_batch_id": 844, "status": "available", "vehicle_type_id": 7, "courier_payment_amount": "888", "address_points": [{ "address": "Москва, Иерусалимская улица, 2", "latitude": "55.7343268", "longitude": "37.6761741" }] }] }Take an order batch
POST
/v1/dostavista/batches/takeopendataClaims order_batch_id so the batch moves from available to active on the courier.
Auth: Bearer session.
- order_batch_id
- status
- is_successful
POST /v1/dostavista/batches/take HTTP/1.1 Authorization: Bearer dv-sess-88c1 Content-Type: application/json { "order_batch_id": 844 }{ "is_successful": true, "order_batch_id": 844, "status": "active" }Take a single order
POST
/v1/dostavista/orders/takeopendataClaims a single order_id and returns detail_currency_earnings plus detail_currency_to_balance.
Auth: Bearer session.
- order_id
- status
- is_successful
- detail_currency_earnings
- detail_currency_to_balance
POST /v1/dostavista/orders/take HTTP/1.1 Authorization: Bearer dv-sess-88c1 Content-Type: application/json { "order_id": 77604 }{ "is_successful": true, "order_id": 77604, "status": "active", "detail_currency_earnings": "353.00", "detail_currency_to_balance": "118.00" }Payout transactions
GET
/v1/dostavista/payoutsopenfinancePages payout_transactions with payout_transaction_id, status and courier_payment_amount.
Auth: Bearer session.
- payout_transactions
- payout_transaction_id
- status
- courier_payment_amount
GET /v1/dostavista/payouts HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "payout_transactions": [{ "payout_transaction_id": 99012, "status": "Paid", "courier_payment_amount": "3200.00" }] }Wallet movements
GET
/v1/dostavista/walletopenfinanceReturns the courier wallet: balance_total, balance_debt and balance_movement_type.
Auth: Bearer session.
- balance_total
- balance_debt
- balance_movement_type
GET /v1/dostavista/wallet HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "balance_total": "12400.00", "balance_debt": "0.00", "balance_movement_type": "payout" }Time-slot list
GET
/v1/dostavista/slotsopendataPages bookable delivery slots with vehicle_type_id and courier_payment_amount.
Auth: Bearer session.
- slots
- vehicle_type_id
- courier_payment_amount
- status
- is_successful
GET /v1/dostavista/slots HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "is_successful": true, "slots": [{ "vehicle_type_id": 7, "courier_payment_amount": "4500", "status": "available" }] }Book time slots
POST
/v1/dostavista/slots/bookopendataBooks a delivery slot for the signed-in courier on the chosen vehicle_type_id.
Auth: Bearer session.
- vehicle_type_id
- status
- is_successful
POST /v1/dostavista/slots/book HTTP/1.1 Authorization: Bearer dv-sess-88c1 Content-Type: application/json { "vehicle_type_id": 7 }{ "is_successful": true, "status": "booked" }Set working flag
POST
/v1/dostavista/dutyopendataToggles the courier working flag so the available-batch list starts or stops.
Auth: Bearer session.
- working
- is_successful
POST /v1/dostavista/duty HTTP/1.1 Authorization: Bearer dv-sess-88c1 Content-Type: application/json { "working": true }{ "is_successful": true, "working": true }Courier statistics
GET
/v1/dostavista/statsopendataReturns period stats: courier_payment_amount plus abandoned_orders_count.
Auth: Bearer session.
- courier_id
- courier_payment_amount
- abandoned_orders_count
- abandoned_contracts_count
GET /v1/dostavista/stats HTTP/1.1 Authorization: Bearer dv-sess-88c1 Accept: application/json{ "courier_id": 44102, "courier_payment_amount": "110000", "abandoned_orders_count": 0, "abandoned_contracts_count": 0 }
Data categories
- courier profile
- available batches
- orders
- payouts
- wallet
- time slots
- duty status
- statistics
- auth-sessions
Where teams use this data
Batch overlay for a shift bot
A helper polls GET /v1/dostavista/batches (order_batch_id, courier_payment_amount, latitude) so a courier bot can flag a high-pay Moscow batch without opening the map.
Payout plus wallet archive
A payroll job reads GET /v1/dostavista/payouts (payout_transaction_id, courier_payment_amount) next to GET /v1/dostavista/wallet (balance_total, balance_debt) so Monday–Thursday card hits sit beside the running balance.
Slot booker for a planned week
A scheduler pages GET /v1/dostavista/slots then POST /v1/dostavista/slots/book (vehicle_type_id) so a 4-to-12-hour slot lands without tapping the calendar.
Duty plus take for a headset flow
A headset flow POSTs /v1/dostavista/duty (working) then POST /v1/dostavista/orders/take (order_id, detail_currency_earnings) so a rider can accept the next card without looking down.
Frequently asked questions
How does Dostavista authenticate API calls?
POST /v1/dostavista/otp sends a one-time SMS to phone_number and may return session. POST /v1/dostavista/register creates the courier card. Later calls send Authorization Bearer session.
Which endpoints expose batches, take and earnings?
GET /v1/dostavista/batches returns order_batch_id, courier_payment_amount, latitude and longitude. POST /v1/dostavista/batches/take claims a batch. POST /v1/dostavista/orders/take claims a singleton and returns detail_currency_earnings.
What payout and wallet fields are returned?
GET /v1/dostavista/payouts returns payout_transaction_id, status and courier_payment_amount. GET /v1/dostavista/wallet returns balance_total, balance_debt and balance_movement_type. GET /v1/dostavista/stats returns period courier_payment_amount.
Does the API cover slots and the working flag?
Yes. GET /v1/dostavista/slots lists bookable slots with vehicle_type_id. POST /v1/dostavista/slots/book books one. POST /v1/dostavista/duty toggles working. GET /v1/dostavista/me returns courier_id, name and working.
Apps similar to Dostavista — работа курьером
- Spark Driver — Spark Driver is Walmart's US last-mile gig client for grocery drops; Dostavista is the Moscow-run city courier app with batches, slots and Monday–Thursday card payouts.
- Uber - Driver: Drive & Deliver — Uber Driver mixes rides and deliveries under a global driver UUID; Dostavista is a Russia-only courier map keyed on order_batch_id and courier_payment_amount.
- Lyft Driver — Lyft Driver is a US rideshare client; Dostavista instead centres on courier batches, 4-to-12-hour slots and a Skolkovo self-employed payout rail.
- Porter Driver Partner App — Porter Driver is an Indian intra-city trucking partner app; Dostavista covers walk, bike, car and truck couriers on the same Moscow batch list.
- DoorDash - Dasher — DoorDash Dasher is a US restaurant-delivery gig client; Dostavista mixes hot food with parcels and exposes detail_currency_earnings per order_id.
- Soy Rappi - Sé un repartidor — Soy Rappi is a Latin American courier gig client; Dostavista is the Russian equivalent with Skolkovo onboarding and Monday–Thursday payouts.
- Почта России — Почта России is the state postal tracker for senders; Dostavista is the private courier side that field riders use to take batches rather than look up a tracking number.
Topics
- dostavista api
- courier data api
- order_batch_id
- courier_payment_amount
- skolkovo courier api
- payout_transaction_id
- detail_currency_earnings
- russia last-mile api
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use