批量录入快递地址-快宝地址服务(PHP代码示例)

it2022-05-09  35

快递地址写错了怎么办?快递地址写的不详细怎么办?怎么皮批量录入收件人地址?微商怎么批量录入发件人地址?快宝地址清洗,有效的解决了寄送快递时,批量录入收件人信息、发件人信息时,纠正地址数据,不完整地址识别,地址信息不完整时补全,已经合并区县的地址更正为最新的区县等,并输出结构化地址数据的一个有效方案。

一、地址清洗适用场景

1. 不完整地址识别比如地址“山东省烟台市烟台市峰哥”,由省市街道组成,调用快宝地址清洗API,将会给你返回如下地址数据

省:山东省 市:烟台市 区/县: 地址:烟台市峰哥

2. 地址补全比如地址“新疆-和田-和田”,由不完整的省市区组成,将会被识别成为如下地址结构:

省:新疆维吾尔自治区 市:和田地区 区/县:和田市 地址:

3. 识别已合并的区/县比如地址“北京市宣武区茶儿胡同”,其中有被合并为西城区的宣武区,将会被识别为如下的地址结构:

省:北京市 市:北京市 区/县:西城区 地址:茶儿胡同

二、接口说明

1. 注册快宝开放平台,获取开发者账号(http://open.kuaidihelp.com/register)。

2. 对接地址清洗接口(http://open.kuaidihelp.com/api/1019)。

3. 在您的软件中应用地址清洗。

 

接口名称:cloud.address.cleanse

正式地址:https://kop.kuaidihelp.com/api

请求方式:HTTP POST

请求方法编码格式:utf-8

公共请求参数 ↓ 

 

名称类型是否必须描述methodstring是API接口名称app_idstring是用户ID(注册开放平台时分配,在控制台中查看)signstring是按照规则(md5(app_id + method + ts + api_key))生成的验证合法性签名tsstring是当前请求的时间戳datastring是JSON格式请求参数设置

公共响应参数 ↓ 

 

名称类型是否必须描述codeint是响应状态码。0-成功,非0-失败下载并查看详情msgstring是返回结果说明uidstring是本次请求唯一业务流水号datastring是JSON格式响应数据

请求参数 ↓ 

 

名称类型是否必须描述addressstring是地址信息(英文;作为批量分隔符)multimodestring是是否批量(true 为批量,false非批量;默认为true)

响应参数  ↓ 

 

名称类型是否必须描述provincestring是省级名称province_idstring是省级行政编码citystring是市级名称city_idstring是市级行政编码districtstring是县级名称district_idstring是县级行政编码addressstring是详细地址resstring是是否返回完整结果county_idstring是县级行政编码

支持Java,C#,Python,PHP,Node.js,Curl等6中语言接入,下面以PHP为例,展示地址清洗代码示例:

1 $host = "https://kop.kuaidihelp.com/api"; 2 $method = "POST"; 3 $headers = array(); 4 //根据API的要求,定义相对应的Content-Type 5 array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); 6 $querys = ""; 7 $bodys = [ 8 "app_id"=>'50001', 9 "method"=>'cloud.address.cleanse', 10 "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", 11 "ts"=>'1524209949', 12 "data"=>'{ 13 "multimode":true, 14 "address":"山东省烟台市烟台市峰哥;上海-上海-长宁;山东-东营-东营区;湖北-恩施土家族苗族自治州-恩施;新疆-和田-和田" 15 }' 16 ]; 17 $bodys = http_build_query($bodys); 18 $url = $host; 19 $curl = curl_init(); 20 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); 21 curl_setopt($curl, CURLOPT_URL, $url); 22 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 23 curl_setopt($curl, CURLOPT_FAILONERROR, false); 24 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 25 curl_setopt($curl, CURLOPT_HEADER, true); 26 if (1 == strpos("$".$host, "https://")) 27 { 28 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 29 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 30 } 31 curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); 32 var_dump(curl_exec($curl));

成功响应示例(JSON) ↓  

{ "code":int0 "msg":string"success" "uid":string"a6934adee62d8ba3430d4ac678dd5f46c7a79d6e" "data":[ 0:{ "province":string"山东省" "province_code":string"370000" "city":string"烟台市" "city_code":string"370600" "district":string"" "district_code":string"" "address":string"烟台市峰哥" "res":int0 } 1:{ "province":string"上海市" "province_code":string"310000" "city":string"上海市" "city_code":string"310000" "district":string"长宁区" "district_code":string"310105" "address":string"" "res":int0 } 2:{ "province":string"山东省" "province_code":string"370000" "city":string"东营市" "city_code":string"370500" "district":string"东营区" "district_code":string"370502" "address":string"东营区" "res":int0 } 3:{ "province":string"湖北省" "province_code":string"420000" "city":string"恩施土家族苗族自治州" "city_code":string"422800" "district":string"恩施市" "district_code":string"422801" "address":string"" "res":int0 } 4:{ "province":string"新疆维吾尔自治区" "province_code":string"650000" "city":string"和田地区" "city_code":string"653200" "district":string"和田市" "district_code":string"653201" "address":string"" "res":int0 } ] }

异常响应示例(JSON) ↓   

{ "code":int400001 "msg":string"业务参数有误,请检查" "uid":string"a6934adee62d8ba3430d4ac678dd5f46c7a79d6e" "data":{} }

错误码说明  ↓  

 

错误码描述400001业务参数有误400002超出批量解析最大数量限制400003输入字符太少400004请求方式错误400005请求数据格式错误400006缺少必要的参数400007类型不合法400008不支持的快递品牌

转载于:https://www.cnblogs.com/304dedige/p/8954200.html

相关资源:php curl远程url读取类,支持GET POST

最新回复(0)