
什么是API產品經理?
3. API 集成: 開發者按照文檔中的指引,將 API 集成到自己的應用程序中。
4. API 管理: 在冪簡集成平臺上,可以管理 API 密鑰、查看使用情況和監控身份驗證請求。
在Java中,下面這段代碼展示了如何使用 Java 發送 HTTP POST 請求到企業公戶驗證服務,以及如何處理服務的響應。需要注意的是,其中的 HttpUtils
類和依賴項需要從提供的鏈接下載并引入。此外,{{AppCode}}
部分需要替換為實際的應用程序代碼。
import com.mittang.util.HttpUtils;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;
public class BankAccountVerifier {
private static final String HOST_URL = "https://open.explinks.com";
private static final String PATH = "/v1/tools/verify/company/bank-verify";
private static final String METHOD_POST = "POST";
private static final String CONTENT_TYPE = "application/x-www-form-urlencoded; charset=UTF-8";
public static void main(String[] args) {
try {
verifyBankAccount("yourAppCodeHere", "bankCard", "companyName", "bankUnionCode");
} catch (Exception e) {
System.err.println("An error occurred during bank account verification: " + e.getMessage());
e.printStackTrace();
}
}
/**
* Verifies a company's bank account using the Explinks API.
*
* @param appCode The application code for authentication.
* @param bankCard The bank card number to be verified.
* @param companyName The name of the company owning the bank account.
* @param bankUnionCode The union code of the bank.
* @throws Exception If an error occurs during the HTTP request.
*/
public static void verifyBankAccount(String appCode, String bankCard, String companyName, String bankUnionCode) throws Exception {
Map<String, String> headers = prepareHeaders(appCode);
Map<String, String> bodys = prepareRequestBody(bankCard, companyName, bankUnionCode);
HttpResponse response = HttpUtils.doPost(HOST_URL, PATH, METHOD_POST, headers, new HashMap<>(), bodys);
processResponse(response);
}
private static Map<String, String> prepareHeaders(String appCode) {
Map<String, String> headers = new HashMap<>();
headers.put("X-Mce-Signature", "AppCode/" + appCode);
headers.put("Content-Type", CONTENT_TYPE);
return headers;
}
private static Map<String, String> prepareRequestBody(String bankCard, String companyName, String bankUnionCode) {
Map<String, String> bodys = new HashMap<>();
bodys.put("bankCard", bankCard);
bodys.put("companyName", companyName);
bodys.put("bankUnionCode", bankUnionCode);
return bodys;
}
private static void processResponse(HttpResponse response) throws Exception {
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println(responseBody);
int statusCode = response.getStatusLine().getStatusCode();
switch (statusCode) {
case 200:
// Handle successful response based on business code in responseBody
break;
case 610:
System.err.println("Invalid input parameters.");
break;
case 611:
System.err.println("System data issue.");
// Consider logging this event
break;
case 612:
System.err.println("Frequency limit exceeded.");
// Log and handle as per business logic
break;
default:
if (statusCode >= 500 && statusCode < 600) {
System.err.println("Server stability issue. Retrying or contacting support is advised.");
} else {
System.err.println("Error occurred. Check your credentials, IP whitelist, balance, etc.");
}
}
}
}
在Python中,使用 requests
庫發送 POST 請求到企業公戶驗證服務接口,根據響應狀態碼進行業務邏輯處理,包括成功、參數問題、數據問題、操作頻度問題和系統穩定性問題等的處理。
import json
import requests
if __name__ == '__main__':
url = "https://open.explinks.com/v1/tools/verify/company/bank-verify"
payload = json.dumps({
"bankCard": "bankCard",
"companyName": "companyName",
"bankUnionCode": "bankUnionCode"
})
headers = {
"Content-Type": "application/json",
# "{{AppCode}}" 替換為您的 AppCode
"X-Mce-Signature": "AppCode/{{AppCode}}"
}
response = requests.request("POST", url, headers=headers, data=payload)
status_code = response.status_code
print("headers:", response.headers)
print("http 狀態碼:", str(status_code))
print(response.text)
if status_code == 200:
"請求成功,可根據業務碼(請求體中的code)進行邏輯處理"
elif status_code == 610 :
"用戶輸入的參數問題,可直接提示用戶"
elif status_code == 611 :
"系統準備的數據問題,如 文件數據下載失敗、數據不存在、數據重復請求等。 LOG it and 提示用戶"
elif status_code == 612 :
"用戶操作頻度問題,可提示用戶。 LOG it and 按業務特點做處理"
elif status_code >= 500 & status_code < 600 :
"在運行階段發生的系統穩定性問題,客戶端可以重試,或者聯系我司客服"
else:
"如賬戶密碼錯誤、IP白名單問題、余額不足等,您應該在對接過程中解決相關問題。"
在PHP中,使用 cURL 發送 POST 請求到企業公戶驗證服務接口,處理并輸出相應的業務邏輯。它包括設置請求頭、發送請求、處理響應,根據響應狀態碼進行不同的業務邏輯處理,如成功、參數問題、數據問題、操作頻度問題、系統穩定性問題等。
<?php
$host = "https://open.explinks.com";
$path = "/v1/tools/verify/company/bank-verify";
$method = "POST";
$appcode = "{{您的AppCode}}";
$headers = array();
array_push($headers, "x-mce-signature:AppCode/" . $appcode);
//根據API的要求,定義相對應的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
$querys = "";
$bodys = "bankCard=bankCard&companyName=companyName&bankUnionCode=bankUnionCode";
$url = $host . $path;
$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);
$result = curl_exec($curl);
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); // 獲得響應頭大小
$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
$body = substr($result,$header_size);
curl_close($curl);
$retMap = json_decode($body, true);
$code = $retMap["code"];
echo $httpCode.PHP_EOL; // DEBUG
if($httpCode == 200){
// 請求成功,可根據業務碼(請求體中的code)進行邏輯處理
echo $retMap["code"].PHP_EOL;
echo $retMap["message"].PHP_EOL;
echo $retMap["hasFees"].PHP_EOL;
echo $retMap["fees"].PHP_EOL;
if($code == "FP00000"){
// SUCCESS
echo "SUCCESS";
}
else{
// FAILURE
echo "FAILURE";
}
} else {
echo $code.PHP_EOL; // DEBUG
if($httpCode == 610){
// 用戶輸入的參數問題,可直接提示用戶
$errors = $retMap["errors"];
$errorMap = null;
foreach($errors as $key=>$value){
foreach($value as $key2=>$value2){
$errorMap[$key] = $value2;
break;
}
}
// 轉化為 key:tip
echo($errorMap["idCardNo"].PHP_EOL);
echo($errorMap["name"].PHP_EOL);
} else if($httpCode == 611){
// 系統準備的數據問題,如 文件數據下載失敗、數據不存在、數據重復請求等。 LOG it and 提示用戶
echo "修訂數據狀態,不要重復操作。".PHP_EOL;
} else if($httpCode == 612){ // 用戶操作頻度問題,可提示用戶。 LOG it and 按業務特點做處理
echo $retMap["message"].PHP_EOL;
} else if($httpCode >= 500 && $httpCode < 600){
// 在運行階段發生的系統穩定性問題,客戶端可以重試,或者聯系我司客服
// TODO: retry
echo "RETRY".PHP_EOL;
} else {
// 如賬戶密碼錯誤、IP白名單問題、余額不足等,您應該在對接過程中解決相關問題。
var_dump($retMap);
}
}
?>
企業公戶驗證API是企業在數字化時代中的重要工具之一。它通過自動化和數字化方式,幫助企業快速、準確地進行對公賬戶的認證和驗證。企業公戶驗證API的出現推動了企業金融業務的創新和發展,提升了賬戶認證流程的效率和安全性,為企業在金融領域的數字化轉型提供了有力支持。
作者:幻城