• 上门取件API-取件状态推送接口


    前面我们介绍了上门取件接口,取消接口,接着我们讲解一下取件状态推送接口,上门取件下单成功以后,快递员收到订单,会反馈接单状态,快递鸟会把状态实时推送到我们自己的服务器,之前我们讲解订阅推送功能时,提到过订阅推送接口,这个接口同样可以应用到取件状态推送接口,有部分区别,我们来详细讲解一下。

    之前我们以C#为列,向快递鸟提供了一个

    接收地址:http://www.你的域名.com/testReceive.aspx

    并且推荐大家登陆快递鸟官网,通过快递鸟提供的沙箱调试页面进去测试接口

    调试页面地址:

    http://kdniao.com/UserCenter/v2/SandBox/PushQueryParam.aspx

     

    测试的截图:

     

    接口规范:

    一、接口描述/说明

    1. 取件状态推送接口

    (1)此接口用于接收下单成功的订单状态。。

    (2)客户需要按快递鸟要求开发接口,保证信息的正常接收。
    (3)快递鸟主动推送时,物流信息接收接口由客户提供。
    (4)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
    (5)运单物流信息全量推送(每次推送的运单物流信息包括运单当前所有的的物流信息)。

    (6)接口地址:

    沙箱地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

    正式地址(不加密):

    http://api.kdniao.com/api/OOrderService

    正式地址(加密):

    https://api.kdniao.com/api/OOrderService

    接口数据包结构

     

    图例 - 数据包结构 (系统级参数{应用级参数})

    系统级参数

     

    参数名称

    类型

    说明

    必须要求

    RequestData

    String

    请求内容需进行URL(utf-8)编码。请求内容只支持JSON格式。

    R

    RequestType

    String

    101-轨迹查询结果, 107-货款状态,103-取件状态推送

    R

    DataSign

    String

    数据内容签名(把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码)

    R

    备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)

    注意:前面提到的订阅推送轨迹信息RequestType=101,取件状态推送RequestType=103,所以我们在接收快递鸟报文的时候,接收到RequestType=103的内容就是快递鸟推送过来的取件状态信息。

     

    应用级参数

     

    参数名称

    类型

    是否必填

    说明

    EBusinessID

    String

    R

    用户ID

    PushTime

    String

    R

    推送时间

    Count

    String

    R

    推送分发结果的订单个数(一次最多推送10个订单的分发结果)

    Data

    String

    R

    推送分发结果的集合

    Data请求参数:

    参数名称

    类型

    是否必填

    说明

    EBusinessID

    String

    R

    用户ID

    OrderCode

    String

    R

    预约时的订单编号

    CallRequestType

    String

    R

    预约时调用的接口指令

    预约取件接口:1801

    ShipperCode

    String

    R

    快递公司编码

    LogisticCode

    String

    O

    快递单号

    Weight

    Int

    O

    重量

    Success

    Bool

    R

    成功与否:true

    State

    String

    R

    订单状态码

    CreateTime

    String

    O

    状态操作时间

    Reason

    String

    O

    备注

    FetchTime

    Date

    O

    上门取件时间

    CallBack

    String

    O

    预约取件接口的CallBack值

    PickerInfo

    PersonName

    String

    O

    取件快递员姓名

    PersonTel

    String

    O

    取件快递员电话

    PersonCode

    String

    O

    取件快递员工号

    StationName

    String

    O

    取件网点名称

    StationCode

    String

    O

    取件网点编号

    StationAddress

    String

    O

    取件网点地址

    StationTel

    String

    O

    取件网点电话

    PickupCode

    String

    O

    取件码

    请求示例:

    {

        "PushTime":"2019-08-21 12:05:00",

        "EBusinessID":"1549335",

        "Data":[

            {

                "LogisticCode":"234354243168",

                "ShipperCode":"SF",

                "createTime":"2019-08-21 11:59:19",

                "State":"103",

                "FetchTime":"",

    "weight":2,

                "OrderCode":"72751507950551040",

                "EBusinessID":"1549335",

                "PickerInfo":[

                    {

                        "PersonTel":"15827073766",

                        "PersonCode":"086082",

                        "PickupCode":"123456"

                    }

                ],

                "Success":true,

                "CallRequestType":"1007",

                "Reason":"调度成功/收派员信息"

            }

        ],

        "Count":1

    }

    返回参数:

    参数名称

    类型

    必须要求

    说明

    EBusinessID

    String

    R

    用户ID

    UpdateTime

    String

    R

    时间

    Success

    Bool

    R

    成功与否

    true/false

    Reason

    String

    O

    备注

    返回示例:

    {

            "EBusinessID": "1151847",

            "UpdateTime": "2016-08-09 16:42:38",

            "Success": true,

            "Reason": ""

            }

    取件状态传值说明如下表:

    State

    State说明

    Reason

    PickerInfo

    FetchTime

    101

    接单失败

    传值原因

     

     

    102

    订单分配已网点

     

    传值网点信息

     

    103

    订单分配已快递员

     

    传值快递员信息

     

    201

    订单已更改取件时间

     

     

    传值新时间

    202

    订单需转单

    传值原因

     

     

    203

    订单已取消

    传值原因

     

     

    204

    订单延时取件

    传值原因

     

     

    205

    无法联系上客户

    传值原因

     

     

    301

    订单已完成

     

     

     

    注:Reason取值快递公司传的原因内容,如快递公司只传了状态码,未回传异常原因,则留空;PickerInfo、FetchTime字段规则同上。

    提供源码下载:

    https://download.csdn.net/download/yanghanwen/12139326

    调用第三方物流接口,替换自己的key就能直接使用,主要实现了物流在线轨迹查询,订单订阅,轨迹推送,支持500多家的快递查询接口,包括主流的四通一达,支持上门取件服务,其他接口调用,修改调用指令和参数就能实现。

  • 相关阅读:
    创建部署规划
    并发容器Map之一:(jdk1.8) ConcurrentHashMap的红黑树实现分析
    CopyOnWrite容器之二:CopyOnWriteArraySet
    jQuery1.5的新特征subclass——jQuery插件机制的救赎
    getElementsByTagName
    facebook是如何管理代码的
    由addClass衍生出来的字符串去重问题
    节点排序
    Sizzle是怎样工作的
    我的模块加载系统 v3
  • 原文地址:https://www.cnblogs.com/51api/p/12307017.html
Copyright © 2020-2023  润新知