快宝开放平台
https://open.kuaidihelp.com/home
JavaScript实现地址智能解析
https://blog.csdn.net/weixin_33729196/article/details/88231294
在写一套进销存系统,代发订单这块需要人员手工录入发件人地址及收件人地址,录入区如图
可以看到,如果每一项去录的话搞定一个订单的两个地址至少需要十几次复制黏贴操作,这种设计是不能被接受的。
因为录单时手里已经有现成的类似" XX省XX市XX街道XXXXXX,15000000000,姓名"这样的地址字符串,我需要能解析这个字符串提取相应数据到指定input。
很遗憾,我没找到现成的JavaScript开源地址解析库,不过还好,在github上看到了address-smart-parse这款用php识别地址的项目,参照源码,很快在前端复现了主要逻辑,并在实际使用中进行优化改善。
用了几百个历史订单的实际地址测试解析,识别率有98%左右,我已经在github开源 akebe/address-parse
欢迎大家使用一起改善维护。
快速录入快递地址API接口实现
https://www.cnblogs.com/304dedige/p/9284651.html
电商、ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题。快速下单对于客户来说,为提前发货争取了时间;对于卖家来说,提高了库存周转率及利用率。快速下单的接口实现,需要解决如下几个问题:
1.能够区分收件人姓名、电话、地址、备注等信息
2.能够校验地址的正确性,并纠正问题地址
3.能够解析图片上的收件人信息,并格式化输出收件人信息
4.批量录入收件人信息
问题1:能够区分收件人姓名、电话、地址、备注等信息
说明:收件人姓名、电话,用于快件派送人员联系收件人;备注多数标记客户对于商品的一些特殊需求,如颜色尺码等;地址信息,用于保证商品的去向。这一组信息是单据的重要部分。
接口实现需要将这些数据拆分,并归类,以结构化的方式的呈现出来。
解决方案:快宝智能解析(http://open.kuaidihelp.com/api/1020)
问题2:能够校验地址的正确性,并纠正问题地址
说明:地址数据包括省、市、区/县、街道、小区、楼栋门牌号等。地址数据一方面标记快件派送地,另一方面快递公司根据收件地址完成统一调拨、分配派件员等。如果地址填写有误,意味着次订单无效。
接口实现需要纠正错误的地址数据,识别出已合并或已取消的区县等,并且能够自动补充地址。
解决方案:快宝地址清洗(http://open.kuaidihelp.com/api/1019)
问题3:能够解析图片上的收件人信息,并格式化输出收件人信息
说明:微商、代购等业务的兴起,卖家跟买家的距离越来越近,买家以图片方式将收件人信息发给卖家。将图片上的收件人信息,解析出来,并格式化分类。
接口实现需要将图片上的信息识别出来,并进行纠正等操作,最终输出完整的收件人数据。
解决方案:快宝智能识别收件人(http://open.kuaidihelp.com/api/1024)
问题4:批量录入收件人信息
说明:批量录入收件人信息,首先将收件人信息规范,地址数据都正确后,以一定的数据样式在下单环节通过Excel或者其他方式批量导入。
解决方案:数据规范,图片解析出规范数据后,下单环节批量录入。
智能识别快递地址api接口实现
https://www.cnblogs.com/304dedige/p/9268398.html
电商、ERP等行业发货时,批量录入图片上的收件人地址是个难题;智能识别收件人API是近乎完美的解决方案,通过识别图片,解析出图片中收件人的姓名、电话、详细地址(省、市、区/县、详细地址)。将此接口集成到下单环节,可极大的提高了发货效率。
一、使用场景
场景1:客户微信(或QQ、钉钉等)截图收件人信息及地址
场景2:快递单上面的收件人信息及地址
场景3:手写收件人信息及地址
二、智能识别收件人服务使用流程
1、注册快宝开放平台,获取开发者账号,并认证资质:http://open.kuaidihelp.com/home
2、技术对接并调试,对接帮助
3、应用于您软件的下单环节
三、技术对接示例(PHP代码)
接口名称:cloud.address.ocr
正式地址: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格式响应数据 |
请求参数:
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| url | string | 是 |
图片地址。带上http或https的前缀 |
响应参数:
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| name | string | 是 |
名字 |
| mobile | string | 是 |
手机号码 |
| tel | string | 是 |
固定电话 |
| detail | data | 是 |
解析详情 |
| remark | string | 是 |
备注信息 |
| province | string | 是 |
省份 |
| province_alias | string | 是 |
省别名 |
| city | string | 是 |
城市 |
| city_alias | string | 是 |
城市别名 |
| district | string | 是 |
区或县 |
| district_alias | string | 是 |
区或县别名 |
| address | 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.ocr',
10 "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79",
11 "ts"=>'1524209949',
12 "data"=>'{ "url":"http://upload.kuaidihelp.com/1520929251015998700112.jpg" }'
13 ];
14 $bodys = http_build_query($bodys);
15 $url = $host;
16 $curl = curl_init();
17 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
18 curl_setopt($curl, CURLOPT_URL, $url);
19 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
20 curl_setopt($curl, CURLOPT_FAILONERROR, false);
21 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
22 curl_setopt($curl, CURLOPT_HEADER, true);
23 if (1 == strpos("$".$host, "https://"))
24 {
25 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
26 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
27 }
28 curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
29 var_dump(curl_exec($curl));
成功响应示例
1 {
2 "code":int0
3 "msg":string"success"
4 "data":{
5 "name":string"张国明"
6 "mobile":string"13522128888"
7 "tel":string""
8 "detail":{
9 "remark":string""
10 "province":string"上海市"
11 "province_alias":string"上海"
12 "city":string"上海市"
13 "city_alias":string"上海"
14 "district":string"虹口区"
15 "district_alias":string"虹口"
16 "address":string"广灵一路友谊二村88号502"
17 }
18 }
19 "uid":string"0b767b8f632612c6fbfb44a55d924c6a7f66eedc"
20 }
异常响应示例
1 {
2 "code":string"错误代码"
3 "msg":string"错误信息"
4 "data":{
5 }
6 }
错误码
| 错误码 | 描述 |
|---|---|
| 400001 | 业务参数有误 |
| 400002 | 超出批量解析最大数量限制 |
| 400003 | 输入字符太少 |
| 400004 | 请求方式错误 |
| 400005 | 请求数据格式错误 |
| 400006 | 缺少必要的参数 |
| 400007 | 类型不合法 |
| 400008 | 不支持的快递品牌 |
-the end-