Тревел-API · v1
Стройте на всей поездке целиком
Одна интеграция, два продукта: авиационное API (календарь тарифов, поиск, цена, дополнительные услуги, заказ, билет, отмена) и отельное API (поиск по городу или кодам отелей, номера, проверка тарифа, бронирование, отмена), а также статический контент. Чистый JSON поверх HTTPS, подписанные запросы, один базовый URL для sandbox и продакшена.
Базовый URL
https://api.dubaitrip.com/v1Один URL для sandbox и продакшена — всё решает ключ: ключи dt_sbx_ работают с тестовыми системами наших поставщиков, ключи dt_live_ — с боевыми предложениями.
Руководства
- Быстрый стартОт регистрации до забронированного перелёта в sandbox за пять шагов.
- АутентификацияДва способа аутентификации, оба привязаны к ID вашего ключа: подписанные запросы (рекомендуется) или bearer-токены OAuth 2 client credentials.
- Окружения, лимиты и версионированиеОдин базовый URL для sandbox и продакшена; окружение определяется ключом, которым вы подписываете запрос.
- ОшибкиЛюбая ошибка — это документ problem по RFC 7807 со стабильным машиночитаемым кодом.
- Авиационное APIКалендарь тарифов, поиск среди 900+ авиакомпаний, расчёт цены предложения, дополнительные услуги, создание заказа, выписка билетов, расчёт и оформление возвратов.
- Отельное APIИщите среди 1.5M+ объектов размещения по коду города (в стиле IATA, например DXB) или по кодам отелей, сохранённым из нашего каталога; получайте тарифы на уровне номеров с типом питания и условиями отмены, проверяйте и бронируйте, отменяйте по условиям тарифа.
- Статический контентСправочные данные для построения интерфейса поиска и хранения нашего каталога отелей по городам: аэропорты, авиакомпании, города и отели.
- Журнал измененийВсе изменения Тревел-API, начиная с самых новых.
Эндпоинты
Аутентификация
Аккаунт
Авиабилеты
- 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.
Отели
- 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.
Контент
- 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`.