Skip to content

Conformance with the Packeta documentation

What the add-on does, against the official Packeta documentation (docs.packeta.com: Packeta API, API reference, Label printing, Packet tracking, PUDO delivery widget, Home delivery, Common issues, Carrier overview; read November 2026). The add-on is proven against a local mock that follows these pages; it has not been run against your Packeta account until you test the connection.

Topic Documented behaviour What the add-on does
Interfaces and endpoint SOAP and REST/XML with identical functionality; REST: HTTP POST of an XML body to https://www.zasilkovna.cz/api/rest, the root element is the method, the first argument is apiPassword; the answer is <response><status>ok|fault</status> REST/XML only. One POST per call; ok returns the result, fault is turned into an error with the fault name and the field list
Sandbox None. “You can use your production account for testing purposes, as no charges apply unless a packet physically enters the Packeta network”; a dedicated testing sender is suggested Test mode is a second set of credentials on the same API (use a testing sender). Same host in both modes
Credentials API key (16 characters, public: widget and feeds) and API password (secret: API calls) Both on the Connection page; the password sealed with AES-256-GCM, never logged; the key is public by design
Test connection (no dedicated method) packetAttributesValid with throw-away data: a validation fault means the password was accepted, IncorrectApiPasswordFault means it was not; sender and approval faults are shown. The method has no side effects. The reading that a validation fault means “accepted” is ours: verify with your account
Create packet createPacket(packetAttributes) returns id, barcode (Z + id), barcodeText; required: number, name, surname, addressId, value, weight, and e-mail or phone; eshop when using more senders Sends these plus currency, cod, company, street / houseNumber / city / zip (home delivery), carrierPickupPoint (partner points). Stores the packet with its barcode
Pick-up points addressId is the branch id from the widget; external carrier pick-up points: carrier id in addressId plus carrierPickupPoint Both. Partner points come from the widget with the carrier ids you configure
Home delivery addressId is the carrier id (official carrier list: CZ 106, SK 131, HU 4159, RO 4161); address fields required Carrier id per country from a setting (those defaults); street and house number are split from the address, house number kept with its slash part
Currency and COD Optional currency, default is the destination country’s currency; CZK COD must be a whole number, HUF a multiple of 5; max packet value 20 000 CZK or 700 EUR; other currencies need a conversion set up in the client section Converts the order total into the destination currency with the store’s rates; rounds COD as documented; caps the insured value at the limit and refuses a COD above it; refuses when no destination currency can be used
Phone Mobile number in the formats of the “Phone number formats” table, with or without + / 00 Normalised to the international digits of the destination country (CZ, SK, HU, RO, PL formats of the table); otherwise the e-mail is used
Names and notes Emoji in names are the usual validation error Control characters, quotes and emoji are removed; first and last name limited to 32 characters
Labels Packeta labels (pick-up points, Z-BOXes): packetLabelPdf formats A6 on A6, A7 on A7, A6 on A4, A7 on A4, 105x35mm on A4, A8 on A8; packetLabelZpl A6/A7 at 203/300 dpi; the answer is base64 (PDF) or XML-escaped (ZPL). Carrier labels: A6 only, via packetCourierLabelPdf/Zpl with the courier number; Packeta label as fallback All of these. The courier number comes from packetInfo (courierInfo). ZPL is unescaped before it is stored. Carrier label not supported or not ready in ten minutes: Packeta label
Bulk labels packetsLabelsPdf for several packets Used for the merged PDF of selected packets that have Packeta labels
Tracking packetStatus, packetTracking, packetCourierTracking; status code table 1 to 33 and 999; carriers are synchronised three times a day packetStatus by cron every hour for open packets (every 6 hours for packets with a problem); the status code is mapped to created, in transit, delivered, problem, cancelled. External carrier history (packetCourierTracking) is not read: the carrier tracking link from packetInfo is shown instead
Web tracking https://tracking.packeta.com/<lang>/?id=<packet id> Link on the order, with the Z barcode. The page accepts the packet id; verify that the Z form opens your packet before you rely on it
Cancel cancelPacket for packets not physically submitted; CancelNotAllowedFault otherwise Cancel button; the fault text is shown
Push tracking Activated on request by Packeta (integrations team); HTTPS endpoint; POST JSON, headers X-Webhook-Timestamp, X-Webhook-Signature = HMAC-SHA256 of timestamp.rawBody with the signing key, X-Webhook-Event-Id; HTTP 200/202 = success; retries with back-off up to 8 hours The endpoint verifies the signature on the raw body in constant time, rejects timestamps older than 24 hours, deduplicates by event id, answers at once and applies the status through the queue
Pick-up point widget Library https://widget.packeta.com/v6/www/js/library.js, Packeta.Widget.pick(apiKey, callback, options); the widget needs the API key, never the password; options such as vendors, country, language, appIdentity Loaded on the checkout only. Vendors are built from the widget country setting (pick-up points and Z-BOXes) or the partner carrier ids
Validation of the point “Always validate the selected PUDO point on the server side”: POST https://widget.packeta.com/v6/pps/api/widget/v1/validate with apiKey, point, options; answers isValid, point, errors Every selection is validated before it is kept; the validated name and address are stored, not the browser’s
Errors Faults such as PacketAttributesFault (with AttributeFault list), IncorrectApiPasswordFault, ExternalGatewayFault, PacketIdFault, CancelNotAllowedFault HTTP 200 for every answer: faults map to permanent errors, except ExternalGatewayFault and network errors / HTTP 5xx, which are retried
Rate limits Not stated on the pages we read Back-off retries, no parallel bursts, at most 200 packets checked per cron run

Customs declarations (outside the EU), returns and claim-assistant packets, B2B packets, dispatch orders / shipments (delivery notes, createShipment), carrier services (carrierService), 18+ delivery, scheduled delivery, Packeta data feeds as a map replacement, SOAP, external carrier tracking history.