Preskočiť na obsah

Hotely

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

  • Vyžaduje overenie

Telo požiadavkyHotelSearchRequest

  • DestinationSpec
    • countryCodestringmôže byť null
    • cityCodestringmôže byť null

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

    • hotelCodesstring[]môže byť null

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

    • Geo
  • checkInstring

    yyyy-MM-dd.

  • checkOutstring
  • SearchRoom[]
    • adultsinteger (int32)
    • childrenAgesinteger (int32)[]môže byť null
  • nationalitystringmôže byť null

    Guest nationality, ISO 3166-1 alpha-2.

  • Filters
    • starsinteger (int32)[]môže byť null
    • refundableOnlybooleanmôže byť null
    • mealIncludedbooleanmôže byť null
    • priceMinnumber (double)môže byť null
    • priceMaxnumber (double)môže byť null
  • sortstringmôže byť null

    price_asc | price_desc | stars_desc | name.

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

Odpovede

200OKHotelSearchResponse

  • searchIdstring
  • statusstring
  • cursorinteger (int32)
  • suppliersDoneinteger (int32)
  • supplierCountinteger (int32)
  • totalinteger (int32)
  • pageinteger (int32)
  • pageCountinteger (int32)
  • partialboolean
  • starFacetsobjectmôže byť null
  • HotelResult[]
    • hotelCodestring
    • namestringmôže byť null
    • starsinteger (int32)môže byť null
    • cityCodestringmôže byť null
    • cityNamestringmôže byť null
    • countryCodestringmôže byť null
    • addressstringmôže byť null
    • latitudenumber (double)môže byť null
    • longitudenumber (double)môže byť null
    • imagesstring[]
    • amenitiesstring[]
    • Money

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

    • HotelRoom[]
  • 400Bad RequestPopis problému podľa RFC 7807

Ukážky kódu

Kompletné programy, ktoré podpisujú požiadavku presne tak, ako ju overuje brána. Nahraďte YOUR_KEY_ID a 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"