关注快递100接口API

实时查询API

  • 简介:快递100实时快递查询接口是快递100针对客服人员查询、最终用户查询等必须通过实时查询的形式获得运单的物流跟踪信息的场景推出的一项增值服务,服务整个过程是:贵司主动请求快递100的接口,快递100即时查询物流跟踪信息并在查询后立即向贵司返回查询结果。由于快递公司系统的承压能力是有限的,所以请勿大批量地、高频率地、重复性地调用本接口,仅用于如贵司网站或APP的最终用户主动点击时才触发调用本接口进行查询,其他的系统自动更新运单签收状态等管理类需求请继续使用快递100信息推送服务。
1、应用场景
由于快递公司系统的承压能力是有限的,所以请勿大批量地、高频率地、重复性地调用本接口,仅用于如贵司网站或APP的最终用户主动点击时才触发调用本接口进行查询,其他的系统自动更新运单签收状态等管理类需求请继续使用快递100信息推送服务。
2、是否需要授权
是,请到 快递查询API申请地址 申请
3、请求地址
正式环境请求地址:https://poll.kuaidi100.com/poll/query.do
4、请求类型
post

5.输入参数

名称 类型 是否必需 示例值   描述
customer String 我方分配给贵司的的公司编号, 请参考邮件《快递100-企业版快递查询接口(API)——授权key及相关工具》
sign String 签名, 用于验证身份, 按param + key + customer 的顺序进行MD5加密(注意加密后字符串一定要转大写), 不需要加上“+”号, 如{"com": "yuantong", "num": "500306190180", "from": "广东省深圳市", "to": "北京市朝阳区"}xxxxxxxxxxxxyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyy
param Object 由其他字段拼接
└ com string yuantong 查询的快递公司的编码, 一律用小写字母
└ num string 12345678 查询的快递单号, 单号的最大长度是32个字符
└ from string 广东深圳 出发地城市
└ to string 北京朝阳 目的地城市,到达目的地后会加大监控频率
└ resultv2 int 1 添加此字段表示开通行政区域解析功能

6.返回结果

字段名称   字段含义
message 消息体,请忽略
state 快递单当前签收状态,包括0在途中、1已揽收、2疑难、3已签收、4退签、5同城派送中、6退回、7转单等7个状态,其中4-7需要另外开通才有效
status 通讯状态,请忽略
condition 快递单明细状态标记,暂未实现,请忽略
ischeck 是否签收标记,请忽略,明细状态请参考state字段
com 快递公司编码,一律用小写字母
nu 单号
data 最新查询结果,数组,包含多项,全量,倒序(即时间最新的在最前),每项都是对象,对象包含字段请展开
 └ context 内容
 └ time 时间,原始格式
 └ ftime 格式化后时间

7.返回示例

JSON格式
  {
        "message":"ok",
        "state":"0",
        "status":"200",
        "condition":"F00",
        "ischeck":"0",
        "com":"yuantong",
        "nu":"V030344422",
        "data":[
        {
          "context":"上海分拨中心/装件入车扫描 ",
          "time":"2012-08-28 16:33:19",
          "ftime":"2012-08-28 16:33:19",
        },
        {
          "context":"上海分拨中心/下车扫描 ",
          "time":"2012-08-27 23:22:42",
          "ftime":"2012-08-27 23:22:42",
        }]
  }
         

8. 请求示例代码

<?php
    //参数设置
    $post_data = array();
    $post_data["customer"] = '*****';
    $key= '*****' ;
    $post_data["param"] = '{"com":"*****","num":"*****"}';

    $url='http://poll.kuaidi100.com/poll/query.do';
    $post_data["sign"] = md5($post_data["param"].$key.$post_data["customer"]);
    $post_data["sign"] = strtoupper($post_data["sign"]);
    $o="";
    foreach ($post_data as $k=>$v)
    {
        $o.= "$k=".urlencode($v)."&";		//默认UTF-8编码格式
    }
    $post_data=substr($o,0,-1);
    $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        $result = curl_exec($ch);
        $data = str_replace("\"",'"',$result );
        $data = json_decode($data,true);
?>