API turystyczne · v1
Buduj na całej podróży
Jedna integracja, dwa produkty: API lotnicze (kalendarz taryf, wyszukiwanie, wycena, usługi dodatkowe, zamówienie, bilet, anulowanie) i API hotelowe (wyszukiwanie według miasta lub kodów hoteli, pokoje, weryfikacja stawki, rezerwacja, anulowanie), a do tego treści statyczne. Czysty JSON przez HTTPS, podpisane żądania, jeden Base URL dla sandboksa i produkcji.
Base URL
https://api.dubaitrip.com/v1Jeden URL dla sandboksa i produkcji — decyduje klucz: klucze dt_sbx_ trafiają do systemów testowych naszych dostawców, klucze dt_live_ do rzeczywistej oferty.
Przewodniki
- Szybki startOd rejestracji do zarezerwowanego lotu w sandboksie w pięciu krokach.
- UwierzytelnianieDwa sposoby uwierzytelniania, oba powiązane z ID Twojego klucza: podpisane żądania (zalecane) lub tokeny Bearer OAuth 2 client credentials.
- Środowiska, limity i wersjonowanieJeden Base URL dla sandboksa i produkcji; środowisko wybiera klucz, którym podpisujesz.
- BłędyKażdy błąd to dokument problem zgodny z RFC 7807 ze stabilnym kodem czytelnym maszynowo.
- API lotniczeKalendarz taryf, wyszukiwanie w 900+ liniach lotniczych, wycena oferty, dodawanie usług dodatkowych, tworzenie zamówienia, wystawianie biletów, wycena i obsługa zwrotów.
- API hotelowePrzeszukuj 1.5M+ obiektów według kodu miasta (w stylu IATA, np. DXB) lub według kodów hoteli zapisanych z naszego katalogu, odczytuj stawki na poziomie pokoju z rodzajem wyżywienia i warunkami anulowania, weryfikuj i rezerwuj, anuluj zgodnie z warunkami.
- Treści statyczneDane referencyjne do budowy interfejsu wyszukiwania i przechowywania naszego katalogu hoteli według miast: lotniska, linie lotnicze, miasta i hotele.
- Dziennik zmianKażda zmiana w API turystycznym, od najnowszej.
Endpointy
Uwierzytelnianie
Konto
Loty
- 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.
Hotele
- 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.
Treści
- 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`.