Express courier. Direct.
Also overnight.
x25pronto Switzerland takes goods direct to the destination. Small loads go by car. Larger loads go by van or Van XL. Direct, express and overnight trips run Monday to Sunday when a slot is free. Free times are shown in the booking calendar. This keeps the plan clear.
Batch Bookings & Bulk Uploads via API: Best Practices
Practical guide for Swiss companies to transmit large shipment volumes to x25pronto via API. Focus on error avoidance, repeatability and monitoring.
Quick answer
For large shipment volumes, send ordered, idempotent batches, respect rate limits and handle failures with reprocessing (retries, queued reprocessing). Plan throttling, split big uploads, use unique client IDs and check response codes to avoid duplicate bookings.
Why use batch bookings via API
Batch bookings cut manual work and reduce integration errors. Swiss logistics and manufacturing firms save time by generating many shipments centrally and sending them automatically to x25pronto. Batch uploads also enable more efficient server processing and clear per-item feedback.
Prepare your data: validate and standardise
Validate data locally before sending. Check Swiss addresses (postal codes, canton fields), weight and packaging details, and recipient contacts. Use a common format (JSON/CSV) and a schema with required fields. Isolate problematic records rather than letting whole batches fail.
Rate limits, throttling and backoff strategies
APIs enforce rate limits. Respect them to avoid errors. Implement exponential backoff for 429 or transient 5xx responses. Throttle requests on your side: limit concurrent connections and control request pacing. For very large volumes, split uploads into smaller groups (for example 100–500 entries).
Idempotency: preventing duplicate bookings
Send a unique client-side ID per shipment (for example your internal consignment number). An idempotent API allows safe retries without creating duplicates. Store response IDs and status locally for reconciliation and audits.
Error handling and reprocessing
Handle errors at record level: distinguish between temporary (retry) and permanent (data fix needed) failures. Implement a queue for failed entries and reprocess them asynchronously. Log errors with payload, HTTP status and timestamp for fast diagnosis.
Monitoring, webhooks and reporting
Use webhooks or polling to receive status updates from x25pronto. Build dashboards for throughput, error rate and latency. Send alerts to operations teams when error rates or rate-limit events rise.
Frequently asked questions
How large should individual batches be?
It depends on payload size and API rate. Typical batches of 100–500 entries work well. Test incrementally to find the best balance between throughput and fault tolerance.
What is the recommended retry strategy for 429 responses?
Use exponential backoff with jitter. Start with a short delay (for example 500 ms), double the interval for each attempt and add random variation to avoid thundering-herd issues.
How do I ensure idempotency technically?
Generate stable unique client-side IDs per shipment. Store these IDs with the API responses. Before retrying, check your database for existing response IDs to avoid resending.
How do I handle bad records in a failing batch?
Isolate failing records from the batch. Correct or flag them separately. Reprocess only the corrected entries rather than retrying the whole batch.

