快寶智慧解析API文件

Lizheng500發表於2022-03-22
智慧解析

應用場景

1. 電商平臺、電商ERP軟體、物流應用軟體等需要錄入聯絡人資訊,允許使用者自由輸入聯絡資訊,無需分段按規格錄入,提升錄入效率和使用體驗

2. 已有的聯絡人資訊為純文字,需要自動解析為姓名、電話、省市區、詳細地址和備註

3. 使用者輸入的聯絡人資訊中,省、市、區資訊不全或有錯誤,需要自動糾正為完整、準確的行政區域資訊

主要功能

1. 將包含收發件人資訊的文字,識別為結構化的收發件人資訊,返回姓名、電話號碼、省、市、區、鄉鎮、詳細地址、備註等分段資訊,能夠智慧補全地址中缺失的行政區域

2. 對於包含了不規範的行政區域名稱、過時的舊稱呼、已經撤銷或合併的行政區域名稱的地址,可以通過該介面解析為規範、最新、準確的行政區域名稱

額外說明

技術諮詢請加微信:kuaibao135

介面名稱

cloud.address.resolve

公共引數

請求地址

環境名稱
HTTPS請求地址
正式地址

公共請求引數

名稱
型別
是否必須
描述
method string
API介面名稱
app_id string
使用者ID(註冊開放平臺時分配,在控制檯中檢視)
sign string
按照規則(md5(app_id + method + ts + api_key))生成的合法性驗證簽名(32位字串,字母小寫)如:10000cloud.print.do1524209949bdf3b5f50865ac813cbdfd6c9b572b79加密後5030cae3388ecdc2e686379753a0564c
ts string
當前請求的時間戳(10位或13位)
data string
JSON格式請求引數

公共響應引數

名稱
型別
是否必須
描述
code int
響應狀態碼。0-成功,非0-失敗 下載並檢視詳情
msg string
返回結果說明
uid string
本次請求唯一業務流水號
data string
JSON格式響應資料

請求引數

名稱
型別
是否必須
描述
multimode bool
是否為批量模式,false為非批量,此時整個text引數認為是一條聯絡人資訊;true為批量,此時根據text引數中的換行符區隔多條聯絡人資訊。預設為true
text string
包含地址、姓名、電話等資訊的待解析文字,批量模式下多條記錄用回車或換行符(\r\n)分割
resolveTown int
是否從地址中解析鄉鎮、街道級別行政區域資訊。0:不解析,1:地址中包含有鄉鎮、街道名稱,則解析,否則不解析,2:不管地址中是否包含鄉鎮、街道名稱,都嘗試解析鄉鎮資訊。預設值為0。若值為1或2,返回結果中會包含town_name,town_id, town_code欄位,address欄位中將不再包含鄉鎮級別行政區域資訊

響應引數

名稱
型別
是否必須
描述
original string
輸入的原始文字。響應體的data欄位為一陣列,每個陣列元素為一條解析結果,本節描述的是每個元素的欄位
mobile string
手機號碼
phone string
固定電話
name string
姓名
note string
備註
province_name string
省級名稱
province_shortname string
省級簡稱
province_id string
省級快寶內部ID
province_code string
省級行政區劃程式碼
city_name string
市級名稱
city_shortname string
市級簡稱
city_id string
市級快寶內部ID
county_name string
縣級名稱
county_shortname string
縣級簡稱
county_id string
縣級快寶內部ID
county_code string
縣級行政區劃程式碼
town_name string
鄉鎮、街道名稱,僅在resolveTown為true時返回該值
town_id string
鄉鎮、街道級別快寶內部ID,僅在resolveTown為true時返回該值
town_code string
鄉鎮、街道級別行政區劃程式碼
detail string
詳細地址
province_confidence int
省級資訊解析準確度欄位,當返回值小於3時認為準確度相對較低有識別錯誤概率,該欄位可用於客戶端提示使用者檢查地址資訊時使用;
city_confidence int
市級資訊解析準確度欄位,當返回值小於3時認為準確度相對較低有識別錯誤概率,該欄位可用於客戶端提示使用者檢查地址資訊時使用;
county_confidence int
區級資訊解析準確度欄位,當返回值小於3時認為準確度相對較低有識別錯誤概率,該欄位可用於客戶端提示使用者檢查地址資訊時使用;

請求示例

單條請條示例

Java
C#
Python
PHP
Node.js
Curl
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Map;import java.util.HashMap;import java.util.Date;public class Request {public static void main(String[] args) {
String host = "
String path = "/api";
String requestMethod = "POST";
Map<String, String> headers = new HashMap<String, String>();
//根據API的要求,定義相對應的Content-Typeheaders.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();
String appId = "50001";
String method = "cloud.address.resolve";
// 當前時間戳
String ts = new Date().getTime() + "";
String appKey = "bdf3b5f50865ac813cbdfd6c9b572b79";
// 計算簽名
String signStr = appId + method + ts + appKey;
String sign = Request.getMD5(signStr, 32);
bodys.put("app_id", appId);
bodys.put("method", method);
bodys.put("ts", ts);
bodys.put("sign", sign);
// data引數是個json格式的字串  建議使用函式或方法去生成
bodys.put("data", "{
    "text":"浙江省紹興市諸暨市浣東街道西子公寓北區電話:13905857430  衣服  食物 ",
    "multimode":false
}");
try {	/**
	* 重要提示如下:
	* HttpUtils請從
	* 
	* 下載
	*
	* 相應的依賴請參照
	* 
	*/
	HttpResponse response = HttpUtils.doPost(host, path, requestMethod, headers, querys, bodys);	System.out.println(response.toString());
	
		//獲取response的body		System.out.println(EntityUtils.toString(response.getEntity()));
	} catch (Exception e) {
		e.printStackTrace();
	}
}
	// 計算md5    public static String getMD5(String plainText, int length) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");//獲取MD5例項
            md.update(plainText.getBytes());//此處傳入要加密的byte型別值
            byte[] digest = md.digest();//此處得到的是md5加密後的byte型別值            /*
               下邊的運算就是自己新增的一些二次小加密,記住這個千萬不能弄錯亂,
                   否則在解密的時候,你會發現值不對的(舉例:在註冊的時候加密方式是一種,
                在我們登入的時候是不是還需要加密它的密碼然後和資料庫的進行比對,但是
            最後我們發現,明明密碼對啊,就是打不到預期效果,這時候你就要想一下,你是否
             有改動前後的加密方式)   
            */
            int i;
            StringBuilder sb = new StringBuilder();            for (int offset = 0; offset < digest.length; offset++) {
                i = digest[offset];                if (i < 0)
                    i += 256;                if (i < 16)
                    sb.append(0);
                sb.append(Integer.toHexString(i));//通過Integer.toHexString方法把值變為16進位制
            }            return sb.toString().substring(0, length);//從下標0開始,length目的是擷取多少長度的值
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();            return null;
        }
    }
}

響應示例

成功響應示例

JSON示例
{
" code " :
int0
" msg " :
string "成功"
" data " : [
0 : {
" original " :
string "浙江省紹興市諸暨市浣東街道西子公寓北區電話:13905857430 衣服 食物 "
" phone " :
string ""
" mobile " :
string "13905857430"
" name " :
string "衣服 食物"
" note " :
string ""
" province_id " :
string "334"
" province_name " :
string "浙江省"
" province_shortname " :
string "浙江"
" province_code " :
string "330000"
" city_id " :
string "1304"
" city_name " :
string "紹興市"
" city_shortname " :
string "紹興"
" city_code " :
string "330600"
" county_id " :
string "1357"
" county_name " :
string "諸暨市"
" county_shortname " :
string "諸暨"
" county_code " :
string "330681"
" detail " :
string "西子公寓北區"
" town_id " :
string "883331"
" town_name " :
string "浣東街道"
" town_code " :
string ""
}
]
}

異常響應示例

JSON示例
{
" code " :
int400001
" msg " :
string "業務引數有誤,請檢查"
" uid " :
string "a6934adee62d8ba3430d4ac678dd5f46c7a79d6e"
" data " : {
}
}

錯誤程式碼

錯誤碼
描述
300101 快遞單號建立失敗
300102 獲取快遞單號失敗
300103 不合法的請求引數
300103 圖片格式錯誤
300104 簽名格式不正確
300105 請求方式錯誤
300105 請求方式錯誤
300106 請求的的資料格式錯誤
300107 缺少必要引數
300108 使用者app_id值不正確
300109 不存在的業務型別
300110 請求含有非法引數
300111 請求引數不能為空
300112 使用者app_key值不正確
300115 業務引數有誤,請檢查
400001 業務引數有誤
400002 超出批量解析最大數量限制
400003 輸入字元太少
400004 請求方式錯誤
400005 請求資料格式錯誤
400006 缺少必要的引數
400007 型別不合法
400008 不支援的快遞品牌


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015616/viewspace-2882752/,如需轉載,請註明出處,否則將追究法律責任。

相關文章