API de călătorie · v1
Construiește pe întreaga călătorie
O singură integrare, două produse: API-ul de zboruri (calendar de tarife, căutare, preț, servicii suplimentare, comandă, bilet, anulare) și API-ul de hoteluri (căutare după oraș sau coduri de hotel, camere, verificarea tarifului, rezervare, anulare), plus conținut static. JSON curat prin HTTPS, cereri semnate, un singur URL de bază pentru sandbox și producție.
URL de bază
https://api.dubaitrip.com/v1Un singur URL pentru sandbox și producție — cheia decide: cheile dt_sbx_ ajung la sistemele de test ale furnizorilor noștri, cheile dt_live_ la inventarul live.
Ghiduri
- Pornire rapidăDe la înregistrare la un zbor rezervat în sandbox, în cinci pași.
- AutentificareDouă moduri de autentificare, ambele legate de ID-ul cheii tale: cereri semnate (recomandat) sau tokenuri bearer OAuth 2 client-credentials.
- Medii, limite și versiuniUn singur URL de bază pentru sandbox și producție; cheia cu care semnezi selectează mediul.
- EroriFiecare eșec este un document de problemă RFC 7807 cu un cod stabil, citibil de mașină.
- API zboruriCalendar de tarife, căutare la 900+ companii aeriene, calcularea prețului unei oferte, adăugarea de servicii suplimentare, crearea comenzii, emiterea biletelor, oferte de rambursare și procesarea rambursărilor.
- API hoteluriCaută printre 1.5M+ de proprietăți după codul orașului (în stil IATA, de ex. DXB) sau după codurile de hotel pe care le păstrezi din catalogul nostru, citește tarifele la nivel de cameră cu tipul de masă și politica de anulare, validează și rezervă, anulează conform politicii.
- Conținut staticNomenclatoare pentru construirea unei interfețe de căutare și pentru stocarea catalogului nostru de hoteluri pe orașe: aeroporturi, companii aeriene, orașe și hoteluri.
- Jurnal de modificăriToate modificările API-ului de călătorie, cele mai noi primele.
Endpointuri
Autentificare
Cont
Zboruri
- get
/v1/flights/price-calendarCheapest fare per day for a route over a date window, from our price cache — instant and never a live supplier call. Draw a fare calendar before searching. Omit the return window for one-way prices. - post
/v1/flights/searchSearch flights. Returns a session to poll, or the complete result when `wait` is true. - get
/v1/flights/search/{searchId}Read the next page of a running search. `status` becomes `complete` when every supplier answered. - post
/v1/flights/offers/{offerId}/priceRe-price an offer right before booking. `priceChanged` tells you the total moved. - get
/v1/flights/offers/{offerId}/fare-rulesFare rules and conditions of an offer. - get
/v1/flights/offers/{offerId}/ancillariesChargeable extras available for an offer — today extra checked-baggage allowances, priced by the airline per passenger. Add them to the order via `ancillaries[]` on POST /v1/flights/orders. - post
/v1/flights/ordersCreate an order (hold) from an offer. Requires an `Idempotency-Key` header. - get
/v1/flights/orders/{orderId}Read an order: status, time limit, tickets. - post
/v1/flights/orders/{orderId}/issueIssue the tickets of a held order (charges your deposit balance). - get
/v1/flights/orders/{orderId}/refund-quoteWhat a cancellation would refund, before you commit. - post
/v1/flights/orders/{orderId}/cancelCancel: a held order is released; a ticketed order is voided inside the void window, else refunded. - get
/v1/flights/scheduleTimetable for a route on one day: which flights operate, with local times and equipment — no fares. Query: `origin`, `destination` (IATA), `date` (yyyy-MM-dd). - post
/v1/flights/orders/{orderId}/exchange/searchExchange step 1: search replacement itineraries for a ticketed order. Offers come back in the search shape and expire the same way. - post
/v1/flights/orders/{orderId}/exchange/quoteExchange step 2: what exchanging the listed tickets onto an offer would cost. No side effects. - post
/v1/flights/orders/{orderId}/exchangeExchange step 3: re-issue the listed tickets onto the offer (charges your deposit balance). Requires an `Idempotency-Key` header.
Hoteluri
- post
/v1/hotels/searchSearch hotels by city code (IATA-style, e.g. DXB — see /v1/content/cities), by hotel codes from your stored catalogue, or by a geo circle. Returns a session to poll, or the complete result when `wait` is true. - get
/v1/hotels/search/{searchId}Read the next page of a running search. Pass the same dates and room count as the search so rate keys stay bookable. - get
/v1/hotels/{hotelCode}/roomsRoom types of a hotel. Pass any `rateKey` from the same search so the right supplier answers. - post
/v1/hotels/rates/{rateKey}/checkPre-book check: confirms the rate is still bookable and its price. - post
/v1/hotels/bookingsBook a rate. Requires an `Idempotency-Key` header. - get
/v1/hotels/bookings/{bookingId}Read a booking (voucher). - get
/v1/hotels/bookings/{bookingId}/cancellation-quoteWhat a cancellation would refund, before you commit. - post
/v1/hotels/bookings/{bookingId}/cancelCancel a booking under its cancellation policy.
Conținut
- get
/v1/content/airportsAirports (IATA), optionally filtered by a free-text term or a country. - get
/v1/content/citiesCities usable as a hotel search destination, optionally filtered by term or country. - get
/v1/content/airlinesAirlines (IATA two-letter codes). - get
/v1/content/hotelsLook up hotels by city and/or name — a lookup, not a catalogue export: a cityCode or a name of 3+ characters is required, 50 per page, 20 pages per query. Store the codes you need: availability is searched by `cityCode` or `hotelCodes`.