API ya usafiri · v1
Jenga juu ya safari nzima
Muunganisho mmoja, bidhaa mbili: API ya Ndege (kalenda ya nauli, utafutaji, bei, huduma za ziada, oda, tiketi, kughairi) na API ya Hoteli (utafutaji kwa jiji au misimbo ya hoteli, vyumba, ukaguzi wa bei, kuweka nafasi, kughairi), pamoja na maudhui tuli. JSON safi kupitia HTTPS, maombi yaliyotiwa sahihi, URL moja ya msingi kwa sandbox na uzalishaji.
URL ya msingi
https://api.dubaitrip.com/v1URL moja kwa sandbox na uzalishaji — ufunguo ndio unaoamua: funguo za dt_sbx_ hufikia mifumo ya majaribio ya wasambazaji wetu, funguo za dt_live_ hufikia huduma halisi.
Miongozo
- Kuanza harakaKuanzia usajili hadi safari ya ndege iliyowekewa nafasi kwenye sandbox, kwa hatua tano.
- UthibitishajiNjia mbili za uthibitishaji, zote zikiwa zimefungamanishwa na kitambulisho cha ufunguo wako: maombi yaliyotiwa sahihi (inapendekezwa) au tokeni za bearer za OAuth 2 client-credentials.
- Mazingira, vikomo na matoleoURL moja ya msingi kwa sandbox na uzalishaji; ufunguo unaotumia kutia sahihi ndio unaochagua mazingira.
- MakosaKila kushindwa ni hati ya tatizo ya RFC 7807 yenye msimbo thabiti unaosomeka na mashine.
- API ya NdegeKalenda ya nauli, utafutaji katika mashirika ya ndege 900+, kupata bei ya ofa, kuongeza huduma za ziada, kuunda oda, kutoa tiketi, kupata makadirio na kushughulikia marejesho.
- API ya HoteliTafuta malazi 1.5M+ kwa msimbo wa jiji (mtindo wa IATA, k.m. DXB) au kwa misimbo ya hoteli unayohifadhi kutoka katalogi yetu, soma bei za kila chumba pamoja na mpango wa milo na sera ya kughairi, thibitisha na uweke nafasi, ghairi kulingana na sera.
- Maudhui tuliData ya marejeleo kwa ajili ya kujenga kiolesura cha utafutaji na kuhifadhi katalogi yetu ya hoteli kwa jiji: viwanja vya ndege, mashirika ya ndege, miji na hoteli.
- Kumbukumbu ya mabadilikoKila badiliko kwenye API ya usafiri, jipya zaidi kwanza.
Endpoint za API
Uthibitishaji
Akaunti
Safari za ndege
- 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.
Hoteli
- 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.
Maudhui
- 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`.