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.
Webhook integration: real-time status updates for your courier flows
Set up webhooks to get live updates on pickups and deliveries. Learn which events matter, how to secure endpoints and design retry and idempotence for Swiss operations.
Quick answer
Webhooks push real-time status updates (e.g. Pickup, Out-for-Delivery, Delivered) from x25pronto to your systems. They let you automate customer notifications and backend processes for shipments in Geneva, Zurich or Basel. Properly implemented, webhooks provide secure, reliable and auditable status flows.
What is a webhook and why use it
A webhook is an HTTP POST that x25pronto sends to your server when a shipment state changes. Instead of polling our API, you receive instant updates. This reduces manual tracking and speeds up customer replies for deliveries within Zurich, Lausanne or Lugano.
Key events: Pickup, Out-for-Delivery, Delivered and more
Subscribe to these core events: - pickup: courier collected the parcel. - out_for_delivery: courier is en route to deliver. - delivered: parcel handed over successfully. - failed_delivery: attempt unsuccessful. - exception: delays or address issues. Events include shipment_id, timestamp, location data and optional proof like photo or signature metadata.
Payload format and minimal endpoint requirements
Payloads are JSON. Typical fields: event_type, shipment_id, timestamp, courier_id, location {lat, lon, address}, metadata. Provide a short, idempotent endpoint that accepts POST, validates the body and returns 200 OK quickly. Use shipment_id and a sequence or timestamp to apply events in order.
Security: authentication and integrity checks
Protect webhooks using one or more methods: - HMAC signature: verify payload with a shared secret. - IP whitelist: accept requests from x25pronto IPs if available. - TLS: require HTTPS only. Combine methods for stronger security. Log headers and payloads for audits and incident tracing.
Retry behaviour and idempotence
Network issues happen. x25pronto will retry webhook delivery. Your system should: - Be idempotent: repeated events must not duplicate actions. - Treat 2xx as success, 4xx as permanent error (don’t retry), 5xx as temporary (retry). - Use exponential backoff for outgoing calls and log failures for support.
Practical example: automatic delivery notifications
Use case: a client in Geneva orders office equipment. When x25pronto sends out_for_delivery, your system emails an ETA. After delivered, it checks photo or signature metadata and sends a final confirmation. This reduces calls to your service desk and improves transparency.
Frequently asked questions
How do I set up a webhook endpoint?
Create an HTTPS endpoint that accepts JSON POSTs. Implement HMAC signature verification and return 200 OK if the event is valid and processed.
What if my server is temporarily offline?
x25pronto retries delivery of the event. Ensure your endpoint handles duplicate events without creating repeated actions.
Which events should I subscribe to first?
Start with pickup, out_for_delivery and delivered. Add failed_delivery and exception to handle problems proactively.
How can I make webhook handling more secure?
Combine HMAC verification, TLS and IP whitelisting. Keep detailed logs and monitor unexpected event patterns.

