订单更新

说明:合作方将用户订单信息同步到58到家开放平台。部分订单详情信息需通过orderDetails字段同步,详细说明见注解1.1。
请求方式:POST
接口访问路径:
                     沙箱地址:https://sandboxapi.daojia.com/api/{version}/order/updateOrderDetail (version代表版本号)
                     正式地址:http://openapi.daojia.com/api/{version}/order/updateOrderDetail (version代表版本号)
version说明:当前接口版本号(如v1)
接口调用限制:

1、已支付的订单,无法更新订单总价或其他详情信息;

2、调用时需遵从以下流程的订单状态流转:

预约中--->已接单--->待支付--->已支付--->服务中--->已完成

预约中--->已接单--->服务中--->待支付--->已支付--->已完成

系统级别参数

  • 参数名
  • 类型
  • 是否必填
  • 示例
  • 描述
  • accessToken
  • String
  • 64256A615F66CC8FBE38AFCFD26EA744
  • 令牌校验,通过58到家提供的serviceKey和serviceSecret获得
  • serviceKey
  • String
  • 2801209652
  • 合作伙伴服务类型,由58到家分配,值唯一
  • sign
  • String
  • 见示例1
  • 调用API时需要对请求参数进行签名验证,到家服务器也会对该请求参数进行验证是否合法的。
  • format
  • String
  • json
  • 请求接口格式,暂只支持json.
  • timestamp
  • String
  • 2016-01-10 10:00:00
  • 时间戳,格式为yyyy-MM-ddHH:mm:ss,时区为GMT+8.到家服务端允许客户端请求最大时间误差为10分钟。
  • daojiaJson
  • Json
  • 见示例
  • 请求接口的应用级参数(Json格式).

应用级别参数

  • 参数名
  • 类型
  • 是否必填
  • 示例
  • 描述
  • orderId
  • Long
  • 31421593368511488
  • 58到家订单号
  • thirdOrderId
  • String
  • 123
  • 合作伙伴订单号
  • orderStatus
  • Int
  • 20
  • 订单状态 10:预约中 20:已接单 30:待支付 40:已支付 50:服务中 60:已完成 70:已取消
  • updateTime
  • String
  • 2015-11-27 16:03:12
  • 订单信息更新时间
  • serviceUserName
  • String
  • 张XX
  • 服务人员姓名
  • serviceUserPhone
  • String
  • 15888888888
  • 服务人员电话
  • deliveryUserName
  • String
  • 李XX
  • 物流人员姓名
  • deliveryUserPhone
  • String
  • 18511111111
  • 物流人员电话
  • serviceDuration
  • Float
  • 1.5
  • 服务时长(小时)
  • totalPrice
  • BigDecimal
  • 1.5
  • 订单总价
  • params
  • String
  • 扩展字段(json格式)
  • goodsId
  • String
  • 768
  • 合作伙伴商品ID
  • goodsName
  • String
  • 衬衫
  • 商品名称
  • goodsNumber
  • Int
  • 1
  • 商品数量
  • remark
  • String
  • 有点脏
  • 商品备注
  • goodsPrice
  • BigDecimal
  • 1.5
  • 商品价格
  • goodsPic
  • String
  • 1.5
  • 商品图片

示例:

{
        "accessToken":"64256A615F66CC8FBE38AFCFD26EA744",
        "serviceKey":"2801209652",
        "format":"json",
        "timestamp":"2016-01-10 10:00:00",
        "sign":"7F0C70A269E9BE381581117A5D175D6A",
        "daojiaJson":{
         "orderId":" 31421593368511488 ",
         "thirdOrderId":"123"
         "orderStatus":" 20 ",
         "updateTime":" 2015-11-27 16:03:12 ",
         "serviceUserName":" 张XX ",
         "serviceUserPhone":" 15888888888 ",
         "deliveryUserName":" 李XX ",
         "deliveryUserPhone":" 15888888888 ",
         "serviceDuration":" 1.5 ",
         "totalPrice":"101.5 ",
         "params":" 全是帽子 ",
         "orderDetails":[
        {
                  "goodsId":"123",
                  "goodsName":"商品名称",
                  "goodsNumber":2,
                  "remark":"商品备注",
                  "goodsPrice":0.0,
                  "goodsPic”:”http://***********/****/****/pic.jgp"
        }
]
                 }
}


返回参数

  • 参数名
  • 类型
  • 示例
  • 描述
  • message
  • String
  • 成功
  • 调用接口返回的信息
  • code
  • Int
  • 0
  • 调用接口结果代码,0成功,1失败
  • data
  • Object
  • {}
  • 调用接口返回参数

示例:

{
        "code":"0",
        "message":"订单更新成功!",
        "data":{}
}


示例1--sign:
"7F0C70A269E9BE381581117A5D175D6A" 根据参数名称(除签名)将所有请求参数按照字母先后顺序排序:key + value .... key + value,例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1 将serviceSecret 拼接到参数字符串头、尾进行md5加密后,再转化成大写,格式是:byte2hex(md5(serviceSecretkey1value1key2value2...serviceSecret)) 注:byte2hex为自定义方法,JAVA中MD5是对字节数组加密,加密结果是16字节,我们需要的是32位的大写字符串


示例1.1--orderDetails:
推送规则:当此订单还没有订单详情时,该字段传空即可。当订单有了订单详情后,如果订单详情有变化,则需要全量推送。 如果订单详情没有变化(比如只是更新的订单状态,服务人员电话,姓名等),该字段可以传空。

感谢您完成信息认证,
现在可以直接去创建应用啦!

创建应用

©2015 Daojia.com 58到家版权所有 津ICP备15004920号