📗✍️ ระบบอ่านสมุดบัญชีธนาคารพร้อมตรวจจับลายเซ็น
📗✍️ Thai Bank Book OCR with Signature Detection
ยินดีต้อนรับสู่ Bank Book OCR with Signature Detection API ผลิตภัณฑ์ AI ที่พัฒนาโดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด API ของเราออกแบบมาเพื่อดึงข้อมูลจากสมุดบัญชีธนาคารและตรวจจับลายเซ็นด้วยความแม่นยำและความเร็วสูง
ทดลองใช้เลย!
Example Images (Click to try)

Demo key is limited to 10 requests per day per IP
Click here to get your API key
เริ่มต้นใช้งาน
-
ข้อกำหนดเบื้องต้น
- API key จาก ไอแอพพ์เทคโนโลยี
- รูปภาพสมุดบัญชีธนาคาร
- รูปแบบที่รองรับ: JPEG, JPG, PNG
- ขนาดไฟล์สูงสุด: 2MB
-
เริ่มต้นอย่างรวดเร็ว
- เวลาในการประมวลผลที่รวดเร็ว
- การจดจำข้อความที่แม่นยำสูง
- รองรับรูปแบบไฟล์หลายรูปแบบ
- ความสามารถในการตรวจจับลายเซ็น
-
คุณสมบัติหลัก
- การดึงข้อมูลสมุดบัญชีธนาคาร
- การตรวจจับและตรวจสอบลายเซ็น
- รองรับธนาคารหลายแห่ง
- การจดจำที่แม่นยำสูง
-
ความปลอดภัยและการปฏิบัติตามกฎระเบียบ
- ปฏิบัติตาม GDPR และ PDPA
- ไม่มีการเก็บรักษาข้อมูลหลังจากการประมวลผล
กรุณาเยี่ยมชม iApp AI Portal เพื่อดู API key ที่มีอยู่ของคุณหรือขอ API key ใหม่
คุณสมบัติและความสามารถ
คุณสมบัติหลัก
Bank Book OCR API ให้ความสามารถที่แข็งแกร่งในการดึงและจดจำข้อมูลสำคัญจากรูปภาพสมุดบัญชีธนาคาร ด้านล่างนี้คือภาพรวมของคุณสมบัติต่างๆ
ความสามารถหลัก
- การจดจำชื่อธนาคาร: ดึงชื่อเต็มของธนาคาร รวมถึงตัวย่อและรหัส
- การจดจำเลขที่บัญชี: ตรวจจับและดึงเลขที่บัญชีธนาคารได้อย่างแม่นยำ
- การจดจำชื่อบัญชี: ดึงชื่อของผู้ถือบัญชี
- การจดจำสาขาธนาคาร: ระบุชื่อสาขาที่เกี่ยวข้องกับบัญชีธนาคาร
- การตรวจจับลายเซ็น: จดจำการมีอยู่ของลายเซ็นบนเอกสาร
- การให้คะแนนความมั่นใจ: ให้เปอร์เซ็นต์ระดับความมั่นใจสำหรับแต่ละฟิลด์ที่จดจำได้
ธนาคารที่รองรับ
API รองรับธนาคารยอดนิยมหลายแห่งในประเทศไทย:
- SCB (ธนาคารไทยพาณิชย์)
- ธนาคารกรุงเทพ
- ธนาคารกรุงไทย
- ธนาคารกสิกรไทย
- ธนาคารกรุงศรีอยุธยา
- ธนาคารทหารไทยธนชาต
ตัวอย่าง
คำขอ:
ตัวอย่างภาพ
curl --location 'https://api.iapp.co.th/book-bank-ocr/file' \
--header 'apikey: {{YOUR API KEY}}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
การตอบสนอง:
{
"bank_book_results": {
"accountType": "null",
"account_name": "XXXXX XXXXXXXคุณ",
"account_number": "90XXXXXX61",
"bank_branch": "มหาวิทยาลัยธรรมศาสตร์ ท่าพระจันทร์",
"bank_name": "กรุงเทพ (BBL)",
"file_name_bookbank": "1376070230-image3-o"
},
"confidence": "64.43",
"inference_time(s)": "0.478",
"message": "Success",
"reason_codes": {
"accountType": { "code": 1, "message": "Success" },
"account_name": { "code": 1, "message": "Success" },
"account_number": { "code": 1, "message": "Success" },
"bank_branch": { "code": 1, "message": "Success" },
"bank_name": { "code": 1, "message": "Success" },
"file_name_bookbank": { "code": 1, "message": "Success" },
"signature": { "code": 1, "message": "Success" }
},
"signature": "Detected",
"status": 200
}
ข้อมูลอ้างอิง API
จุดสิ้นสุด
POST
https://api.iapp.co.th/book-bank-ocr/file
พารามิเตอร์คำขอ
ส่วนหัว
คีย์ | จำเป็น | คำอธิบาย |
---|---|---|
apikey | ใช่ | API key ของคุณสำหรับการตรวจสอบสิทธิ์ |
เนื้อหา (Form-Data)
คีย์ | ชนิด | จำเป็น | คำอธิบาย |
---|---|---|---|
file | ไฟล์ | ใช่ | ไฟล์ที่จะอัปโหลดสำหรับ OCR ตรวจสอบให้แน่ใจว่าระบุเส้นทางไฟล์อย่างถูกต้อง |
พารามิเตอร์การตอบสนอง
วัตถุการตอบสนองหลัก
คีย์ | ชนิด | คำอธิบาย |
---|---|---|
bank_book_results | วัตถุ | ประกอบด้วยข้อมูลที่ดึงมาจากสมุดบัญชีธนาคาร |
confidence | สตริง | ระดับความมั่นใจของผลลัพธ์ OCR แสดงเป็นเปอร์เซ็นต์ |
inference_time(s) | สตริง | เวลาที่ใช้ในการประมวลผลคำขอ OCR เป็นวินาที |
message | สตริง | ข้อความสถานะของคำขอ (เช่น "Success") |
reason_codes | วัตถุ | รหัสเหตุผลโดยละเอียดสำหรับแต่ละฟิลด์ที่ดึงมา |
signature | สตริง | สถานะของการตรวจจับลายเซ็น (เช่น "Detected") |
status | จำนวนเต็ม | รหัสสถานะ HTTP ของการตอบสนอง (เช่น 200 สำหรับความสำเร็จ) |
วัตถุผลลัพธ์สมุดบัญชีธนาคาร
คีย์ | ชนิด | คำอธิบาย |
---|---|---|
accountType | สตริง | ชนิดของบัญชีธนาคาร (เช่น "Savings" หรือ "null" ถ้าไม่ทราบ) |
account_name | สตริง | ชื่อของผู้ถือบัญชี |
account_number | สตริง | เลขที่บัญชีธนาคาร |
bank_branch | สตริง | ชื่อสาขาธนาคาร |
bank_name | สตริง | ชื่อเต็มของธนาคาร รวมถึงตัวย่อและรหัส |
file_name_bookbank | สตริง | ชื่อไฟล์ของสมุดบัญชีธนาคารที่อัปโหลด |
วัตถุรหัสเหตุผล
แต่ละฟิลด์ในวัตถุ bank_book_results
มีรหัสเหตุผลที่เกี่ยวข้องซึ่งระบุความสำเร็จหรือความล้มเหลว
ฟิลด์ | คีย์ | ชนิด | คำอธิบาย |
---|---|---|---|
ชนิดบัญชี | accountType | วัตถุ | รหัสและข้อความสำหรับชนิดบัญชี |
ชื่อบัญชี | account_name | วัตถุ | รหัสและข้อความสำหรับชื่อบัญชี |
เลขที่บัญชี | account_number | วัตถุ | รหัสและข้อความสำหรับเลขที่บัญชี |
สาขาธนาคาร | bank_branch | วัตถุ | รหัสและข้อความสำหรับสาขาธนาคาร |
ชื่อธนาคาร | bank_name | วัตถุ | รหัสและข้อความสำหรับชื่อธนาคาร |
ชื่อไฟล์ | file_name_bookbank | วัตถุ | รหัสและข้อความสำหรับชื่อไฟล์ |
ลายเซ็น | signature | วัตถุ | รหัสและข้อความสำหรับการตรวจจับลายเซ็น |
ข้อความแสดงข้อผิดพลาดของ API
รหัสเหตุผล
รหัสสถานะ | ข้อความสถานะ | คำอธิบาย |
---|---|---|
1 | pass | มั่นใจในเนื้อหาที่อ่านได้ |
0 | manual check | ไม่มั่นใจในเนื้อหาที่อ่านได้ รอการตรวจสอบด้วยตนเอง |
รหัสเหตุผลลายเซ็น
รหัสสถานะ | ข้อความสถานะ |
---|---|
1 | ไม่พบลายเซ็น |
2 | เงา/พื้นหลัง |
3 | พบภาพหลายภาพ |
4 | อื่นๆ (ไม่ระบุ) |
ข้อความแสดงข้อผิดพลาดทั่วไปของ API
รหัสสถานะ | ข้อความสถานะ | คำอธิบาย |
---|---|---|
404 | REQUESTED_URL_NOT_FOUND | ไม่พบเส้นทาง API ในคำขอ |
413 | FILE_IS_TOO_LARGE: (มากกว่า 2 MB) | ขนาดไฟล์ใหญ่เกินไป |
416 | METHOD_NOT_ALLOWED | ชื่อวิธีการ (GET, POST) ใน URL ไม่ถูกต้อง |
427 | LONG_TIME_TO_PROCESS | เซิร์ฟเวอร์กำลังประมวลผลเป็นเวลานาน |
428 | LONG_TIME_TO_REQUEST | ไคลเอ็นต์กำลังรอคิวเป็นเวลานาน |
461 | NO_FILE_ATTACHED | ไม่มีไฟล์แนบ |
462 | ATTACH_ONE_IMAGE_AT_A_TIME | ภาพป้อนข้อมูลหลายภาพ |
560 | SERVER_IS_BUSY: (โปรดลองใหม่อีกครั้งในอีกไม่กี่วินาที) | เซิร์ฟเวอร์กำลังทำงานกับคำขอจำนวนมาก |
ตัวอย่างโค้ด
Python
import requests
url = "https://api.iapp.co.th/book-bank-ocr/file"
payload = {}
files=[
('file',('{YOUR UPLOADED FILE}',open('{YOUR UPLOADED FILE}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{{YOUR API KEY}}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
JavaScript
const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file", fs.createReadStream("{YOUR UPLOADED FILE}"))
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.iapp.co.th/book-bank-ocr/file",
headers: {
apikey: "{{YOUR API KEY}}",
...data.getHeaders(),
},
data: data,
}
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data))
})
.catch((error) => {
console.log(error)
})
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/book-bank-ocr/file',
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'=> new CURLFILE('{YOUR UPLOADED FILE}')),
CURLOPT_HTTPHEADER => array(
'apikey: {{YOUR API KEY}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swift
let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"type": "file"
]] as [[String: Any]]
let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body
var request = URLRequest(url: URL(string: "https://api.iapp.co.th/book-bank-ocr/file")!,timeoutInterval: Double.infinity)
request.addValue("{{YOUR API KEY}}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Kotlin
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/book-bank-ocr/file")
.post(body)
.addHeader("apikey", "{{YOUR API KEY}}")
.build()
val response = client.newCall(request).execute()
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/book-bank-ocr/file")
.method("POST", body)
.addHeader("apikey", "{{YOUR API KEY}}")
.build();
Response response = client.newCall(request).execute();
Dart
var headers = {
'apikey': '{{YOUR API KEY}}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/book-bank-ocr/file'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
ประวัติ
เวอร์ชัน 1.2
คาดว่าจะวางจำหน่ายภายในสิ้นเดือนพฤษภาคม
- เพิ่มความแม่นยำ
- การจดจำสาขาธนาคาร
- การจดจำชื่อบัญชี
เวอร์ชัน 1.1
วางจำหน่ายเมื่อวันที่ 20 เมษายน 2565
ความแม่นยำโดยรวม = 78%
- ความแม่นยำที่เพิ่มขึ้น:
- การจดจำ เลขที่บัญชี เพิ่มขึ้น 8% (เวอร์ชันเก่า: 88.84%, เวอร์ชันใหม่: 96.82%)
- การจดจำ ชื่อธนาคาร เพิ่มขึ้น 4% (เวอร์ชันเก่า: 94.87%, เวอร์ชันใหม่: 99.5%)
เวอร์ชัน 1.0
วางจำหน่ายเมื่อวันที่ 24 มีนาคม 2565
ความแม่นยำโดยรวม = 74.85%
- เวอร์ชันเริ่มต้นแรก
- ธนาคารที่รองรับ: SCB, ธนาคารกรุงเทพ, ธนาคารกรุงไทย, ธนาคารกสิกรไทย, ธนาคารกรุงศรีอยุธยา, ธนาคารทหารไทยธนชาต
- ฟิลด์ที่รองรับ: ชื่อธนาคาร, เลขที่บัญชี, ชื่อบัญชี, สาขาธนาคาร
ราคา
ชื่อบริการ AI API | IC ต่อคำขอ | On-Premise |
---|---|---|
Book Bank OCR with Signature Detection | 1.25 IC/Request | ติดต่อเรา |