جستجو چارترهای موجود (باامکان افزودن بازه زمانی) – Search
شما به دو روش کلی و متفاوت می توانید اطلاعات availability را دریافت نمایید.
- روش اول: درخواست real-time
- در این روش، هربار که مسافری در سایت شما جستجو انجام دهد، شما با ارسال درخواست اطلاعات availability را دریافت کرده و به مسافر نمایش می دهید.
- این روش مناسب زمانی است که سایت شما دارای ترافیک زیادی نیست. به عنوان مثال مجموع تعداد درخواست شما به سرویس، کمتر از 30 هزار عدد درخواست در روز می باشد.
- روش دوم: Cache کردن اطلاعات و پاسخ دادن به جستجوها از Cache داخلی خود
- در این روش شما در فواصل زمانی منظم، اطلاعات availability را از تامین کننده دریافت و در سمت خود ذخیره می نمایید. سپس هربار که کاربری در سایت شما جستجو انجام میدهد، از Cache داخلی خود اطلاعات را دریافت کرده و به مسافر نمایش می دهید.
- این روش مناسب زمانی است که سایت شما دارای ترافیک زیادی می باشد.
- دریافت از طریق API
- سربرگ – Header
- مقادیر ارسالی – Request Data
- پاسخ صحیح – Response True
- پاسخ نادرست – Response False
دریافت از طریق API
| عنوان | وضعیت | مقادیر | توضیحات |
| Method | اجباری | GET | متد ارسال درخواست |
| Domain | اجباری | نام دامنه ثبت شده در اتوماسیون | |
| Api Url | اجباری | دامنه هسته مرکزی سرویس | |
| type | اجباری | flight/bus/train/ship/insurance/service | پارامترهای url |
| Api version | اجباری | به نسخه فعلی سرویس API تلقی میشود که در قسمت پیش نیازهای اتوماسیون به ریز شرح داده شده است. | |
| Authorization | اجباری | توکن JWT تولید شده | این توکن بصورت JWT تولید میشود. |
هنگام ارسال درخواست،پارامترهای ارسالی url میتوانند تغییر کنند.
سربرگ – Header
{{Api Url}}/search/{{type}}
HEADER
GET /api/reservation/{{Api version}}/search/{{type}} HTTP/1.1
Host: {{Your Host}}
Content-Type: application/json
Authorization: Bearer JWTToken
Domain: {{Your Domain}}
API Url از طریق پنل کاربری قابل مشاهده خواهد بود.
مقادیر ارسالی – Request Data
| عنوان | نوع | وضعیت | مقادیر | توضیحات |
| datetime_start | String | اجباری | تاریخ رفت | |
| datetime_end | String | اجباری | تاریخ برگشت | اگر از روش real-time استفاده میکنید نیازی به قرار دادن این کلید نیست ولی اگر از روش cache استفاده میکنید قرار دادن این کلید اجباری میباشد |
| origin | String | اجباری | یاتا فرودگاه مبدا | |
| destination | String | اجباری | یاتا فرودگاه مقصد |
هنگام استفاده از روش real-time تاریخ رفت و برگشت را میتوانید در بازه یک روزه تا یک ساله انتخاب نمایید.
{
"datetime_start": "2025-01-19",
"datetime_end": "2025-01-19",
"origin":"THR",
"destination": "KIH"
}
پاسخ صحیح – Response True
| عنوان | نوع | مقادیر | توضیحات |
| items | Array | ||
| items[index].charter_id | Integer | عطف چارتر | |
| items[index].serial | Integer | سریال چارتر | |
| items[index].supplier | Integer | کد تامین | |
| items[index].id | String | ||
| items[index].plan | Boolean | ||
| items[index].details | Object | ||
| items[index].details.airline | Object | ||
| items[index].details.airline.iata | String | ||
| items[index].details.airline.icao | String | ||
| items[index].details.airline.logo | String | ||
| items[index].details.airline.title | Object | ||
| items[index].details.airline.title.fa | String | ||
| items[index].details.airline.title.en | String | ||
| items[index].details.origin | Object | ||
| items[index].details.origin.iata | String | ||
| items[index].details.origin.terminal | Integer | ||
| items[index].details.destination | Object | ||
| items[index].details.destination.iata | String | ||
| items[index].details.destination.terminal | Integer | ||
| items[index].details.aircraft | Object | ||
| items[index].details.aircraft.iata | String | ||
| items[index].details.aircraft.icao | String | ||
| items[index].details.aircraft.title | Object | ||
| items[index].details.aircraft.title.fa | String | ||
| items[index].details.aircraft.title.en | String | ||
| items[index].details.flight_number | String | ||
| items[index].details.steps | Boolean | ||
| items[index].details.duration | String | ||
| items[index].details.datetime | String | ||
| items[index].details.arrival_datetime | String | ||
| items[index].items | Array | ||
| items[index].items[index].item_id | Integer | ||
| items[index].items[index].title | String | ||
| items[index].items[index].reservable | Boolean | ||
| items[index].items[index].statistics | Object | ||
| items[index].items[index].statistics.capacity | Integer | ||
| items[index].items[index].statistics.waiting | Integer | ||
| items[index].items[index].max_purchase | Integer | ||
| items[index].items[index].rules | null | ||
| items[index].items[index].services | Boolean | ||
| items[index].items[index].baggage | Object | ||
| items[index].items[index].baggage.trunk | Object | ||
| items[index].items[index].baggage.trunk.adult | Object | ||
| items[index].items[index].baggage.trunk.adult.number | Integer | ||
| items[index].items[index].baggage.trunk.adult.weight | Integer | ||
| items[index].items[index].baggage.trunk.child | Object | ||
| items[index].items[index].baggage.trunk.child.number | Integer | ||
| items[index].items[index].baggage.trunk.child.weight | Integer | ||
| items[index].items[index].baggage.trunk.infant | Object | ||
| items[index].items[index].baggage.trunk.infant.number | Integer | ||
| items[index].items[index].baggage.trunk.infant.weight | Integer | ||
| items[index].items[index].baggage.hand | Object | ||
| items[index].items[index].baggage.hand.adult | Object | ||
| items[index].items[index].baggage.hand.adult.number | Integer | ||
| items[index].items[index].baggage.hand.adult.weight | Integer | ||
| items[index].items[index].baggage.hand.child | Object | ||
| items[index].items[index].baggage.hand.child.number | Integer | ||
| items[index].items[index].baggage.hand.child.weight | Integer | ||
| items[index].items[index].baggage.hand.infant | Object | ||
| items[index].items[index].baggage.hand.infant.number | Integer | ||
| items[index].items[index].baggage.hand.infant.weight | Integer | ||
| items[index].items[index].financial | Object | ||
| items[index].items[index].financial.adult | Object | ||
| items[index].items[index].financial.adult.base_fare | Integer | ||
| items[index].items[index].financial.adult.taxes | Boolean | ||
| items[index].items[index].financial.adult.total_fare | Integer | ||
| items[index].items[index].financial.adult.payable | Integer | ||
| items[index].items[index].financial.adult.markups | Boolean | ||
| items[index].items[index].financial.adult.commissions | Boolean | ||
| items[index].items[index].financial.adult.citizenship | Boolean | ||
| items[index].items[index].financial.child | Object | ||
| items[index].items[index].financial.child.base_fare | Integer | ||
| items[index].items[index].financial.child.taxes | Boolean | ||
| items[index].items[index].financial.child.total_fare | Integer | ||
| items[index].items[index].financial.child.payable | Integer | ||
| items[index].items[index].financial.child.markups | Boolean | ||
| items[index].items[index].financial.child.commissions | Boolean | ||
| items[index].items[index].financial.child.citizenship | Boolean | ||
| items[index].items[index].financial.infant | Object | ||
| items[index].items[index].financial.infant.base_fare | Integer | ||
| items[index].items[index].financial.infant.taxes | Boolean | ||
| items[index].items[index].financial.infant.total_fare | Integer | ||
| items[index].items[index].financial.infant.payable | Integer | ||
| items[index].items[index].financial.infant.markups | Boolean | ||
| items[index].items[index].financial.infant.commissions | Boolean | ||
| items[index].items[index].financial.infant.citizenship | Boolean | ||
| items[index].description | Object | ||
| items[index].description.public | Boolean | ||
| items[index].description.financial | Boolean | ||
| meta | Object | ||
| meta.timestamp | Timestamp | زمان تولید پاسخ | این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود. |
دریافت این پاسخ با Status Code 200 دریافت خواهد شد.
{
"items": [
{
"charter_id": 10001,
"serial": 10001,
"supplier": 1,
"id": "Tr4afsX",
"plan": false,
"details": {
"airline": {
"iata": "",
"icao": "",
"logo": "",
"title": {
"en": "",
"fa": ""
}
},
"origin": {
"iata": "",
"terminal": false
},
"destination": {
"iata": "",
"terminal": false
},
"aircraft": {
"iata": "",
"icao": "",
"title": {
"en": "",
"fa": null
}
},
"flight_number": "",
"steps": false,
"duration": false,
"datetime": "2025-01-19 00:00",
"arrival_datetime": false
},
"items": [
{
"item_id": 0,
"title": "Y",
"reservable": true,
"statistics": {
"capacity": 9,
"waiting": 0
},
"max_purchase": 9,
"rules": null,
"services": false,
"baggage": {
"trunk": {
"adult": {
"number": 1,
"weight": 20
},
"child": {
"number": 1,
"weight": 20
},
"infant": {
"number": 0,
"weight": 0
}
},
"hand": {
"adult": {
"number": 1,
"weight": 7
},
"child": {
"number": 1,
"weight": 7
},
"infant": {
"number": 0,
"weight": 0
}
}
},
"financial": {
"adult": {
"base_fare": 250000,
"taxes": false,
"total_fare": 250000,
"payable": 250000,
"markups": false,
"commissions": false,
"citizenship": false
},
"child": {
"base_fare": 20000,
"taxes": false,
"total_fare": 20000,
"payable": 20000,
"markups": false,
"commissions": false,
"citizenship": false
},
"infant": {
"base_fare": 6,
"taxes": false,
"total_fare": 6,
"payable": 6,
"markups": false,
"commissions": false,
"citizenship": false
}
}
},
...
],
"description": {
"public": false,
"financial": false
}
},
...
],
"meta": {
"timestamp": "Timestamp" // Timestamp
}
}
پاسخ نادرست – Response False
| عنوان | نوع | مقادیر | توضیحات |
| error | Object | ||
| error.code | Integer | شماره خطا مربوطه | جهت استعلام خطا میتوانید از طریق این لینک اقدام کنید. |
| meta | Object | ||
| meta.timestamp | Timestamp | زمان تولید پاسخ | این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود. |
{
"error": {
"code":"Error Code"
},
"meta": {
"timestamp": "Timestamp" // Timestamp
}
}
در صورت مشاهده Status Code 404 URL درخواست خود را به اشتباه وارد نموده اید.