الفنادق
Book a rate. Requires an `Idempotency-Key` header.
post/v1/hotels/bookings
- يتطلب المصادقة
- يتطلب Idempotency-Key
نص الطلبHotelBookingCreateRequest
- rateKeystring
- BookingRoom[]
- Guest[]
- HolderInfo
- firstNamestring
- lastNamestring
- emailstring
- phonestring
- specialRequestsstringيقبل القيمة null
مثال
{
"rateKey": "string",
"rooms": [
{
"guests": [
{
"type": "string",
"gender": "string",
"firstName": "string",
"lastName": "string"
}
]
}
],
"holder": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
},
"specialRequests": "string"
}الاستجابات
201CreatedHotelBooking
- bookingIdstring
- bookingReferencestringيقبل القيمة null
- statusstring
confirmed | pending | cancelled | unknown.
- hotelCodestringيقبل القيمة null
- hotelNamestringيقبل القيمة null
- cityNamestringيقبل القيمة null
- roomTypestringيقبل القيمة null
- checkInstringيقبل القيمة null
- checkOutstringيقبل القيمة null
- Money
Money on the wire: decimal string (never a float) + ISO 4217.
- amountstring
- currencystring
- refundablebooleanيقبل القيمة null
- priceChangedboolean
- HolderInfo
- firstNamestring
- lastNamestring
- emailstring
- phonestring
- BookingRoom[]
- Guest[]
- specialRequestsstringيقبل القيمة null
- confirmedAtstring (date-time)يقبل القيمة null
- 402Payment Requiredتفاصيل المشكلة وفق RFC 7807
- 409Conflictتفاصيل المشكلة وفق 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='{
"rateKey": "string",
"rooms": [
{
"guests": [
{
"type": "string",
"gender": "string",
"firstName": "string",
"lastName": "string"
}
]
}
],
"holder": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
},
"specialRequests": "string"
}'
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_HASH=$(printf '%s' "$BODY" | openssl dgst -sha256 | sed 's/^.* //')
CANON=$(printf 'POST\n/v1/hotels/bookings\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/bookings" \
-H "X-API-Key: $KEY_ID" \
-H "X-Timestamp: $TS" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIG" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d "$BODY"