Lewati ke konten

Hotel

Search 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.

post/v1/hotels/search

  • Memerlukan autentikasi

Body permintaanHotelSearchRequest

  • DestinationSpec
    • countryCodestringboleh null
    • cityCodestringboleh null

      Platform city code (see /v1/content/cities).

    • hotelCodesstring[]boleh null

      Canonical hotel codes (see /v1/content/hotels).

    • Geo
  • checkInstring

    yyyy-MM-dd.

  • checkOutstring
  • SearchRoom[]
    • adultsinteger (int32)
    • childrenAgesinteger (int32)[]boleh null
  • nationalitystringboleh null

    Guest nationality, ISO 3166-1 alpha-2.

  • Filters
    • starsinteger (int32)[]boleh null
    • refundableOnlybooleanboleh null
    • mealIncludedbooleanboleh null
    • priceMinnumber (double)boleh null
    • priceMaxnumber (double)boleh null
  • sortstringboleh null

    price_asc | price_desc | stars_desc | name.

  • pageinteger (int32)
  • pageSizeinteger (int32)
  • waitboolean
Contoh
{
  "destination": {
    "cityCode": "DXB"
  },
  "checkIn": "2026-11-15",
  "checkOut": "2026-11-18",
  "rooms": [
    {
      "adults": 2,
      "childrenAges": []
    }
  ],
  "wait": true
}

Respons

200OKHotelSearchResponse

  • searchIdstring
  • statusstring
  • cursorinteger (int32)
  • suppliersDoneinteger (int32)
  • supplierCountinteger (int32)
  • totalinteger (int32)
  • pageinteger (int32)
  • pageCountinteger (int32)
  • partialboolean
  • starFacetsobjectboleh null
  • HotelResult[]
    • hotelCodestring
    • namestringboleh null
    • starsinteger (int32)boleh null
    • cityCodestringboleh null
    • cityNamestringboleh null
    • countryCodestringboleh null
    • addressstringboleh null
    • latitudenumber (double)boleh null
    • longitudenumber (double)boleh null
    • imagesstring[]
    • amenitiesstring[]
    • Money

      Money on the wire: decimal string (never a float) + ISO 4217.

    • HotelRoom[]
  • 400Bad RequestDetail masalah RFC 7807

Contoh kode

Program lengkap yang menandatangani permintaan dengan cara yang sama seperti gateway memverifikasinya. Ganti YOUR_KEY_ID dan YOUR_SECRET.

# Sign the request: METHOD \n path+query \n unix time \n nonce \n sha256(body)
KEY_ID="YOUR_KEY_ID"
SECRET="YOUR_SECRET"
BODY='{
  "destination": {
    "cityCode": "DXB"
  },
  "checkIn": "2026-11-15",
  "checkOut": "2026-11-18",
  "rooms": [
    {
      "adults": 2,
      "childrenAges": []
    }
  ],
  "wait": true
}'
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_HASH=$(printf '%s' "$BODY" | openssl dgst -sha256 | sed 's/^.* //')
CANON=$(printf 'POST\n/v1/hotels/search\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_HASH")
SIG=$(printf '%s' "$CANON" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.* //')

curl -X POST "https://api.dubaitrip.com/v1/hotels/search" \
  -H "X-API-Key: $KEY_ID" \
  -H "X-Timestamp: $TS" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIG" \
  -H "Content-Type: application/json" \
  -d "$BODY"