批量录入快递地址-快宝地址服务(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 ...
随机推荐
- 前端之CSS内容
一.CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). 二.CSS语法 1 ...
- Android 学习资料入门到精通(PDF集合)共54本
最近收集一些安卓入门到精通,包含游戏编程,网络编程,多媒体开发,需要学习朋友就下载保持下来,下载链接在最下面 下面是网盘内容 14天学会安卓开发_(完整版).pdf Android 4 游戏高级编程 ...
- DataContractJsonSerializer序列化时间类型时转换为UTC溢出问题
问题描述 如下一个实体类,含有非空时间类型属性,默认是C#的最小时间,在使用DataContractJsonSerializer将该类对象序列化成JSON时,抛出异常信息:System.Runtime ...
- 数据库“行专列”操作---使用row_number()over(partition by 分组字段 [order by 排序字段])
测试样例: create table test(rsrp string,rsrq string,tkey string,distan string); '); '); '); '); select * ...
- Hibernate(十五):QBC检索、本地SQL检索和HQL删除
QBC检索 QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口. 1)通过Cr ...
- JavaScript正则表达式学习笔记之一 - 理论基础
自从年前得空写了两篇文章之后就开始忙了,这一忙就是2个月
- CSS揭秘(四)视觉效果
Chapter 4 1. 单侧投影 为元素设置投影可以使用 box-shadow 属性,指定三个长度值(X轴偏移量.Y轴偏移.模糊半径)与一个颜色值 要想只在底部设置投影,需要用到第四个参数:投影的扩 ...
- Java集合总结【面试题+脑图】,将知识点一网打尽!
前言 声明,本文用的是jdk1.8 花了一个星期,把Java容器核心的知识过了一遍,感觉集合已经无所畏惧了!!(哈哈哈....),现在来总结一下吧~~ 回顾目录: Collection总览 List集 ...
- eclipse导包导不进来
今天某个类转移了位置,结果导包导不进来: 解决方法:1.查看本项目中pom的依赖关系,查看是否引用了转移后的项目. 2.查看导不进来的报错类,查看类刚开始import的信息,如果有报错,删除后重新导包 ...
- iOS 检测屏幕是否锁定 🔓 / 🔒
1. 导入头文件 #import <notify.h> 2. 给 CFNotificationCenter 添加观察者 - (void)addLockStatusObserver { CF ...