订单同步
此页内容适用于,合作方不使用OTO SaaS平台的订单列表,想要整合进自有订单系统,如无需开发订单中心可以采用平台各服务场景集成的订单中心功能。
用户在消费服务时产生的订单,平台会将订单同步到合作方服务器,并且后续会将订单的状态变更消息推送给合作方服务器。
订单同步接口
OTO SaaS平台在用户选择商品下单时,将订单信息同步到合作方服务器,同步采用HTTP RESTful API方案。
合作方在其App中开发订单列表功能,平台提供订单详情的H5页面。订单详情页面中涉及的取消订单、退票等功能需要验证用户的手机号码后,方可操作。
HTTP 请求地址
由合作方提供,如:http://yoursite.com/yourapi
HTTP 方法
POST
HTTP 请求头
Content-Type:application/json;charset=utf-8
HTTP 请求参数
平台推送服务品类的订单信息。
参数名 | 类型 | 是否必须 | 示例 | 描述 |
---|---|---|---|---|
orderId | String | 是 | 10000001120 | 订单Id |
orderType | string | 是 | dianying | 订单类型(dianying:电影,外卖:waimai等) |
orderTitle | String | 是 | 移动话费充值100元 | 订单标题 |
userId | String | 是 | "i32e-dsd..." | 用户id |
userPhone | String | 是 | "15921111111" | 用户手机号 |
price | Double | 否 | 99.5 | 支付价格\对于先服务后付钱的情况,下单时无法获取支付价格 |
status | Integer | 是 | 8 | 订单状态 |
displayStatus | String | 是 | "已取消" | 订单状态字面值 |
createdTime | int | 是 | 1478587907023 | 订单创建时刻时间戳(毫秒) |
expiredTime | int | 否 | 107023 | 待支付订单--支付超时剩余时间(毫秒) |
detailUrl | string | 是 | http://boluome.otosaas.com/order/huafei/100000389382 | 订单详情H5页面链接 |
timestamp | Long | 是 | 1477573300 | 签名时间戳 |
sign | String | 是 | "67bc70f748b9d8214..." | 签名参数 |
签名算法请参考签名计算文档
H5详情页链接生成规则
基地址
http://boluome.otosaas.com/order/:orderType/:orderId
URL中需要添加相应参数以及签名规则,请参考联合登录中免登录URL的生成规则。
订单详情页URL示例
http://boluome.otosaas.com/order/huafei/100000389382?customerUserId=1e17a99d-ca4b-49be-908b-93c8faa20baf&customerUserPhone=13309102786×tamp=1477573300&sign=67bc70f748b9d82140bcf9115afc698dfd04b472
注意:URL参数(即用:占位的参数,如/order/:orderType/:orderId)不需要参与sign的计算
HTTP 请求响应
合作方需要监听并接收订单消息通知,接收到消息后需要返回服务器状态码 2xx 表示接收成功,否则请返回状态码 500。
消息重发机制
若返回的服务器状态码不是200,OTO SaaS平台会在1小时内向你的服务器不断重发通知,最多3次。首次是即时推送,重试通知时间间隔为 2min、10min、1h,直到合作方正确回复状态2xx 或超过最大重发次数,平台将不再发送通知
订单状态回调接口
当订单在业务处理过程中,当发生订单状态的改变,OTO SaaS平台会将该订单状态变更消息推送给合作方服务器。
HTTP 请求地址
合作方提供,如:http://yoursite.com/yourapi
HTTP 请求方法
POST
HTTP 请求头
Content-Type:application/json;charset=utf-8
HTTP 请求参数
参数名 | 类型 | 是否必须 | 示例 | 描述 |
---|---|---|---|---|
orderId | String | 是 | 10000001120 | 订单Id |
userId | String | 是 | "10010102" | 用户id |
price | Double | 否 | 99.0 | 订单支付价格,对于那些先服务后支付的订单,会在后续计费完成后推送支付金额 |
status | Integer | 是 | 8 | 订单状态 |
displayStatus | String | 是 | "已取消" | 订单状态字面值 |
sign | String | 是 | "67bc70f748b9d8214" | 签名参数 |
签名算法请参考签名计算文档
HTTP 请求响应
合作方需要监听并接收订单消息通知,接收到消息后需要返回服务器状态码 2xx 表示接收成功,否则请返回状态码 500。
消息重发机制
若返回的服务器状态码不是2xx,OTO SaaS平台会在2小时内向你的服务器不断重发通知,最多4次。首次是即时推送,重试通知时间间隔为 2min、10min、1h、2h,直到你正确回复状态2xx 或者超过最大重发次数,平台将不再发送
订单轮询接口
后续版本平台将会开放订单轮询接口,以方便合作方根据订单Id去轮询当前订单的状态,保证订单状态同步。