Хотели
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
- Изисква удостоверяване
Тяло на заявкатаHotelSearchRequest
- DestinationSpec
- countryCodestringможе да е null
- cityCodestringможе да е null
Platform city code (see /v1/content/cities).
- hotelCodesstring[]може да е null
Canonical hotel codes (see /v1/content/hotels).
- Geo
- checkInstring
yyyy-MM-dd.
- checkOutstring
- SearchRoom[]
- adultsinteger (int32)
- childrenAgesinteger (int32)[]може да е null
- nationalitystringможе да е null
Guest nationality, ISO 3166-1 alpha-2.
- Filters
- starsinteger (int32)[]може да е null
- refundableOnlybooleanможе да е null
- mealIncludedbooleanможе да е null
- priceMinnumber (double)може да е null
- priceMaxnumber (double)може да е null
- sortstringможе да е null
price_asc | price_desc | stars_desc | name.
- pageinteger (int32)
- pageSizeinteger (int32)
- waitboolean
Пример
{
"destination": {
"cityCode": "DXB"
},
"checkIn": "2026-11-15",
"checkOut": "2026-11-18",
"rooms": [
{
"adults": 2,
"childrenAges": []
}
],
"wait": true
}Отговори
200OKHotelSearchResponse
- searchIdstring
- statusstring
- cursorinteger (int32)
- suppliersDoneinteger (int32)
- supplierCountinteger (int32)
- totalinteger (int32)
- pageinteger (int32)
- pageCountinteger (int32)
- partialboolean
- starFacetsobjectможе да е null
- HotelResult[]
- hotelCodestring
- namestringможе да е null
- starsinteger (int32)може да е null
- cityCodestringможе да е null
- cityNamestringможе да е null
- countryCodestringможе да е null
- addressstringможе да е null
- latitudenumber (double)може да е null
- longitudenumber (double)може да е null
- imagesstring[]
- amenitiesstring[]
- Money
Money on the wire: decimal string (never a float) + ISO 4217.
- HotelRoom[]
- 400Bad RequestПодробности за проблема по RFC 7807
Примерен код
Пълни програми, които подписват заявката по начина, по който шлюзът я проверява. Заменете YOUR_KEY_ID и 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"