$com, //快递公司编码, 一律用小写字母 'num' => $num, //快递单号 // 'phone' => '', //手机号 // 'from' => '', //出发地城市 // 'to' => '', //目的地城市 // 'resultv2' => '1' //开启行政区域解析 ]; //请求参数 $post_data = []; $post_data["customer"] = self::$customer; $post_data["param"] = json_encode($param); $sign = md5($post_data["param"].self::$key.$post_data["customer"]); $post_data["sign"] = strtoupper($sign); $params = ""; foreach ($post_data as $k => $v) { $params .= "$k=".urlencode($v)."&"; //默认UTF-8编码格式 } $post_data = substr($params, 0, -1); //发送post请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_URL, self::$url); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); return json_decode($result, $returnArray); } /** * 状态 * * @return string[] */ public static function state(): array { return [ 0 => '在途', 1 => '揽收', 2 => '疑难', 3 => '签收', 4 => '退签', 5 => '派件', 6 => '退回', 7 => '转单', 10 => '待清关', 11 => '清关中', 12 => '已清关', 13 => '清关异常', 14 => '收件人拒签', ]; } /** * 不在继续查询的配送状态 * @return int[] */ public static function unSearchState(): array { return [3,4,12]; } }