მოთხოვნები და პასუხები
ამ გვერდზე აღწერილია მოთხოვნის ტანის ფორმატები, პასუხის გარსი, გვერდებად დაყოფა, თარიღისა და თანხის ფორმატები და HTTP სტატუსის კოდების ინტერპრეტაცია.
მოთხოვნის ტანი#
ენდპოინტები ტანის ორიდან ერთ-ერთ ფორმატს იყენებს. რომელი მათგანი გამოიყენება, მითითებულია თითოეული ენდპოინტის ცნობარის გვერდზე.
| ფორმატი | Content-Type | სად გამოიყენება |
|---|---|---|
| ფორმის ველები | application/x-www-form-urlencoded ან multipart/form-data | შესვლა, ოთახების სია, კუპონის შემოწმება, ქვეყნები |
| JSON | application/json | ჯავშნის გადაცემა (BookingPushRQ), გადახდის დაწყება |
| მოთხოვნის სტრიქონი | — | ყველა GET ენდპოინტი |
ფორმის ტანში მასივის ველები კვადრატული ფრჩხილებით მეორდება: childAges[]=7&childAges[]=12. JSON ტანი UTF-8 კოდირებით უნდა იყოს.
პასუხის გარსი#
პასუხები JSON ფორმატშია. მათი უმეტესობა შეიცავს success ველს; სიები ბრუნდება count და items ველებით:
{
"success": true,
"count": 3,
"items": [
{
"id": 1,
"titleCode": "TRY",
"symbol": "₺",
"price": 1
},
{
"id": 2,
"titleCode": "EUR",
"symbol": "€",
"price": 47.85000000000000142108547152020037174224853515625
}
]
}ბიზნეს-წესის წარუმატებელი შემოწმებისას ბრუნდება success: false და შეცდომის აღწერა, ორიდან ერთ-ერთი ფორმით:
{
"success": false,
"message": "online_cupon_is_not_found"
}{
"success": false,
"errorMessage": "Invalid parameters.",
"errorCode": 10022
}გამონაკლისები: საკონტაქტო ინფორმაციის ენდპოინტი აბრუნებს ობიექტს გარსის გარეშე, ჯავშნის გადაცემა კი — BookingPushRS ობიექტს. ორივე ნაჩვენებია ცნობარში.
HTTP სტატუსის კოდები#
| კოდი | როდის | რა უნდა გააკეთოთ |
|---|---|---|
| 200 | მოთხოვნა დამუშავდა (წარმატება ან ბიზნეს-წესის შეცდომა) | შეამოწმეთ success, message / errorCode. |
| 401 | ტოკენი აკლია, არასწორი ფორმატისაა ან უცნობია | ხელახლა შედით; იხილეთ ავთენტიფიკაცია. |
| 404 | ბილიკის პარამეტრი არცერთ ჩანაწერს არ ემთხვევა (მაგ. /hotel/{hotelID}/…, /payment/type/{paymentType}) | შეამოწმეთ ID. |
| 405 | არასწორი HTTP მეთოდი | გამოიყენეთ ცნობარში მითითებული მეთოდი (ქვეყნებისა და ოთახების სიისთვის — POST). |
| 500 | სერვერის მოულოდნელი შეცდომა | ცოტა ხანში გაიმეორეთ; თუ შეცდომა მეორდება, მიმართეთ მხარდაჭერას და მიუთითეთ მოთხოვნა. |
გვერდებად დაყოფა#
სიის ენდპოინტები (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) გვერდებად იყოფა გვერდის ნომრის მიხედვით:
| პარამეტრი | აღწერა | ნაგულისხმევი |
|---|---|---|
limit | ჩანაწერების რაოდენობა გვერდზე. | 20 |
page | გვერდის ნომერი, 1-დან. | 1 |
offset | გამოსატოვებელი ჩანაწერების რაოდენობა. თუ მითითებულია, page იგნორირდება. | — |
order | დალაგების ველი; კლებადობით დასალაგებლად წინ დაურთეთ - (-id). დასაშვები ველები თითოეულ ენდპოინტთანაა მითითებული. | — |
count ჩანაწერების საერთო რაოდენობაა; სია ამოწურულია, როცა page × limit ≥ count.
თარიღები, დრო და თანხები#
| ტიპი | ფორმატი | მაგალითი |
|---|---|---|
| მოთხოვნის თარიღი | YYYY-MM-DD | 2026-08-18 |
| ხელმისაწვდომობის თარიღი | YYYY-MM-DD ან YYYY-MM-DDTHH:MM:SS | 2026-08-18T12:00:00 |
| ღამის ტარიფის თარიღი (პასუხი) | DD.MM.YYYY (tarih ველი) | 18.08.2026 |
| ხელმისაწვდომობის დღის დიაპაზონი (პასუხი) | YYYY-MM-DD HH:MM:SS, 12:00-დან მომდევნო დღის 12:00-მდე | 2026-08-18 12:00:00 |
| თანხა | სტრიქონი ორი ათწილადი ნიშნით, გამყოფი — წერტილი | "965.00" |
| ვალუტა | ISO 4217; სასტუმროს ონლაინ არხის პარამეტრებიდან | TRY |
| დროის სარტყელი | სასტუმროს დროის სარტყელი | Europe/Istanbul |
გაწერის თარიღი ყოფნაში არ ითვლება: 18–20 აგვისტო ორი ღამეა. თანხები float ტიპით ნუ შეკრიბეთ; გამოიყენეთ ათწილადების ბიბლიოთეკა ან მთელი რიცხვები უმცირეს ერთეულებში.
ენა#
ოთახების სია იღებს language ველს (ISO 639-1: tr, en, de…) და ოთახების სახელებს, მახასიათებლების დასახელებებსა და შეცდომის შეტყობინებებს ამ ენაზე აბრუნებს. პაკეტების სია ელოდება languageID მნიშვნელობას; ID-ებს დააბრუნებს ენდპოინტი ენები.