抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • 生活服务商家应用 OpenAPI SDK 总览
  • 接入前准备
  • API接口
  • 通用接口
  • 餐饮
  • 大交通
  • 酒旅
  • 酒店通用错误码
  • 酒店行业日历房解决方案
  • 酒店行业新预售券解决方案
  • 酒店行业新预售券常见枚举值
  • 酒店静态信息自助获取
  • 酒店会员管理
  • 住宿预售券交易正向
  • 酒旅商品上架和下架信息推送
  • 物理房型静态信息自助获取
  • 物理房型上下架
  • 住宿预售券创建和更新
  • 预售券线上开票
  • 住宿预售券交易逆向
  • 主动拉取价量态
  • 价量态拉取接口
  • 物理房型静态信息匹配/创建/更新
  • 房价/房态/房量更新
  • 酒店静态信息匹配/创建/更新
  • 酒店账单详情查询
  • 度假行业解决方案
  • 景区行业日历票解决方案
  • 景区团购三方码方案
  • 综合
  • 能力
  • 历史版本文档(不推荐)
  • 接口说明

      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

    请求体

    参数名称
    参数类型
    必须参数
    备注
    » hotel_ids
    list<string>
    必填
    抖音酒店ID,如果在抖音侧配置过加密则是加密后的字符串;如无法识别任一门店,应通过响应参数 status=falseerrors 返回明确原因。hotel_idsrate_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 foundrate_plan_id invalid
    » room_rates
    list<object>
    必填
    价量信息
    »» rate_plan_id
    string
    必填
    抖音售卖计划ID
    »» rate_avail_infos
    list<object>
    必填
    售卖计划的价量信息
    »»» timerange
    object
    必填
    时间范围
    »»»» end
    string
    必填
    该条价量态生效结束日期,格式为 YYYY-MM-DD。若按单日返回,startend 可相同。
    »»»» start
    string
    必填
    该条价量态生效开始日期,格式为 YYYY-MM-DD,必须落在请求日期范围内。
    »»» length_of_stay
    int
    选填
    连住天数。适用于连住(LosRate)场景下,不同连住天数具有单独的连住价格。
      length_of_stay字段值应大于1,当不传或者值小于等于1时,不会被认定为LosRate模式,而是当作单日价格处理
      length_of_stay字段值最大不能超过7天
    »»»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天;
      抖音支持最长传入14天
      fplos中只要有“1”存在,那么总房态available就应该置为true
    »»»los_rate_break_down
    list<object>
    选填
    连住模式下单日价格明细列表
      列表长度需要和length_of_stay的值相等
      按列表顺序设定每天价格,即当length_of_stay = 3时,los_rate_break_down[0]为第一天的价格,los_rate_break_down[1]为第二天的价格,依此类推。
    »»»»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" } }