One key into a Swiss chauffeur network. Quote, book, dispatch and follow every transfer in real time.
Subscribe once. We deliver each event as an HTTP POST with a JSON body, signed with HMAC SHA256 in the X-ET-Signature header. Failed deliveries retry automatically with backoff, and every attempt is logged.
Quote a route, place a booking, assign a chauffeur, and follow the car to the door. Requests are HTTPS POST with a JSON body; responses are JSON. Access is by partner key, scoped to your own account. Admin and internal endpoints are never exposed.
| Quotes and pricing across the fleet, with zones and vehicle classes |
| Create, amend and cancel bookings; a chauffeur is assigned and notified |
| A live GPS tracking link on every job, to hand to your customer |
| Real time webhooks for every step, signed with HMAC SHA256 |
| Flight status checks and NET statements, ready to reconcile |
| Emails and PDFs delivered in the language of the recipient |
From the first quote to the paid invoice, every part of the transfer lifecycle is an endpoint you can call.
Quotes and pricing | Price any route across the fleet, with zones, surcharges and vehicle classes |
Bookings and dispatch | Create, amend and cancel; a chauffeur is assigned, notified and set in motion |
Live tracking | Every job carries a live GPS tracking link, ready to hand to your customer |
Flights | Track flights in real time; arrivals, delays and status drive the pickup |
Statements and billing | NET statements and invoices, issued and reconciled through the API |
Webhooks | Signed, retried events for every step, delivered to your endpoint |
Authenticate with your partner key in the X-Api-Key header. Keep it secret. Your key only ever sees and acts on your own data.
curl -X POST "https://api.easy-transfers.ch/?action=getQuote" \
-H "X-Api-Key: YOUR_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{"from":"GVA","to":"Verbier","pax":3}'
A comprehensive API across the whole transport lifecycle, grouped by domain and read live from the running platform, so the reference always matches what your key can call.
| Bookings | booking.create booking.status booking.amend booking.cancel booking.list |
| Quotes and pricing | getQuote b2b.quote pricing.calculate pricing.zones |
| Tracking and flights | tracking.get flight.check flight.airports |
| Statements and webhooks | statement webhook.config webhook.deliveries |
The Partner Console is where you manage your API key, configure a webhook endpoint, and watch every delivery in real time, with automatic retries and a full log.
| Live key | etk_live_••••7f2a |
| Scope | your account |
| Rotation | one click |
| Deliveries | every attempt logged, with HTTP code and retries |
Webhooks let your system react in real time to events in the EasyTransfer Transport® platform. When a subscribed event occurs, we send an HTTP POST with a JSON body to your endpoint, signed with HMAC-SHA256.
Subscribe with exact names or wildcards, e.g. booking.*,invoice.* or all.
| Event | When it fires |
|---|---|
booking.created | A booking is created for your account |
booking.confirmed | Booking is confirmed |
booking.amended | Booking details are changed |
booking.cancelled | Booking cancelled |
booking.completed | Transfer completed |
booking.no_show | No-show recorded (still billable) |
booking.flight_updated | Tracked flight changed status |
booking.driver_assigned | A chauffeur was assigned |
booking.driver_reassigned | A different chauffeur replaced the assigned one |
booking.sla_warning | Legal waiting period at pickup elapsed |
booking.driver_accepted | Chauffeur accepted the job |
booking.driver_started | Chauffeur started the run |
booking.driver_en_route | Chauffeur en route to pickup |
booking.driver_arrived | Chauffeur arrived at pickup |
booking.photos_added | Chauffeur added pickup photos |
booking.passenger_onboard | Passenger on board |
invoice.created | Incoming invoice issued to you (NET terms) |
invoice.paid | An invoice is marked paid |
booking.documents_ready | Invoice, booking and GPS-evidence PDFs ready |
booking.sms_delivered | Tracking SMS reached the recipient |
booking.sms_failed | Tracking SMS failed; payload carries the error code |
booking.* payload includes a live tracking_link whenever a tracking token exists, so you can show your customer real-time vehicle tracking.Each delivery is a POST with Content-Type: application/json and:
X-ET-Event | The event name, e.g. booking.completed |
X-ET-Signature | HMAC-SHA256 of the raw body, keyed with your secret (hex) |
X-ET-Retry | Present on retries; the attempt number |
{
"event": "booking.completed",
"data": {
"ref": "ET-000999",
"status": "COMPLETED",
"client": "Max Muster",
"price": 120.00
},
"timestamp": "2026-06-30T16:33:00+02:00"
}
Compute HMAC-SHA256 over the raw body with your secret and compare (constant-time) to X-ET-Signature.
# PHP
$expected = hash_hmac('sha256', $rawBody, $yourSecret);
if (!hash_equals($expected, $_SERVER['HTTP_X_ET_SIGNATURE'] ?? '')) { http_response_code(401); exit; }
# Node
const exp = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(exp), Buffer.from(req.header('X-ET-Signature')||''))) return res.sendStatus(401);
| Success | Respond 2xx within the timeout |
| Timeout | 5s on first delivery, 8s on retries |
| Retries | Backoff 2, 4, 8, 16, 32 min · up to 6 attempts |
| Auto-disable | After 10 consecutive failures the subscription is paused |
| Delivery log | Every attempt is recorded |
data.ref + event).partner.webhook.config | POST saves URL + events + secret · GET reads current config |
partner.webhook.test | Sends a signed test POST to your URL |
partner.webhook.deliveries | Recent delivery log for your account |
curl -X POST "https://api.easy-transfers.ch/?action=partner.webhook.config" \
-H "X-Api-Key: etk_partner_..." -H "Content-Type: application/json" \
-d '{"url":"https://your-domain.com/webhook","events":["booking.created","invoice.paid"]}'
This is v1. New event types and fields may be added; your handler must ignore unknown fields and events. Breaking changes would ship as v2.
EasyTransfer Transport® · Chemin du midi 15d, 1260 Nyon, Switzerland · info@easy-transfers.ch
| Quotes and pricing across the fleet, with zones and vehicle classes |
| Create, amend and cancel bookings; a chauffeur is assigned and notified |
| A live GPS tracking link on every job, to hand to your customer |
| Real time webhooks for every step, signed with HMAC SHA256 |
| Flight status checks and NET statements, ready to reconcile |
| Emails and PDFs delivered in the language of the recipient |
| 1 | Tell us about your integration and we will issue a partner key |
| 2 | Authenticate with the key in the X-Api-Key header; it only ever sees and acts on your own data |
| 3 | Manage the key, configure webhooks and follow every delivery in the Partner Console |