Packeta data API
Packeta is the official Android client of Zásilkovna s.r.o. (Packeta Group) for households and small senders who ship C2C parcels through Packeta pickup points and Z-BOX lockers in Czechia, Slovakia, Hungary, Romania and Poland. After sign-in, a sender quotes postage, creates a shipment, pays cash-on-delivery with PayU, ČSOB card or Google Pay, tracks the packet, opens a Z-BOX over Bluetooth with a pickup PIN, and finds nearby points on the map; the same session holds an archive of collected parcels, a homefeed of FAQs and the nearest branch. Copy is Czech, Slovak, Hungarian and Romanian; the client is Packeta's first-party C2C app rather than a multi-carrier tracker, sitting next to UPS, Nova Poshta and Почта России as a national locker-network client.
Active-parcel rows carry a public packet_id plus locker credentials in zbox_password, with last_pickup_date and delivery_password gating the pickup card. Recipient lines store name, phone, street, city, zip and country; movement state is a type plus note. Cash-on-delivery quotes expose sum_value, sum_currency and vat_value, while PayU init returns order_id and finished_payment_link. Pickup-point records add externalId, boxType, maxWeight and openingHours. Marketplace sellers, locker-network overlays and last-mile ERPs reconcile those fields into shipment ledgers, and openData Studio turns them into callable open data.
Z-BOX drop-off objects sit on the same parcel as zbox_dropoff and zbox_flow_version; the COD till mix is provider with webpayu and webcsob plus cod_data.total_price. Cross-border quotes read exchange_rate for a country pair. Homefeed nearby-branch cards include distanceFromOrigin and openHours. Tracking sections return timestamp, message and messageFormatted against the same packetId.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
List active parcels
GET
/v1/packeta/packages/activeopendataLists in-flight inbound and outbound parcels for the signed-in home feed, including Z-BOX PIN, COD flags and last pickup date.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- id
- packet_id
- direction
- store
- delivery_type
- recipient
- cod
- can_pay_cod
- cod_paid
- branch
- carrier
- status
- last_pickup_date
- is_extendable
- picked_up_on
- delivery_password
- consign_password
- return_password
- delivery_token
- zbox
- zbox_dropoff
- zbox_password
- is_zbox_password_visible
- zbox_flow_version
- weight
- is_redirection_enabled
- is_shareable
- url
- name
- company
- phone
- street
- city
- zip
- country
- note
- type
GET /v1/packeta/packages/active HTTP/1.1 X-Access-Token: <session-token> Accept: application/json Accept-Language: cs{ "data": [ { "id": 88421, "packet_id": 512334455, "direction": "incoming", "store": "Alza", "delivery_type": "zbox", "recipient": { "name": "Jan Novák", "company": "", "phone": "+420777123456", "email": "[email protected]", "street": "Na Příkopě 14", "city": "Praha", "zip": "11000", "country": "CZ" }, "cod": "1290.00", "can_pay_cod": true, "cod_paid": false, "branch": { "id": "Z-BOX-PR-12", "name": "Z-BOX Praha Na Příkopě" }, "carrier": "packeta", "status": { "type": "ready_for_pickup", "note": "Waiting in Z-BOX" }, "last_pickup_date": "2026-10-12", "is_extendable": true, "picked_up_on": null, "delivery_password": "4821", "consign_password": null, "return_password": null, "delivery_token": "dt-7c11", "zbox_password": "4821", "is_zbox_password_visible": true, "zbox_flow_version": 2, "zbox": { "box_id": "ZBOX-PR-12-A04" }, "zbox_dropoff": null, "weight": 1.4, "is_redirection_enabled": true, "is_shareable": true, "url": "https://tracking.packeta.com/512334455" } ] }Parcel detail
GET
/v1/packeta/packages/{id}opendataLoads one parcel card: recipient, carrier, locker PIN, COD state and redirection flags for the detail screen.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- id
- packet_id
- direction
- store
- delivery_type
- recipient
- cod
- can_pay_cod
- cod_paid
- branch
- carrier
- status
- last_pickup_date
- is_extendable
- picked_up_on
- delivery_password
- consign_password
- return_password
- delivery_token
- zbox
- zbox_dropoff
- zbox_password
- is_zbox_password_visible
- zbox_flow_version
- weight
- is_redirection_enabled
- is_shareable
- url
- name
- company
- phone
- street
- city
- zip
- country
- note
- type
GET /v1/packeta/packages/88421 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json Accept-Language: cs{ "data": { "id": 88421, "packet_id": 512334455, "direction": "incoming", "store": "Alza", "delivery_type": "zbox", "recipient": { "name": "Jan Novák", "company": "", "phone": "+420777123456", "email": "[email protected]", "street": "Na Příkopě 14", "city": "Praha", "zip": "11000", "country": "CZ" }, "cod": "1290.00", "can_pay_cod": true, "cod_paid": false, "branch": { "id": "Z-BOX-PR-12", "name": "Z-BOX Praha Na Příkopě" }, "carrier": "packeta", "status": { "type": "ready_for_pickup", "note": "Waiting in Z-BOX" }, "last_pickup_date": "2026-10-12", "is_extendable": true, "picked_up_on": null, "delivery_password": "4821", "consign_password": null, "return_password": null, "delivery_token": "dt-7c11", "zbox_password": "4821", "is_zbox_password_visible": true, "zbox_flow_version": 2, "zbox": { "box_id": "ZBOX-PR-12-A04" }, "zbox_dropoff": null, "weight": 1.4, "is_redirection_enabled": true, "is_shareable": true, "url": "https://tracking.packeta.com/512334455" } }Archived parcels
GET
/v1/packeta/packages/archiveopendataPages collected or cancelled parcels by inbound/outbound direction for the archive tab.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- direction
- page
- id
- packet_id
- is_archived
- picked_up_on
- status
- recipient
- weight
GET /v1/packeta/packages/archive?direction=incoming&page=1 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "data": [ { "id": 88421, "packet_id": 512334455, "direction": "incoming", "store": "Alza", "delivery_type": "zbox", "recipient": { "name": "Jan Novák", "company": "", "phone": "+420777123456", "email": "[email protected]", "street": "Na Příkopě 14", "city": "Praha", "zip": "11000", "country": "CZ" }, "cod": "1290.00", "can_pay_cod": true, "cod_paid": false, "branch": { "id": "Z-BOX-PR-12", "name": "Z-BOX Praha Na Příkopě" }, "carrier": "packeta", "status": { "type": "ready_for_pickup", "note": "Waiting in Z-BOX" }, "last_pickup_date": "2026-10-12", "is_extendable": true, "picked_up_on": "2026-10-08T16:22:00Z", "delivery_password": "4821", "consign_password": null, "return_password": null, "delivery_token": "dt-7c11", "zbox_password": "4821", "is_zbox_password_visible": true, "zbox_flow_version": 2, "zbox": { "box_id": "ZBOX-PR-12-A04" }, "zbox_dropoff": null, "weight": 1.4, "is_redirection_enabled": true, "is_shareable": true, "url": "https://tracking.packeta.com/512334455", "is_archived": true } ] }Create C2C shipment
POST
/v1/packeta/packagesopendataCreates a C2C shipment from the send flow and returns package_id plus a PayU payment_link.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- adult_content
- branch_id
- branch_name
- cod
- consign_country
- currency
- delivery_type
- name
- payment_method
- payment_provider
- phone
- recipient_address
- sender_address
- size_class
- target_country
- totalPrice
- weight
- package_id
- total_price
- payment_link
- deep_link
POST /v1/packeta/packages HTTP/1.1 X-Access-Token: <session-token> Content-Type: application/json Accept-Language: cs { "adult_content": false, "bank_account": null, "branch_id": "ZBOX-PR-12", "branch_name": "Z-BOX Praha Na Příkopě", "cod": 1290.0, "consign_country": "CZ", "consing_country_id": 1, "currency": "CZK", "delivery_country_id": 1, "delivery_type": "zbox", "email": "[email protected]", "insurance": null, "name": "Jan Novák", "payment_method": "card", "payment_provider": "payu", "phone": "+420777123456", "promo_code": null, "recipient_address": { "street": "Na Příkopě 14", "city": "Praha", "zip": "11000", "country": "CZ" }, "sender_address": { "street": "Národní 8", "city": "Praha", "zip": "11000", "country": "CZ" }, "size_class": 1, "target_country": "CZ", "totalPrice": 89.0, "weight": 1400 }{ "data": { "deep_link": "packeta://package/88422", "package_id": 88422, "total_price": "89.00", "currency": "CZK", "payment_link": "https://pay.packeta.com/o/88422", "google_pay_info": null } }Quote shipment price
POST
/v1/packeta/packages/quoteopenfinanceReturns the C2C tariff (gross, net, VAT) for the selected size class, pickup point and COD amount.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- adult_content
- branch_id
- city
- cod
- consign_country
- delivery_type
- size_class
- target_country
- zip
- sum
- sum_value
- sum_currency
- sum_without_vat_value
- vat_value
- vat_percentage_value
- breakdown
- payments
POST /v1/packeta/packages/quote HTTP/1.1 X-Access-Token: <session-token> Content-Type: application/json { "adult_content": 0, "branch_id": "ZBOX-PR-12", "city": "Praha", "cod": 1290.0, "consign_country": "CZ", "delivery_type": "zbox", "email": "[email protected]", "insurance": null, "name": "Jan Novák", "phone": "+420777123456", "promo_code": null, "size_class": 1, "street": "Na Příkopě 14", "target_country": "SK", "zip": "11000" }{ "data": { "sum": "89 CZK", "sum_value": 89.0, "sum_currency": "CZK", "sum_without_vat": "73.55 CZK", "sum_without_vat_value": 73.55, "sum_without_vat_currency": "CZK", "sum_presentable": "89 CZK", "sum_presentable_value": 89.0, "sum_presentable_currency": "CZK", "vat": "15.45 CZK", "vat_value": 15.45, "vat_currency": "CZK", "vat_percentage_value": 21.0, "vat_summary": true, "breakdown": [ { "name": "delivery", "value": 89.0 } ], "payments": { "payu": true, "csob": true, "google_pay": true } } }Cross-border exchange rate
GET
/v1/packeta/fxopenfinanceLooks up the Packeta FX used when quoting a C2C shipment between two destination countries.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- country_from
- country_to
- exchange_rate
GET /v1/packeta/fx?country_from=CZ&country_to=SK HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "data": { "exchange_rate": 0.0405 } }Initialize PayU card payment
POST
/v1/packeta/payments/cardopenfinanceStarts a PayU card charge for a parcel (postage or COD) and returns the hosted checkout link.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- package_id
- card_token
- status
- order_id
- ext_order_id
- finished_payment_link
- verification_link
POST /v1/packeta/payments/card HTTP/1.1 X-Access-Token: <session-token> Content-Type: application/json { "package_id": 88421, "card_token": "tok_payu_4419" }{ "data": { "status": "PENDING", "order_id": "88421-payu", "ext_order_id": "PAYU-9f21a", "finished_payment_link": "https://secure.payu.com/pay/9f21a", "verification_link": null } }COD payment methods
GET
/v1/packeta/payments/providersopenfinanceReturns the COD till mix (PayU vs ČSOB) and the amount due for a parcel waiting on cash-on-delivery.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- packageId
- success
- cod_data
- recipient_country
- currency
- total_price
- provider
- webpayu
- webcsob
GET /v1/packeta/payments/providers?packageId=88421 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "success": true, "cod_data": { "recipient_country": "CZ", "currency": "CZK", "total_price": 1290.0 }, "provider": "payu", "webpayu": { "enabled": true }, "webcsob": { "enabled": true } }Pickup point detail
GET
/v1/packeta/pickup-points/{externalId}opendataLoads one pickup point or Z-BOX: address, hours, weight limit and whether it can be selected as a drop-off.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- externalId
- externalBranchId
- exchangePointId
- name
- boxType
- address
- coordinates
- maxWeight
- openingHours
- openSince
- closes
- flags
- photos
- canBeSelected
- directions
GET /v1/packeta/pickup-points/ZBOX-PR-12 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "address": { "street": "Na Příkopě 14", "city": "Praha", "zip": "11000", "country": "CZ" }, "boxType": "zbox", "closes": "22:00", "coordinates": { "latitude": 50.085, "longitude": 14.427 }, "directions": { "walking": "50 m from Můstek" }, "externalBranchId": "BR-PR-12", "externalId": "ZBOX-PR-12", "flags": { "cardPayment": true, "wheelchair": false }, "maxWeight": 15, "name": "Z-BOX Praha Na Příkopě", "openSince": "06:00", "openingHours": { "monday": "00:00-24:00" }, "photos": [], "recommendedPostTime": null, "exchangePointId": "EX-PR-12", "canBeSelected": true }Nearby pickup points by geohash
GET
/v1/packeta/pickup-pointsopendataReturns pickup points and Z-BOX lockers in a map tile for the nearby-points layer.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- geohash
- externalId
- name
- boxType
- coordinates
- maxWeight
GET /v1/packeta/pickup-points?geohash=u2fkb&country=CZ HTTP/1.1 X-Access-Token: <session-token> Accept: application/json[ { "externalId": "ZBOX-PR-12", "name": "Z-BOX Praha Na Příkopě", "boxType": "zbox", "coordinates": { "latitude": 50.085, "longitude": 14.427 }, "maxWeight": 15 } ]Homefeed
GET
/v1/packeta/homefeedopendataLoads the home dashboard: FAQ tiles, promo pages, an optional warning and the nearest pickup point.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- platform
- language
- latitude
- longitude
- faq_pages
- nearby_branch
- promotion_pages
- warning_message
- externalId
- distanceFromOrigin
- openHours
GET /v1/packeta/homefeed?platform=android&language=cs&latitude=50.085&longitude=14.427 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "homefeed": { "faq_pages": [ { "id": "faq-cod", "title": "Cash on delivery" } ], "nearby_branch": { "address": { "street": "Na Příkopě 14", "city": "Praha" }, "coordinates": { "latitude": 50.085, "longitude": 14.427 }, "distanceFromOrigin": 180.4, "externalId": "ZBOX-PR-12", "flags": { "cardPayment": true }, "name": "Z-BOX Praha Na Příkopě", "openHours": "00:00-24:00", "exchangePointId": "EX-PR-12" }, "promotion_pages": [], "warning_message": null } }Closest branch
GET
/v1/packeta/branches/closestopendataReturns the nearest Packeta pickup point or Z-BOX to the device coordinates for the home shortcut.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- platform
- language
- latitude
- longitude
- address
- coordinates
- distanceFromOrigin
- externalId
- flags
- name
- openHours
- exchangePointId
GET /v1/packeta/branches/closest?platform=android&language=cs&latitude=50.085&longitude=14.427 HTTP/1.1 X-Access-Token: <session-token> Accept: application/json{ "address": { "street": "Na Příkopě 14", "city": "Praha" }, "coordinates": { "latitude": 50.085, "longitude": 14.427 }, "distanceFromOrigin": 180.4, "externalId": "ZBOX-PR-12", "flags": { "cardPayment": true }, "name": "Z-BOX Praha Na Příkopě", "openHours": "00:00-24:00", "exchangePointId": "EX-PR-12" }Packet tracking timeline
POST
/v1/packeta/trackingopendataReturns the movement timeline (sections and records) for a packet_id on the track-parcel screen.
Auth: X-Access-Token from the signed-in session. Content-Type and Accept are application/json; Accept-Language is the UI locale.
- packetId
- trackingSections
- title
- perex
- order
- trackingRecords
- timestamp
- message
- messageFormatted
- formattingArguments
POST /v1/packeta/tracking HTTP/1.1 X-Access-Token: <session-token> Content-Type: application/json { "packetId": "512334455" }{ "data": { "packetsTracking": { "__typename": "PacketsTrackingV1Payload", "trackingSections": [ { "title": "Ready for pickup", "perex": "Waiting in Z-BOX Praha Na Příkopě", "order": 3, "trackingRecords": [ { "timestamp": "2026-10-09T08:14:00Z", "order": 1, "message": "Parcel inserted into Z-BOX", "messageFormatted": "Parcel inserted into Z-BOX Praha Na Příkopě", "formattingArguments": [ { "order": 1, "name": "branch", "url": null } ] } ] } ] } } }
Data categories
- parcels
- tracking
- pickup-points
- lockers
- cash-on-delivery
- exchange-rates
Where teams use this data
Z-BOX PIN sync for last-mile
A locker overlay reads packet_id, zbox_password, last_pickup_date and is_zbox_password_visible so a recipient's home screen can surface the live PIN without waiting on SMS, and can hide it once picked_up_on is set.
COD and PayU reconciliation
A shop ledger pulls can_pay_cod, cod and the PayU init (order_id, ext_order_id, finished_payment_link) plus COD till mix (provider, webpayu, webcsob, total_price) to close cash-on-delivery against the parcel.
Pickup-point map overlay
A store-locator posts a geohash and joins externalId, boxType, maxWeight and openingHours so dispatchers route a drop-off to a Z-BOX that still accepts the size class.
Cross-border quote monitor
A CEE shipping desk reads exchange_rate for country_from/country_to and the tariff card (sum_value, vat_value, size_class) before confirming a CZ→SK C2C label.
Frequently asked questions
How does Packeta authenticate parcel and payment calls?
Signed-in calls send X-Access-Token from the session store, plus Content-Type and Accept application/json and Accept-Language for the UI locale. A 401 while the user is still marked logged-in signs the session out.
Which Z-BOX fields appear on an active parcel?
The parcel card returns zbox_password, is_zbox_password_visible, zbox_flow_version, zbox and zbox_dropoff, together with last_pickup_date, delivery_password and delivery_token used to open the locker.
How is cash-on-delivery charged?
The payment-provider call returns provider, webpayu, webcsob and cod_data (recipient_country, currency, total_price). PayU card init posts package_id and card_token and returns order_id plus finished_payment_link; ČSOB card, Google Pay and PayU QR are sibling checkout starts.
Can nearby pickup points be listed?
Yes. A geohash tile returns externalId, boxType, coordinates and maxWeight; the detail call adds openingHours, flags, exchangePointId and canBeSelected. Homefeed also ships the nearest branch as nearby_branch with distanceFromOrigin.
Apps similar to Packeta
- UPS — UPS is the official Android client of United Parcel Service for tracking shipments, scheduling pickups and managing deliveries.
- Почта России — Почта России is the official Android client of Russian Post for tracking parcels, paying postage and locating post offices.
- Nova poshta (old) — Nova poshta (old) is the long-running Android client of Nova Poshta for Ukrainian waybills, branch lookup and cash-on-delivery.
Topics
- Packeta API
- Z-BOX zbox_password
- Packeta packet_id tracking
- Packeta COD PayU
- Packeta pickup point externalId
- Packeta exchange_rate
- Zásilkovna parcel data
- Packeta last_pickup_date
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