zoukankan      html  css  js  c++  java
  • 物流跟踪API-快递单订阅

    上一篇文章我们讲解了轨迹查询的接口,通过快递鸟接口可以实现实时查询物流轨迹,这次给大家推荐订阅服务功能。

    为了更好的理解订阅服务,我们来做个对比,

    即时查询是主动查询物流轨迹,需要我们主动调用接口才能获得物流轨迹。

    快递单订阅是被动接收物流轨迹,我们把大量的物流订单通过接口委托给快递鸟,

    快递鸟对订单进行实时监控,当物流轨迹有更新时,快递鸟通过内部处理,计算运单预计到达时间、全流程的物流状态,推送到我们指定的接口地址。每一次的物流轨迹更新,快递鸟就会调用一次我们提供的接口地址,直到订单签收后才结束订阅。

    有些朋友可能会问,我只要使用即时接口查询快递就可以了,为什么还要使用订阅服务功能?

    目的只有一个,减少公司开发成本,提升用户体验。

    假设我们的电商平台,每天有1000个订单需要发货,每天就有1000个运单要查询物流轨迹,一个订单从发货到签收周期是3-7天,我们需要查询所有未签收的运单轨迹,综合统计,一天我们可能需要查询5000千个订单,如果我们对订单时效要求非常高,需要实时了解包裹的签收情况,我们就要反复调用接口,每半小时调用一次,一个单一天要调用48次,如果时效要求更高,调用更频繁,5000个订单需要调用24万次以上,这样的频繁调用既占用公司服务器资源,也容易被快递鸟当中恶意攻击查封接口。

    这个时候订阅服务的优势就提现出来了,我们只需要把每天的1000个发货订单推送到快递鸟,让快递鸟去做这个比较繁琐的事情,快递鸟会监控我们推送过去的所有订单,只要没有被签收,快递鸟就会提供推送服务,假设目前有5000个订单还没被签收,快递鸟就会监控这5000个单,其中任何一个单有新的轨迹或者被签收了,快递鸟即时调用我们提供的接口,把轨迹推送到我们的服务器,这样我们就实现了0延迟,真正做到了即时更新物流轨迹,我们利用这个功能可以实现很多产品服务,比如:短信提醒客户订单预计签收时间,统计订单的签收情况,计算订单的发货时效……

    订阅服务我们已经了解了,接下来说说如何对接。

     

     

     

     

    一、接口描述/说明

    1.订阅接口

    (1)此功能为专业定制,为特殊商户提供订阅服务,快递鸟系统会定时推送新的物流信息到商户系统。
    (2)订阅快递号需指定相应的快递公司编码,格式不对或则编码错误都会返回失败的信息。

    (3)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
    (4)接口地址:

    API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json


    API正式地址:

    http://api.kdniao.com/api/dist

     

    请求系统级参数说明:

    参数名称

    类型

    说明

    必须要求

    RequestData

    String

    请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。

    R

    EBusinessID

    String

    商户ID,请在我的服务页面查看。

    R

    RequestType

    String

    请求指令类型:1008

    R

    DataSign

    String

    数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后 进行URL(utf-8)编码。详细过程请查看Demo。

    R

    DataType

    String

    请求、返回数据类型:2-json;

    R

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

     

    二、接口参数

    1.订阅接口

    请求内容字段定义:

    参数

    类型

    说明

    必须要求

    Callback

    String(50)

    用户自定义回调信息

    O

    MemberID

    String(50)

    会员标识(备用字段)

    O

    WareHouseID

    String(30)

    仓库标识(备用字段)

    O

    CustomerName

    String

    电子面单客户账号(与快递网点申请)

    O

    CustomerPwd

    String

    电子面单密码

    O

    SendSite

    String

    收件网点标识(名称)

    O

    ShipperCode

    String(10)

    快递公司编码

    R

    LogisticCode

    String(30)

    快递单号

    R

    OrderCode

    String(30)

    订单编号

    O

    MonthCode

    String(20)

    月结编号

    O

    PayType

    Int

    邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付

    O

    ExpType

    String(2)

    快递类型:1-标准快件

    O

    Cost

    Double(5)

    快递运费

    O

    OtherCost

    Double(5)

    其他费用

    O

    Receiver

    Company

    String(30)

    收件人公司

    O

    Name

    String(30)

    收件人

    R

    Tel

    String(20)

    电话(电话与手机,必填一个)

    R

    Mobile

    String(20)

    手机

    R

    PostCode

    String(10)

    收件人邮编

    O

    ProvinceName

    String(20)

    收件省(如广东省,不要缺少“省”)

    R

    CityName

    String(20)

    收件市(如深圳市,不要缺少“市”)

    R

    ExpAreaName

    String(20)

    收件区(如福田区,不要缺少“区”或“县”)

    R

    Address

    String(100)

    收件人详细地址

    R

    Sender

    Company

    String(30)

    发件人公司

    O

    Name

    String(30)

    发件人

    R

    Tel

    String(20)

    手机与电话必填一个

    R

    Mobile

    String(20)

    发件人手机

    R

    PostCode

    String

    发件人邮编

    O

    ProvinceName

    String(20)

    发件省(如广东省,不要缺少“省”)

    R

    CityName

    String(20)

    发件市(如深圳市,不要缺少“市”)

    R

    ExpAreaName

    String(20)

    发件区(如福田区,不要缺少“区”或“县”)

    R

    Address

    String(100)

    发件人详细地址

    R

    IsNotice

    Int(1)

    是否通知快递员上门揽件:0-通知;1-不通知;默认为1

    O

    StartDate

    String

    上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同

    O

    EndDate

    String

    O

    Weight

    Double

    包裹总重量kg

    O

    Quantity

    Int(2)

    件数/包裹数

    O

    Volume

    Double

    物品总体积m3

    O

    Remark

    String(60)

    备注

    O

    IsSendMessage

    Int(1)

    是否订阅短信:0-不需要;1-需要

    O

    AddService(数组形式)

    AddService

    Name

    String(20)

    增值服务名称

    O

    Value

    String(30)

    增值服务值

    O

    CustomerID

    String(30)

    客户标识(选填)

    O

    Commodity(数组形式)

    Commodity

    GoodsName

    String(100)

    商品名称

    O

    GoodsCode

    String(20)

    商品编码

    O

    Goodsquantity

    Int(5)

    件数

    O

    GoodsPrice

    Double(10)

    商品价格

    O

    GoodsWeight

    Double

    商品重量kg

    O

    GoodsDesc

    String(50)

    商品描述

    O

    GoodsVol

    Double

    商品体积m3

    O

    返回参数定义:

    参数名称

    类型

    说明

    必须要求

    EBusinessID

    String

    用户ID

    R

    UpdateTime

    String

    更新时间
    YYYY-MM-DD HH24:MM:SS

    R

    Success

    Bool

    成功与否:true,false

    R

    Reason

    String(50)

    失败原因

    O

    EstimatedDeliveryTime

    String

    订单预计到货时间yyyy-mm-dd(即将上线)

    O

     

    三、示例

    订阅接口

    请求示例 JSON

    {

        "ShipperCode":"SF",

        "OrderCode":"SF201608081055208281",

        "LogisticCode":"3100707578976",

        "PayType":"1",

        "ExpType":"1",

        "CustomerName":"",

        "CustomerPwd":"",

        "MonthCode":"",

        "IsNotice":"0",

        "Sender":{

            "Name":"1255760",

            "Tel":"",

            "Mobile":"13700000000",

            "ProvinceName":"广东省",

            "CityName":"深圳市",

            "ExpAreaName":"福田区",

            "Address":"测试地址"

        },

        "Receiver":{

            "Name":"1255760",

            "Tel":"",

            "Mobile":"13800000000",

            "ProvinceName":"广东省",

            "CityName":"深圳市",

            "ExpAreaName":"龙华新区",

            "Address":"测试地址2"

        },

        "Commodity":[

            {

                "GoodsName":"书本"

            }

        ]

    }

    返回示例 JSON

    {

            "EBusinessID": "1151847",

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

            "Success": true,

            "Reason": ""

            }

     

    提供源码下载:

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

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

    演示截图:

  • 相关阅读:
    HTML5 的成长之路
    黑马程序员——JAVA基础之数组
    黑马程序员——JAVA基础之函数,重载,内存结构
    黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
    黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构
    黑马程序员——JAVA基础之语法、命名规则
    黑马程序员——JAVA基础之常用DOS命令和环境变量的配置
    Android应用开发高效工具集1---ant构建简单Android项目
    10个你能参与并学习的Java开源项目
    Anroid 异常:is not valid; is your activity running?
  • 原文地址:https://www.cnblogs.com/51api/p/12297267.html
Copyright © 2011-2022 走看看