هتلها
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"