方法名称
hotel.incr.sharding.state
使用说明
本接口用于监测产品信息的变化,用于离线数据模式。
保存返回值中LastId最大值作为下一次调用时的入参。
本接口与hotel.incr.state出参结构相同,不同的是入参增加了ShardingKey来指定查询相对应的分片数据。
输入参数
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
LastId | 最后的更新ID | Long | N | 第一次时需配合hotel.incr.sharding.id使用 |
ShardingKey | 分片键 | Integer | N | 1-16,用于查询指定分片数据 |
Count | 抓取的数量 | Integer | Y | 不传,默认:1000;最大不能超过5000 |
响应结果
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
States | 变化集合 | State[] | Y | 包含多个State节点 |
State节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
LastId | 增量Id | Long | N | |
Time | 变化时间 | DataTime | N | |
HotelId | 酒店编号 | string(8) | Y | |
HotelCode | 酒店供应商编码 | string(8) | Y | |
RoomId | 展示房型ID | string(8) | Y | |
RoomTypeId | 销售房型编号 | string(8) | Y | |
RatePlanId | 产品编号 | int | Y | |
Name | 对象的名称 | string(100) | Y | |
Status | 有效状态 | boolean | Y | 当StateType为RatePlanPolicy的时候Status无意义 |
StateType | 变化类型 | Enum | N | HotelId:酒店 HotelCode:酒店供应商 RoomId:展示房型 RoomTypeId:销售房型 RatePlanId:产品 RatePlanPolicy:担保或预付规则 |
输入参数示例
https://api-test.elong.com/rest?timestamp=1490002719&format=json &method=hotel.incr.sharding.state&signature=8fdf631c1e6008efdcbb36984611d8cb &user={userid}&data={"Version":"1.28","Local":"zh_CN","Request":{"LastId":"2447282518617751552","ShardingKey":"1"}}
输出参数示例
{ "Code": "0", "Result": { "States": [ { "LastId": 2508792635163149263, "Time": "2021-08-18T04:04:02+08:00", "HotelId": "93096769", "HotelCode": "", "RoomId": "", "RoomTypeId": "", "RatePlanId": "125869969", "Status": true, "StateType": "RatePlanPolicy", "Name": "", "DCSupplierRelationID": "" } ] }, "Guid": "2e2f6f7e-67ae-44d1-8af4-81ddcc7648e4" }
注意事项
如果StateType是RatePlanPolicy时,需要调用hotel.data.rp接口获取最新的产品信息,其他则关注Status。