请求与响应
本页介绍请求体格式、响应包装结构、分页、日期与金额格式,以及如何理解 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 对象。两者在 API 参考中均有示例。
HTTP 状态码#
| 状态码 | 出现场景 | 处理方式 |
|---|---|---|
| 200 | 请求已处理(成功或业务规则错误) | 检查 success、message / errorCode。 |
| 401 | token 缺失、格式错误或无法识别 | 重新登录;参见身份验证。 |
| 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 |
退房日期不计入住宿:8 月 18 日至 20 日为两晚。不要用 float 累加金额;请使用十进制数库,或以最小货币单位的整数计算。
语言#
房型列表接收 language 字段(ISO 639-1:tr、en、de…),并以该语言返回房型名称、设施名称和错误信息。套餐列表需要 languageID;ID 取自语言端点。