价量态拉取接口
接口说明
- 1.该接口由抖音侧按价量态拉取任务触发,向第三方服务端发起 SPI 请求,第三方需在响应中返回指定门店、售卖计划和日期范围内的可售、库存、价格等数据。
- 2.抖音侧调用第三方主动拉取价量态信息时抖音平台自带精准拉取策略,商家接入后策略自动生效,拉取接口建议至少能提供50QPS。
基本信息
Scope | //WIP | |||
权限要求 | //WIP | |||
使用场景 | 根据服务商提供配置,定时触发。默认为5分钟。 | |||
为什么要接拉取?
抖音会从用户触发视角和平台转换视角来做精准拉取,确保价量态的新鲜度
精准策略 | 方案 | 备注 |
用户访问POI详情页触发拉取 | | C端->商品->外部商家 预拉取策略,用户触发 |
可订触发拉取 | | C端->交易->商品->外部商家 失败补偿,用户触发 |
热门POI高频拉取 | | DMP->商品->外部商家 平台高转化,定时高频触发(top1000poi占大盘40%GMV) |
请求头
- •Content-Type:
application/json- •X-Bytedance-Logid: 请求 logid, 用于问题排查用
- •x-life-clientkey: 服务商应用的 client_key
- •X-life-sign: 请求签名,签名规则
请求体
参数名称 | 参数类型 | 必须参数 | 备注 |
» hotel_ids | list<string> | 必填 | 抖音酒店ID,如果在抖音侧配置 过加密则是加密后的字符串;如无法识别任一门店,应通过响应参数 status=false 与 errors 返回明确原因。hotel_ids与rate_plan_ids不会同时为空。 |
» rate_plan_ids | list<string> | 选填 | 抖音售卖房型 ID,若平台请求携带该字段,第三方应仅返回这些售卖计划的价量态;若为空,则按门店和日期范围返回当前可售售卖计划。 |
» date_range | object | 必填 | 拉取时间范围 |
» client_key | string | 选填 | 开发者应用ID,第三方服务端应使用该字段识别当前请求所属应用,并确保同一 client_key 下的门店与售卖计划映射一致。 |
»» end | string | 必填 | 结束日期 eg. 2022-01-04,平台按 10 天窗口拆分长周期拉取,第三方需保证相同门店、售卖计划、日期维度返回结果幂等。 |
»» start | string | 必填 | 开始日期 eg. 2022-01-01,若开始日期晚于结束日期,平台侧相关校验会按异常处理。 |
请求示例
{ "hotel_ids": [ "ENC_POI_ID_7643219873621464" ], "rate_plan_ids": [ "7643219873621464" ], "date_range": { "start": "2026-05-15", "end": "2026-05-25" }, "client_key": "your_client_key" }
响应参数
参数名称 | 参数类型 | 必须参数 | 备注 |
data | struct | 必填 | 数据体 |
» status | bool | 必填 | 本次请求是否成功,当且仅当第三方已成功返回本轮请求范围内的价量态时返回 true。成功才会更新价量,失败则整个请求的所有价量都会被丢弃。 |
» errors | list<string> | 选填 | 不成功必填错误信息, status=false 时必填,建议首个元素返回可直接定位问题的中文或英文描述,例如 hotel_id not found、rate_plan_id invalid。 |
» room_rates | list<object> | 必填 | 价量信息 |
»» rate_plan_id | string | 必填 | 抖音售卖计划ID |
»» rate_avail_infos | list<object> | 必填 | 售卖计划的价量信息 |
»»» timerange | object | 必填 | 时间范围 |
»»»» end | string | 必填 | 该条价量态生效结束日期,格式为 YYYY-MM-DD。若按单日返回,start 与 end 可相同。 |
»»»» start | string | 必填 | 该条价量态生效开始日期,格式为 YYYY-MM-DD,必须落在请求日期范围内。 |
»»» length_of_stay | int | 选填 | 连住天数。适用于连住(LosRate)场景下,不同连住天数具有单独的连住价格。
|
»»»inventory | int | 必填 | 房量,当前日期可售库存。 0 表示无库存;如同时 available=false,以不可售状态处理。 |
»»»available | bool | 必填 | 房态,房态是否可售。 false 表示该日期关闭售卖,即使 inventory 大于 0,也按不可售处理。 |
»»»original_amount | int | 选填 | 房价,单位为分,请勿以元为单位返回小数。(浮动加价时必填价格且金额不能小于预售券金额,否则日历价格会被清除) 支持传0和-1,表示清除价格 |
»»» fplos | string | 选填 | fplos=“0111011”,则表示允许连住2天,3天,4天,6天,7天;但是不允许连住1天,5天;
|
»»»los_rate_break_down | list<object> | 选填 | 连住模式下单日价格明细列表
|
»»»»day_original_amount | int | 选填 | 单天售卖原价 |
»»»»day_amount_before_tax | int | 选填 | 单天售卖税前价 |
»» sub_error | string | 选填 | 子错误信息 |
»» sub_error_code | int | 选填 | 子错误码 |
» timestamp | string | 必填 | 秒时间戳或 YYYY-MM-DD HH:mm:ss,取服务商返回数据时的时间,并在文档中固定格式。 |
响应示例
成功响应示例如下:
{ "data": { "room_rates": [ { "rate_plan_id": "1833899867989002", "Status": true, "rate_avail_infos": [ { "timerange": { "start": "2025-08-27", "end": "2025-09-03" }, "original_amount": 199800, //int 类型,必填"available": true, // bool类型,必填 "retail_amount": 399800, //int 类型,非必填 "length_of_stay": 1, //int 类型,非必填 "inventory": 20 //int 类型,必填 } ] } ], "description": null, "error_code": 0, "status": true, // bool 类型,必填 "timestamp": "1756303854" //string类型,必填 } }
失败响应示例如下:
{ "data": { "status": false, "errors": [ "rate_plan_id invalid: 7643219873621464" ], "room_rates": [], "timestamp": "2026-05-15 10:00:00" } }
