Zaslat dokumentace
Zaslat public API v2

CreateShipmentRequest

​object

Sender address. Omitted → filled from the account default sender.

​object

Recipient address

​array | null

Packages. Omitted → filled from the account default package.

pickupBranch
​string | null

Code of the pickup branch (parcel point where the sender drops off the shipment), or "1" to use the account default pickup branch. Requires carrierCode.

Example: CZ10037
deliveryBranch
​string | null

Code of the delivery branch (parcel point where the recipient collects the shipment). Requires carrierCode.

Example: CZ10046
autoDeliveryBranch
​boolean | null

Automatically pick the nearest delivery point to the recipient address

serviceId
​integer | null

Service (tariff) ID. Omitted → cheapest selectable service is chosen automatically.

referenceNumber
​string | null

Reference number / variable symbol

Example: OBJ-2026-0001
currency
​string | null

Currency

Example: CZK
carrierCode
​string | null

Carrier code, lowercase: ppl, dpd, gls, gls-sk, ups, fedex, toptrans, wedo, zasilkovna, balikovna, sps, liftago. GLS Slovakia is gls-sk; the API v1 code GLS_SK is not accepted here.

Example: dpd
type
​string | null · enum

Pickup type

Enum values:
ONDEMAND
REGULAR
OCCASIONAL
Example: ONDEMAND
pickupDate
​string | null · Y-m-d

Pickup date (Y-m-d), must not be in the past

Example: 2030-06-22
fromTime
​string | null · H:i

Earliest pickup time (H:i)

Example: 10:00
​array | null

Shipment-level additional services

​object

Customs declaration (for international shipments)

CreateShipmentResponse

id
​integer · required

ID of the created draft shipment

Example: 42
source
​string · required

Shipment source

Example: API
referenceNumber
​string | null · required

Reference number / variable symbol, echoed back

Example: OBJ-2026-0001
errors
​required

Business validation messages; null when the draft is valid

rates
​required

Computed price offers; null until the async quote job finishes

modified
​string · required

Last modification timestamp (Y-m-d H:i:s)

Example: 2026-06-18 10:30:00

ProblemResponse

message
​string · required
​object[]

CancelRequest

carrier
​string · enum · required

Valid carrier code.

Enum values:
dpd
gls
gls-sk
liftago
toptrans
ups
wedo
ppl
date
​string · Y-m-d · required

RunIntegrationsResponse

integrationsCount
​integer · required

Number of active e-shop integrations that were run

Example: 2
integrationsFailedCount
​integer · required

Number of integrations whose run failed, e.g. because the e-shop was unreachable or refused the connection; details are available in the integration log in the client zone

Example: 0
importedShipmentsCount
​integer · required

Total number of new orders downloaded and saved as draft shipments into the shipment cart

Example: 5

CreateHandoverRequest

shipments
​string[] · minItems: 1 · maxItems: 500 · required

Zaslat tracking numbers of the shipments the courier will pick up together. All shipments must belong to your account, be carried by Zásilkovna and already have a Zásilkovna packet number. Between 1 and 500 items, e.g. ["IZ3F9A2C71B4", "IZ8D01E6F2A9"].

format
​string · enum

Output format: PDF (default) returns a printable A4 handover sheet, JSON returns the batches as JSON.

Enum values:
PDF
JSON
Example: PDF

HandoverResponse

​object[] · required

Handover batches with barcodes. Shipments that were already in a batch keep their original barcode, newly added shipments get a new batch, so the courier may need to scan more than one code.

​object[] · required

Shipments Zásilkovna refused to include (already handed over or returns). Empty when everything was accepted.

WebhookListResponse

​object[] · required

All webhooks of your account, oldest first

CreateWebhookRequest

url
​string · uri · minLength: 12 · maxLength: 1024 · required

HTTPS URL we POST the events to. It must be reachable from the internet: private, local and reserved addresses are refused.

Example: https://www.example.com/webhooks/zaslat
event
​string · enum

Event to subscribe to. Currently the only event is shipment.status_changed (default).

Enum values:
shipment.status_changed
Example: shipment.status_changed
secret
​string | null · minLength: 16 · maxLength: 128

Your own signing secret, 16 to 128 characters. When omitted, we generate a random secret and return it once in the response.

Example: c0ffee1234567890deadbeef

WebhookResponse

id
​integer · required

Webhook ID, use it in the detail, update, deliveries and delete endpoints

Example: 42
url
​string · required

URL the events are sent to

Example: https://www.example.com/webhooks/zaslat
event
​string · required

Subscribed event

Example: shipment.status_changed
active
​boolean · required

Whether events are currently being sent. false either because you paused the webhook or because we disabled it after it kept failing (see disabledAt).

Example: true
createdAt
​string · required

When the webhook was created (ISO 8601)

Example: 2026-10-07T14:03:11+02:00
failureCount
​integer · required

Consecutive failed delivery attempts since the last successful delivery. Reset to 0 by a success or by re-enabling the webhook.

Example: 0
lastSuccessAt
​string | null · required

Last successful delivery (ISO 8601), null when nothing was delivered yet

Example: 2026-10-07T15:20:03+02:00
lastFailureAt
​string | null · required

Last failed delivery attempt (ISO 8601), null when none failed yet

disabledAt
​string | null · required

When we disabled the webhook automatically because deliveries had been failing for 24 hours (ISO 8601). null while the webhook is active or when you paused it yourself. Cleared when you re-enable the webhook.

secret
​string | null · required

Signing secret used for the X-Zaslat-Signature header. Returned only once, in the response of the create endpoint; everywhere else it is null. Store it, it cannot be retrieved later.

Example: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

WebhookEvent

event
​string · required

Event type the webhook was registered for

Example: shipment.status_changed
eventId
​string · required

Unique identifier of this event. Every retry of the same event carries the same eventId, use it to ignore duplicates.

Example: 7f2a0b9c-4d3e-4f61-9a8b-2c1d0e5f6a7b
version
​integer · required

Payload schema version. Breaking changes of data increase it.

Example: 1
occurredAt
​string · required

When the change happened (ISO 8601 with timezone)

Example: 2026-10-07T14:03:11+02:00
test
​boolean · required

true for events sent by the test endpoint with made-up shipment data, false for real shipment events. Skip test events in your production processing.

Example: false
​object · required

Event payload

UpdateWebhookRequest

url
​string | null · uri · minLength: 12 · maxLength: 1024

New HTTPS URL of the webhook. The same rules as on create apply. Omit to keep the current URL.

Example: https://www.example.com/webhooks/zaslat-v2
active
​boolean | null

false pauses the webhook (no events are sent), true resumes it. Omit to keep the current state.

Example: true

WebhookDeliveryListResponse

​object[] · required

Most recent delivery attempts of the webhook, newest first

WebhookTestResponse

eventId
​string · required

eventId of the test event that was sent, look it up in the deliveries endpoint

Example: 7f2a0b9c-4d3e-4f61-9a8b-2c1d0e5f6a7b
delivered
​boolean · required

true when your endpoint answered with a 2xx status

Example: true
statusCode
​integer | null · required

HTTP status your endpoint returned, null when it did not respond (timeout, connection error)

Example: 200
error
​string | null · required

Why the delivery failed, null on success