📚 泰国银行存折 OCR
1.25 IC每次请求
提供移动端与网页版 SDK
无需自行开发摄像头功能——我们免费开源的 eKYC SDK(网页、Flutter、iOS、Android 与 React Native)可自动拍摄证件和面部,并为您调用此 API。在 GitHub 上查看。
欢迎使用泰国银行存折 OCR API,版本 2.0,这是由艾艾普 科技有限公司开发的一款人工智能产品。我们的 API 旨在以高精度和高速度从泰国银行存折图像中提取文本信息。该 API 支持 JPEG、JPG、PNG 文件格式,并在 1-2 秒内处理银行存折图像。
立即试用!
试用 SDK(实时摄像头)
若您不希望上传文件,免费开源的 iApp eKYC Web SDK 可通过您的摄像头自动拍摄银行存折——它会检测页面边界、等待清晰稳定的画面、对图像进行透视校正,然后提交至此 API。更多流程请参阅完整的 SDK 实时演示页面。
Loading live demo…
入门指南
-
先决条件
- 来自艾艾普科技的 API 密钥
- 泰国银行存折图像
- 支持的文件格式:JPEG、JPG、PNG
- 最大文件大小:2MB
-
快速入门
- 快速处理(每张图片 1-2 秒)
- 高精度文本提取(总体准确率 93%)
- 支持多家泰国银行
-
主要功能
- 详细字段提取,包括:
- 银行名称
- 账号
- 账户名称
- 银行网点
- 签名检测
- 失败案例的原因代码
- 灵活的 JSON 响应格式
- 详细字段提取,包括:
-
安全与合规
- 符合 GDPR 和 PDPA
- 处理后不保留数据
如何获取 API 密钥?
请访问 API 密钥管理 页面查看您现有的 API 密钥或申请新的密钥。
代码示例
银行存折样本

请求:
curl -X POST https://api.iapp.co.th/v3/store/ekyc/book-bank
-H "apikey: YOUR_API_KEY"
-F "file=@/path/to/bankbook.jpg"
响应:
{
"status": "success",
"processing_time": 1.2,
"bank_name": "ไทยพาณิชย์ (SCB)",
"account_number": "XXX-X-XXXXX-X",
"account_name": "บริษัท ไอแอพพ์เทคโนโลยี จำกัด",
"bank_branch": "ฟิวเจอร์ พาร์ค รังสิต",
"signature_detected": true
}
功能与能力
核心功能
- 从银行存折图像中提取文本
- 签名检测
- 支持多家银行
- 快速处理时间
- 高精度
支持的字段
- 银行名称
- 账号
- 账户名称
- 银行网点
- 签名验证
支持的银行
- SCB
- 曼谷银行
- 泰纳信银行
- 盘谷银行
- 盘谷银行 (Bank of Ayudhya)
- TMB 银行
API 端点
| 端点 | 方法 | 描述 | 费用 |
|---|---|---|---|
POST /v3/store/ekyc/book-bank旧版: /book-bank-ocr | POST | 从泰国银行存折图像中提取详细信息 | 每次请求 1.25 IC |
API 参考
泰国银行存折 OCR 端点
1. 泰国银行存折 OCR
POST /v3/store/ekyc/book-bank
从泰国银行存折图像中提取详细信息,包括银行名称、账号、账户名称和网点。
请求头
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| apikey | string | 是 | 您的 API 密钥 |
请求体 (multipart/form-data)
| 参数 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| file | 文件 | 是 | 银行存折图像文件 |
代码示例
Curl
curl -X POST https://api.iapp.co.th/v3/store/ekyc/book-bank \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/bankbook.jpg"
Python
import requests
url = "https://api.iapp.co.th/v3/store/ekyc/book-bank"
payload = {}
files = {"file": ("bankbook.jpg", open("bankbook.jpg", "rb"))}
headers = {"apikey": "YOUR_API_KEY"}
response = requests.post(url, headers=headers, data=payload, files=files)
print(response.json())
JavaScript
const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file", fs.createReadStream("bankbook.jpg"))
let config = {
method: "post",
url: "https://api.iapp.co.th/v3/store/ekyc/book-bank",
headers: {
apikey: "YOUR_API_KEY",
...data.getHeaders(),
},
data: data,
}
axios(config)
.then((response) => console.log(response.data))
.catch((error) => console.log(error))
PHP
<?php
$curl = curl_init();
$file = new CURLFile('bankbook.jpg');
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ekyc/book-bank',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file' => $file),
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swift
import Foundation
let headers = [
"apikey": "YOUR_API_KEY"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://api.iapp.co.th/v3/store/ekyc/book-bank")! as URL)
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
if let error = error {
print(error)
} else {
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
}
}
}
dataTask.resume()
Kotlin
val client = OkHttpClient()
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", "bankbook.jpg",
File("bankbook.jpg").asRequestBody("image/jpeg".toMediaTypeOrNull())
)
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/book-bank")
.addHeader("apikey", "YOUR_API_KEY")
.post(requestBody)
.build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
Java
OkHttpClient client = new OkHttpClient().newBuilder().build();
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", "bankbook.jpg",
RequestBody.create(MediaType.parse("image/jpeg"), new File("bankbook.jpg")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/book-bank")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
Dart
var request = http.MultipartRequest('POST',
Uri.parse('https://api.iapp.co.th/v3/store/ekyc/book-bank'));
request.files.add(await http.MultipartFile.fromPath('file', 'bankbook.jpg'));
request.headers.addAll({
'apikey': 'YOUR_API_KEY'
});
var response = await request.send();
var responseBody = await response.stream.bytesToString();
print(responseBody);
限制与最佳实践
限制
- 最大文件大小:10MB
- 支持的文件格式:JPEG、JPG、PNG
- 仅支持泰国银行存折
- 仅支持手写签名检测
最佳实践
- 确保光照条件良好
- 避免倾斜或旋转的图像
- 拍摄时保持银行存折平整
- 确保所有文本清晰可见
- 避免阴影和眩光
