API du lịch · v1
Xây dựng trên trọn chuyến đi
Một tích hợp, hai sản phẩm: API Chuyến bay (lịch giá vé, tìm kiếm, định giá, dịch vụ bổ sung, tạo đơn, xuất vé, hủy) và API Khách sạn (tìm theo mã thành phố hoặc mã khách sạn, phòng, kiểm tra giá, đặt phòng, hủy), cùng dữ liệu tĩnh. JSON gọn gàng qua HTTPS, yêu cầu được ký, một Base URL cho cả sandbox và production.
Base URL
https://api.dubaitrip.com/v1Một URL cho cả sandbox và production — khóa sẽ quyết định: khóa dt_sbx_ đi tới hệ thống thử nghiệm của các nhà cung cấp, khóa dt_live_ đi tới kho hàng thực.
Hướng dẫn
- Bắt đầu nhanhTừ đăng ký đến một vé máy bay được đặt trên sandbox, trong năm bước.
- Xác thựcHai cách xác thực, đều gắn với ID khóa của bạn: yêu cầu được ký (khuyến nghị) hoặc bearer token theo OAuth 2 client-credentials.
- Môi trường, giới hạn và phiên bảnMột Base URL cho cả sandbox và production; khóa bạn dùng để ký sẽ chọn môi trường.
- LỗiMọi lỗi đều là một tài liệu problem theo RFC 7807 với một mã ổn định, máy đọc được.
- API Chuyến bayLịch giá vé, tìm kiếm trên 900+ hãng hàng không, định giá một ưu đãi, thêm dịch vụ bổ sung, tạo đơn, xuất vé, báo giá và xử lý hoàn tiền.
- API Khách sạnTìm kiếm 1.5M+ cơ sở lưu trú theo mã thành phố (kiểu IATA, ví dụ DXB) hoặc theo mã khách sạn bạn lưu từ danh mục của chúng tôi, đọc giá theo từng phòng kèm chế độ ăn và chính sách hủy, xác thực và đặt chỗ, hủy theo chính sách.
- Dữ liệu tĩnhCác tra cứu tham chiếu để xây dựng giao diện tìm kiếm và để lưu danh mục khách sạn của chúng tôi theo thành phố: sân bay, hãng hàng không, thành phố và khách sạn.
- Nhật ký thay đổiMọi thay đổi của API du lịch, mới nhất trước.
Endpoint
Xác thực
Tài khoản
Chuyến bay
- 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.
Khách sạn
- 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.
Nội dung
- 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`.