首页 > 嗟来之食 > 批量录入快递地址快宝地址服务(PHP代码示例)
2018
06-06

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

快递地址写错了怎么办?快递地址写的不详细怎么办?怎么皮批量录入收件人地址?微商怎么批量录入发件人地址?快宝地址清洗,有效的解决了寄送快递时,批量录入收件人信息、发件人信息时,纠正地址数据,不完整地址识别,地址信息不完整时补全,已经合并区县的地址更正为最新的区县等,并输出结构化地址数据的一个有效方案。
一、地址清洗适用场景
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
公共请求参数 ↓ 
 

名称类型是否必须描述

method
string

API接口名称

app_id
string

用户ID(注册开放平台时分配,在控制台中查看)

sign
string

按照规则(md5(app_id + method + ts + api_key))生成的验证合法性签名

ts
string

当前请求的时间戳

data
string

JSON格式请求参数设置

公共响应参数 ↓ 
 

名称类型是否必须描述

code
int

响应状态码。0-成功,非0-失败下载并查看详情

msg
string

返回结果说明

uid
string

本次请求唯一业务流水号

data
string

JSON格式响应数据

请求参数 ↓ 
 

名称类型是否必须描述

address
string

地址信息(英文;作为批量分隔符)

multimode
string

是否批量(true 为批量,false非批量;默认为true)

响应参数  ↓ 
 

名称类型是否必须描述

province
string

省级名称

province_id
string

省级行政编码

city
string

市级名称

city_id
string

市级行政编码

district
string

县级名称

district_id
string

县级行政编码

address
string

详细地址

res
string

是否返回完整结果

county_id
string

县级行政编码

支持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
不支持的快递品牌

最后编辑:
作者:
这个作者貌似有点懒,什么都没有留下。

留下一个回复