批量录入快递地址-快宝地址服务(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为例,展示地址清洗代码示例:
$host = "https://kop.kuaidihelp.com/api";
$method = "POST";
$headers = array();
//根据API的要求,定义相对应的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
$querys = "";
$bodys = [
"app_id"=>'50001',
"method"=>'cloud.address.cleanse',
"sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79",
"ts"=>'1524209949',
"data"=>'{
"multimode":true,
"address":"山东省烟台市烟台市峰哥;上海-上海-长宁;山东-东营-东营区;湖北-恩施土家族苗族自治州-恩施;新疆-和田-和田"
}'
];
$bodys = http_build_query($bodys);
$url = $host;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
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 | 不支持的快递品牌 |
批量录入快递地址-快宝地址服务(PHP代码示例)的更多相关文章
- 实战SpringCloud响应式微服务系列教程(第十章)响应式RESTful服务完整代码示例
本文为实战SpringCloud响应式微服务系列教程第十章,本章给出响应式RESTful服务完整代码示例.建议没有之前基础的童鞋,先看之前的章节,章节目录放在文末. 1.搭建响应式RESTful服务. ...
- 基于PHP的地址智能解析案例-快宝开放平台
快宝地址智能解析,批量录入收件人.发件人最好的解决方案,广泛应用于快递行业,电商行业,ERP应用等. 一.对接前准备 注册快宝开放平台,获得开发者账号,查看如何注册. 二.对接联调 快宝开放平台支持多 ...
- 快速录入快递地址API接口实现
电商.ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题.快速下单对于客户来说,为提前发货争取了时间:对于卖家来说,提高了库存周转率及利用率.快速下单的接口实现,需要解决如下几个问题:1 ...
- 基于PHP的地址清洗调用案例-快宝开放平台
快宝地址清洗,纠正错误地址.识别不完整地址.地址补全,并输出结构化地址数据的通用解决方案.广泛应用于快递行业,电商行业,ERP应用等. 快宝开放平台-地址清洗对接API:http://open.kua ...
- socket模块实现基于UDP聊天模拟程序;socketserver模块实现服务端 socket客户端代码示例
socket模块 serSocket.setblocking(False) 设置为非阻塞: #coding=utf-8 from socket import * import time # 用来存储所 ...
- 基于PHP的快递查询免费开放平台案例-快宝开放平台
快递查询是快递业务中极其重要的业务,免费的快递查询开放平台:快宝开放平台. 快宝开放平台:http://open.kuaidihelp.com/home,已经对接100多家快递公司,实现快递物流信息实 ...
- 淘宝地址爬取及UI展示
淘宝地址爬取及UI展示 淘宝国家省市区街道获取 参考 foxiswho 的 taobao-area-php 部分代码,改由c#重构. 引用如下: Autofac MediatR Swagger Han ...
- 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量 大概的思路是利用sh,从日志中提取出来对应的IP地址,然后再交由python进行对比,判断,最终将需要添加至iptables列表中的IP写入到 ...
- 基于PHP的对接免费电子面单接口平台的案例-快宝开放平台
一.电子面单对接平台 电子面单对接平台分为两类: 1 .各大快递公司自有的电子面单接口开放平台:对接起来麻烦,需要每个快递公司分别调试接口,费时费力. 2 .第三方快递开放平台:如快宝开放平台(htt ...
随机推荐
- hadoop2.6.0实践:A01 问题处理 DEPRECATED: Use of this script to execute hdfs command is deprecated.
[hadoop@hadoop-master data]$ hadoop dfs -ls /DEPRECATED: Use of this script to execute hdfs command ...
- redis入门(03)redis的配置
一.配置文件 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf.你可以通过 CONFIG 命令查看或设置配置项. 二.查看修改 1.查看配置 1.1.vi redis ...
- Java设计模式(七)Decorate装饰器模式
一.场景描述 (一)问题 系统中最初使用Crystal Report(水晶报表)工具生成报表,并将报表发送给客户端查看,此时定义一CrystalReport工具类即可完成水晶报表的生成工作. 后续报表 ...
- SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)
在SVN版本控制时,新手经常会遇到这样的问题: 1.整个项目一起提交时会把bin . gen . .project 一同提交至服务器 2.避免提交编译.本地配置等文件在项目中单独对src.res进行提 ...
- greenplum集群某台机器磁盘占用100%处理方式
一.问题描述 使用gpfdist往集群中导入大量数据, 一段时间后连接退出,集群无法连接 二.问题定位 使用如下命令查看: gpstate -s mdw-:gpadmin-[INFO]:- Segme ...
- ejs注释问题
项目中遇到一个问题: 代码如下: 但是代码如下时,却不会出现bug: bug的导火索是ejs的注释: 因为我没有用对注释,所以被注释部分的if语句仍旧生效了. bug的根本原因是没有对mod类型进行判 ...
- RxJava系列3(转换操作符)
RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...
- Maven的作用是什么
现在我们开发的项目基本上都是maven项目,maven项目也是一个项目,类似于javaProject,javaWebProject,就是多了些功能. 那就说说究竟多了什么功能呢. 1 . 帮你下载ja ...
- filter过滤器与map映射
filter过滤器 >>> list(filter(None,[0,1,2,True,False])) [1, 2, True] filter的作用就是后面的数据按照前面的表达式运算 ...
- urlopen()&urlretrieve()
1.urlopen()方法 urllib.request.urlopen(url[,data[,proxies]]) 创建一个表示远程url的类文件对象,然后像本地文件一样的操作这个类文件对象来获取远 ...