Direct · Express · Overnight · all Switzerland
Black VW Tiguan R on an alpine road at sunset for direct courier trips
VW Tiguan R · 320 PS4MOTION · discreet · direct
EXPRESS COURIER · DIRECT · MON–SUN
Courier service Switzerland.
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.

Direct Mon–SunOvernight Mon–SunCar & van up to 1,000 kg
COURIER INSIGHTS

IT integration: REST APIs for courier booking from your ERP

How to send courier jobs automatically from your ERP to x25pronto using REST APIs: field definitions, auth, error handling and integration best practices.

Quick answer

A reliable REST API lets your ERP create courier jobs at x25pronto automatically. Key elements are a clear JSON payload, secure authentication (API key or OAuth2), strict field validation, idempotent requests and transparent error codes. Standardise address, time window, package and recipient data, validate Swiss postal codes, and use webhooks for status updates.

Purpose and use cases

The goal is automated, reliable transmission of courier jobs from ERPs such as SAP, Microsoft Dynamics or Abacus to x25pronto. Common uses include same‑day deliveries, replacement parts, sample dispatch and returns. The API removes manual entry, lowers errors and speeds up processing.

Authentication and security

Use proven methods: API key for server‑to‑server calls or OAuth2 (Client Credentials) for finer control. All endpoints must use HTTPS. Restrict API keys by IP if possible. Rotate and log keys. Never send sensitive data in the URL query string.

Basic API resources and endpoints

Minimum endpoints: POST /orders (create order), GET /orders/{id} (get status), PATCH /orders/{id} (modify before pickup), DELETE /orders/{id} (cancel when allowed), and POST /webhooks (register webhooks). Each endpoint should return standardised status codes and a JSON schema in responses.

Recommended JSON payload for POST /orders

Key fields: clientOrderId (string, idempotency), pickup {name, street, postalCode, city, country, contact{name, phone, email}, readyAt}, delivery {name, street, postalCode, city, country, contact{name, phone, email}, requiredBy}, packages [{weightKg, lengthCm, widthCm, heightCm, description, fragile}], serviceLevel (sameDay, nextMorning, standard), specialInstructions, declaredValueCHF. Highlight required fields and validation rules (e.g. postalCode ranges for CH, weight > 0).

Idempotency, validation and conflict avoidance

Send clientOrderId for idempotent POSTs. Repeated requests with the same clientOrderId must return the same order. Validate addresses before sending (use an address verification service). Accept only allowed serviceLevel combinations and check time windows against operating hours.

Error codes and handling

Use clear HTTP codes: 201 Created, 200 OK, 400 Bad Request (missing/invalid fields), 401 Unauthorized, 403 Forbidden, 404 Not Found, 409 Conflict (e.g. conflicting data), 422 Unprocessable Entity (validation failed), 500 Server Error. Return an error object with code, message and optional details. Log request/response pairs for troubleshooting.

Frequently asked questions

How do I register an API key?

Request an API key in the x25pronto developer console. Add IP restrictions and expiry. Test the key first in the sandbox environment.

How can I send documents like a delivery note or invoice?

Documents can be sent as base64‑encoded strings in JSON or uploaded via multipart/form‑data. Observe max file sizes and allowed MIME types.

How do I get real‑time status updates?

Register a webhook endpoint. x25pronto will POST status events (accepted, pickedUp, inTransit, delivered, canceled). Validate events with HMAC or signatures for integrity.

What to do when I repeatedly get 422 responses?

Check the validation details in the response. Typically a required field is missing or a value is outside allowed ranges. Validate the payload against the provided JSON schema before sending.

At a glance: IT integration: REST APIs for courier booking from your ERP

Key points from this article. Follow the links to read each explanation.

Purpose and use cases The goal is automated, reliable transmission of courier jobs from ERPs such as SAP, Microsoft Dynamics or Abacus to x25pronto. Read this section

Authentication and security Use proven methods: API key for server‑to‑server calls or OAuth2 (Client Credentials) for finer control. Read this section

Basic API resources and endpoints Each endpoint should return standardised status codes and a JSON schema in responses. Read this section

Recommended JSON payload for POST /orders Highlight required fields and validation rules (for example postalCode ranges for CH, weight > 0). Read this section

Idempotency, validation and conflict avoidance Send clientOrderId for idempotent POSTs. Read this section