Sayohat API · v1
Butun safar ustiga quring
Bitta integratsiya, ikki mahsulot: Parvoz API (tariflar taqvimi, qidiruv, narxlash, qoʻshimcha xizmatlar, buyurtma, chipta, bekor qilish) va Mehmonxona API (shahar yoki mehmonxona kodlari boʻyicha qidiruv, xonalar, narxni tekshirish, bron, bekor qilish), shuningdek statik kontent. HTTPS orqali toza JSON, imzolangan soʻrovlar, sandbox va production uchun bitta asosiy URL.
Asosiy URL
https://api.dubaitrip.com/v1Sandbox va production uchun bitta URL — qaysi biri ekanini kalit hal qiladi: dt_sbx_ kalitlari yetkazib beruvchilarimizning test tizimlariga, dt_live_ kalitlari esa jonli zaxiraga murojaat qiladi.
Qoʻllanmalar
- Tezkor boshlashRoʻyxatdan oʻtishdan sandboxʼdagi bron qilingan parvozgacha — besh qadamda.
- AutentifikatsiyaAutentifikatsiyaning ikki usuli bor, ikkalasi ham kalit ID ingizga bogʻlangan: imzolangan soʻrovlar (tavsiya etiladi) yoki OAuth 2 client-credentials bearer tokenlari.
- Muhitlar, limitlar va versiyalashSandbox va production uchun bitta asosiy URL; muhitni siz imzolaydigan kalit tanlaydi.
- XatolarHar bir xato barqaror, mashina oʻqiy oladigan kodga ega RFC 7807 muammo hujjatidir.
- Parvoz APITariflar taqvimi, 900+ aviakompaniya boʻyicha qidiruv, taklifni narxlash, qoʻshimcha xizmatlar qoʻshish, buyurtma yaratish, chiptalarni rasmiylashtirish, qaytarish narxini olish va qaytarishlarni amalga oshirish.
- Mehmonxona API1.5M+ obyektni shahar kodi (IATA uslubida, masalan DXB) yoki katalogimizdan saqlab olgan mehmonxona kodlaringiz boʻyicha qidiring, ovqatlanish turi va bekor qilish siyosati koʻrsatilgan xona darajasidagi tariflarni oling, tekshirib bron qiling, siyosatga muvofiq bekor qiling.
- Statik kontentQidiruv interfeysini qurish va mehmonxona katalogimizni shaharlar boʻyicha saqlash uchun maʼlumotnomalar: aeroportlar, aviakompaniyalar, shaharlar va mehmonxonalar.
- Oʻzgarishlar jurnaliSayohat APIʼdagi barcha oʻzgarishlar, eng yangilari birinchi.
Endpointʼlar
Autentifikatsiya
Hisob
Parvozlar
- 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.
Mehmonxonalar
- 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.
Kontent
- 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`.