请求与响应

本页介绍请求体格式、响应包装结构、分页、日期与金额格式,以及如何理解 HTTP 状态码。

请求体#

端点使用以下两种请求体格式之一。具体采用哪种,见各端点的参考页面。

格式Content-Type使用场景
表单字段application/x-www-form-urlencodedmultipart/form-data登录、房型列表、优惠券验证、国家列表
JSONapplication/json预订推送(BookingPushRQ)、发起支付
查询字符串所有 GET 端点

表单请求体中的数组字段通过带方括号的重复字段传递:childAges[]=7&childAges[]=12。JSON 请求体必须使用 UTF-8 编码。

响应包装结构#

响应均为 JSON。大多数响应带有 success 标志;列表以 countitems 返回:

列表响应(节选)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

业务规则校验失败时返回 success: false 及错误描述,形式为以下两种之一:

message 形式
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
errorCode 形式(房型列表)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

例外情况:联系方式端点返回不带包装结构的裸对象,预订推送返回 BookingPushRS 对象。两者在 API 参考中均有示例。

HTTP 状态码#

状态码出现场景处理方式
200请求已处理(成功或业务规则错误)检查 successmessage / errorCode
401token 缺失、格式错误或无法识别重新登录;参见身份验证
404路径参数找不到对应的记录(例如 /hotel/{hotelID}/…/payment/type/{paymentType}检查 ID。
405HTTP 方法错误使用参考中给出的方法(国家列表和房型列表均为 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-DD2026-08-18
房态查询日期YYYY-MM-DDYYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
每晚价格日期(响应)DD.MM.YYYYtarih 字段)18.08.2026
房态日期区间(响应)YYYY-MM-DD HH:MM:SS,当日 12:00 至次日 12:002026-08-18 12:00:00
金额保留两位小数的字符串,以点号作小数分隔符"965.00"
币种ISO 4217;取自酒店在线渠道的设置TRY
时区酒店所在时区Europe/Istanbul

退房日期不计入住宿:8 月 18 日至 20 日为两晚。不要用 float 累加金额;请使用十进制数库,或以最小货币单位的整数计算。

语言#

房型列表接收 language 字段(ISO 639-1:trende…),并以该语言返回房型名称、设施名称和错误信息。套餐列表需要 languageID;ID 取自语言端点。

最后更新: 2026年9月21日发现错误?请告诉我们