Skip to main content

💳 OCR ใบแจ้งยอดบัญชีบัตรเครดิตไทย

1 ICต่อหน้า
v3.0 เปิดใช้งาน ธันวาคม 2567 POST /v3/store/ocr/creditcard-statement

ยินดีต้อนรับสู่ API OCR ใบแจ้งยอดบัญชีบัตรเครดิตไทย โซลูชันที่ขับเคลื่อนด้วย AI พัฒนาโดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด สำหรับการแยกข้อมูลจากใบแจ้งยอดบัญชีบัตรเครดิตไทย เอกสารนี้จะช่วยคุณในการผสานรวมและใช้งานบริการ OCR ของเราอย่างมีประสิทธิภาพ

ลองใช้ Demo!

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

Example Images (Click to try)

Example 1
Try Demo

เริ่มต้นใช้งาน

  1. ข้อกำหนดเบื้องต้น

    • คีย์ API จาก ไอแอพพ์เทคโนโลยี
    • รูปภาพใบแจ้งยอดบัญชีบัตรเครดิตไทย
    • รูปแบบไฟล์ที่รองรับ: JPEG, JPG, PNG, HEIC, HEIF, PDF
    • ขนาดไฟล์สูงสุด: 10MB
  2. เริ่มต้นใช้งานอย่างรวดเร็ว

    • ประมวลผลรวดเร็ว (5-10 วินาทีต่อเอกสาร)
    • การแยกข้อความที่มีความแม่นยำสูง
    • รองรับรูปแบบไฟล์หลายรูปแบบ
  3. คุณสมบัติหลัก

    • การแยกข้อมูลโดยละเอียดรวมถึง:
      • รายละเอียดใบแจ้งยอด (ประเภท, วันที่, หมายเลขบัตร)
      • ข้อมูลผู้ถือบัตร (ชื่อ)
      • ข้อมูลธนาคาร (ชื่อ, ที่อยู่, เลขประจำตัวผู้เสียภาษี, ติดต่อ)
      • รายละเอียดธุรกรรม (วันที่, คำอธิบาย, จำนวนเงิน)
      • สรุปทางการเงิน (ยอดคงเหลือ, การชำระเงิน, รายการที่คิดค่าใช้จ่าย)
      • ข้อมูลคะแนนสะสม
    • รองรับเอกสารแบบหน้าเดียวและหลายหน้า (PDF)
    • ตัวเลือกในการส่งคืนข้อความ OCR ดั้งเดิมและรูปภาพที่ประมวลผลแล้ว
    • รูปแบบการตอบกลับ JSON ที่ยืดหยุ่นพร้อมการแยกฟิลด์โดยละเอียด
  4. ความปลอดภัยและการปฏิบัติตามข้อกำหนด

    • เป็นไปตาม GDPR และ PDPA
    • จุดเชื่อมต่อ API ที่ปลอดภัย
    • ไม่มีการเก็บข้อมูลหลังจากประมวลผล

ตัวอย่าง

นี่คือตัวอย่างใบแจ้งยอดบัญชีบัตรเครดิตและข้อมูลที่แยกออกมา:

ตัวอย่างใบแจ้งยอดบัญชีบัตรเครดิต

คำขอ:

cURL

curl -X POST "https://api.iapp.co.th/ocr/v3/creditcard-statement/file" \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/creditcard-statement.jpg" \
-F "return_image=false" \
-F "return_ocr=false"

จุดเชื่อมต่อ API

จุดเชื่อมต่อเมธอดคำอธิบายค่าใช้จ่าย
/v3/store/ocr/creditcard-statement
/ocr/v3/creditcard-statement
POSTแยกข้อมูลจากใบแจ้งยอดบัญชีบัตรเครดิตไทย1 IC ต่อหน้า

การตอบกลับ:

{
"message": "success",
"processed": {
"statementType": "ใบแจ้งยอดบัญชีบัตรเครดิต",
"statementDate": "31/12/2566",
"dueDate": "25/01/2567",
"cardNumber": "4711-XXXX-XXXX-1234",
"cardHolderName": "นาย ทดสอบ ระบบ",
"bankName": "ธนาคารกสิกรไทย จำกัด (มหาชน)",
"bankAddress": "1 ซอยราษฎร์บูรณะ 27/1 ถนนราษฎร์บูรณะ แขวงราษฎร์บูรณะ เขตราษฎร์บูรณะ กรุงเทพฯ 10140",
"bankTaxID": "0107536000315",
"bankPhone": "02-888-8888",
"bankFax": "02-888-8888",
"creditLimit": 100000.0,
"closingDate": "31/12/2566",
"newBalancePayment": 15789.4,
"minimumPaymentDue": 789.47,
"interestRate": 16.0,
"paymentByDebitAccountNo": "XXX-X-XX789-X",
"transactions": [
{
"transactionDate": "20/12",
"postingDate": "21/12",
"description": "CHOKCHAI STEAK HOUSE PATHUMTHANI THA",
"foreignAmount": null,
"foreignCurrencyCode": null,
"amountTHB": 1089.0
}
],
"payments_adjustment_others": [
{
"transactionDate": "31/12",
"postingDate": "31/12",
"description": "PAYMENT RECEIVED, THK YOU",
"foreignAmount": null,
"foreignCurrencyCode": null,
"amountTHB": -369.0
}
],
"previousBalance": 14789.4,
"thisPeriodBalance": 15789.4,
"totalPayments": 678.0,
"totalInterestCharges": 0.0,
"reward": {
"rewardAccumulatedPoints": 1234,
"rewardPointsEarned": 56,
"bonusPointsEarned": 0,
"pointsAdjustedThisMonth": 0,
"pointsRedeemed": 0,
"pointsOutstanding": 1290
},
"paymentBarcodeNo": "1234567890123456789"
},
"confidence": {
"statementType": 0.95,
"statementDate": 0.9,
"dueDate": 0.9,
"cardNumber": 0.95,
"cardHolderName": 0.95,
"bankName": 0.95,
"bankAddress": 0.95,
"bankTaxID": 0.95,
"bankPhone": 0.95,
"bankFax": 0.95,
"creditLimit": 0.95,
"closingDate": 0.95,
"newBalancePayment": 0.95,
"minimumPaymentDue": 0.95,
"interestRate": 0.95,
"paymentByDebitAccountNo": 0.95,
"transactions": 0.9,
"payments_adjustment_others": 0.9,
"previousBalance": 0.95,
"thisPeriodBalance": 0.95,
"totalPayments": 0.95,
"totalInterestCharges": 0.95,
"reward": 0.9,
"paymentBarcodeNo": 0.9
},
"process_ms": 6821
}

ฟีเจอร์และความสามารถ

คุณสมบัติหลัก

  1. การประมวลผลเอกสาร

    • การแยกข้อความและจดจำฟิลด์ที่มีความแม่นยำสูง
    • รองรับภาษาไทย
    • เวลาประมวลผลรวดเร็ว 5-10 วินาทีต่อเอกสาร
    • รองรับหลายรูปแบบ (JPEG, JPG, PNG, HEIC, HEIF, PDF)
    • จัดการเอกสารหลายหน้า
    • ตัวเลือกในการส่งคืนข้อความ OCR ดั้งเดิมและรูปภาพที่ประมวลผลแล้ว
    • การประมวลผลที่เป็นไปตาม GDPR และ PDPA
  2. การแยกข้อมูล

    • รูปแบบการตอบกลับ JSON ที่ยืดหยุ่นพร้อมการแยกฟิลด์โดยละเอียด

ฟิลด์ที่รองรับ

ฟิลด์ประเภทคำอธิบาย
statementTypeStringประเภทของใบแจ้งยอดบัญชีบัตรเครดิต
statementDateStringวันที่ของใบแจ้งยอด
dueDateStringวันครบกำหนดชำระ
cardNumberStringหมายเลขบัตรเครดิต
cardHolderNameStringชื่อผู้ถือบัตร
bankNameStringชื่อธนาคารผู้ออกบัตร
bankAddressStringที่อยู่ของธนาคารผู้ออกบัตร
bankTaxIDStringเลขประจำตัวผู้เสียภาษีของธนาคารผู้ออกบัตร
bankPhoneStringหมายเลขโทรศัพท์ของธนาคาร
bankFaxStringหมายเลขแฟกซ์ของธนาคาร
creditLimitNumberจำนวนวงเงินเครดิต
closingDateStringวันที่ปิดรอบบัญชีของใบแจ้งยอด
newBalancePaymentNumberยอดชำระใหม่
minimumPaymentDueNumberยอดชำระขั้นต่ำที่ต้องชำระ
interestRateNumberอัตราดอกเบี้ย (เป็นเปอร์เซ็นต์)
paymentByDebitAccountNoStringหมายเลขบัญชีเดบิตที่ผูกไว้
transactionsArrayรายการรายละเอียดธุรกรรม
payments_adjustment_othersArrayรายการรายละเอียดการชำระเงินและการปรับปรุง
previousBalanceNumberยอดคงเหลือจากใบแจ้งยอดก่อนหน้า
thisPeriodBalanceNumberยอดคงเหลือในรอบบิลปัจจุบัน
totalPaymentsNumberยอดชำระทั้งหมด
totalInterestChargesNumberดอกเบี้ยที่เรียกเก็บทั้งหมด
rewardObjectข้อมูลคะแนนสะสม
paymentBarcodeNoStringหมายเลขบาร์โค้ดสำหรับชำระเงิน
confidenceObjectคะแนนความมั่นใจ (0-1) สำหรับแต่ละฟิลด์ที่แยกได้ ค่าที่สูงขึ้นแสดงถึงความน่าเชื่อถือในการแยกที่มากขึ้น

หมายเหตุ: มูลค่าสกุลเงินทั้งหมดจะถูกปัดเศษทศนิยมสองตำแหน่ง

เอกสารอ้างอิง API

การรู้จำใบแจ้งยอดบัญชีบัตรเครดิต

มีจุดเชื่อมต่อสองจุดสำหรับการประมวลผลใบแจ้งยอดบัญชีบัตรเครดิต:

1. การอัปโหลดไฟล์

POST https://api.iapp.co.th/ocr/v3/creditcard-statement/file

ส่วนหัวคำขอ

ชื่อประเภทจำเป็นคำอธิบาย
apikeystringใช่คีย์ API ของคุณ

เนื้อหาคำขอ (multipart/form-data)

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
filefileใช่รูปภาพใบแจ้งยอด (JPEG, PNG) หรือเอกสาร PDF
return_imagebooleanไม่รวมรูปภาพที่เข้ารหัส base64 ในการตอบกลับ (ค่าเริ่มต้น: false)
return_ocrbooleanไม่รวมข้อความ OCR ดิบในการตอบกลับ (ค่าเริ่มต้น: false)

การจัดการข้อผิดพลาด

สถานะรหัสคำอธิบาย
400BAD_REQUESTพารามิเตอร์หรือรูปแบบไฟล์ไม่ถูกต้อง
401UNAUTHORIZEDคีย์ API ไม่ถูกต้องหรือไม่พบ
404NOT_FOUNDจุดเชื่อมต่อไม่ถูกต้อง
500INTERNAL_SERVER_ERRORการประมวลผลล้มเหลว

2. รูปภาพ Base64

POST https://api.iapp.co.th/ocr/v3/creditcard-statement/base64

ส่วนหัวคำขอ
ชื่อประเภทจำเป็นคำอธิบาย
apikeystringใช่คีย์ API ของคุณ
เนื้อหาคำขอ

คุณสามารถส่งข้อมูล base64 เป็น JSON หรือ form data ได้:

รูปแบบ JSON:

{
"base64_string": "string", // ข้อมูลรูปภาพที่เข้ารหัส Base64
"return_image": false, // ไม่บังคับ
"return_ocr": false // ไม่บังคับ
}

รูปแบบ Form Data:

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
base64_stringstringใช่ข้อมูลรูปภาพที่เข้ารหัส Base64
return_imagebooleanไม่รวมรูปภาพที่เข้ารหัส base64 ในการตอบกลับ (ค่าเริ่มต้น: false)
return_ocrbooleanไม่รวมข้อความ OCR ดิบในการตอบกลับ (ค่าเริ่มต้น: false)
รูปแบบการตอบกลับ

เหมือนกับจุดเชื่อมต่อการอัปโหลดไฟล์

ตัวอย่างโค้ด

Curl

curl -X POST https://api.iapp.co.th/v3/store/ocr/credit-card-statement \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"

Python (การอัปโหลดไฟล์)

import requests
apiKey = 'YOUR_API_KEY'
filePath = '/path/to/creditcard-statement.jpg'
url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/file"

headers = {'apikey': apiKey}
files = {'file': ('creditcard-statement.jpg', open(filePath, 'rb'), 'image/jpeg')}
data = {'return_image': 'false', 'return_ocr': 'false'}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

Python (Base64)

import requests
import base64

apiKey = 'YOUR_API_KEY'
filePath = '/path/to/creditcard-statement.jpg'
url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"

# อ่านไฟล์รูปภาพและแปลงเป็น base64
with open(filePath, 'rb') as image_file:
base64_string = base64.b64encode(image_file.read()).decode()

headers = {
'apikey': apiKey,
'Content-Type': 'application/json'
}

data = {
'base64_string': base64_string,
'return_image': False,
'return_ocr': False
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Javascript (การอัปโหลดไฟล์)

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")

const apiKey = "YOUR_API_KEY"
const filePath = "/path/to/creditcard-statement.jpg"
const url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/file"

const form = new FormData()
form.append("file", fs.createReadStream(filePath))
form.append("return_image", "false")
form.append("return_ocr", "false")

try {
const response = await axios.post(url, form, {
headers: {
...form.getHeaders(),
apikey: apiKey,
},
})
return response.data
} catch (error) {
throw error
}

Javascript (Base64)

const axios = require("axios")
const fs = require("fs")

const apiKey = "YOUR_API_KEY"
const filePath = "/path/to/creditcard-statement.jpg"
const url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"

// อ่านไฟล์รูปภาพและแปลงเป็น base64
const base64String = fs.readFileSync(filePath, { encoding: "base64" })

const data = {
base64_string: base64String,
return_image: false,
return_ocr: false,
}

try {
const response = await axios.post(url, data, {
headers: {
"Content-Type": "application/json",
apikey: apiKey,
},
})
return response.data
} catch (error) {
throw error
}

PHP (การอัปโหลดไฟล์)

$url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/creditcard-statement.jpg';

$headers = array(
'apikey: ' . $apiKey
);

$postFields = array(
'file' => new CURLFile($filePath),
'return_image' => 'false',
'return_ocr' => 'false'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

PHP (Base64)

$url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/base64';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/creditcard-statement.jpg';

// อ่านไฟล์รูปภาพและแปลงเป็น base64
$base64String = base64_encode(file_get_contents($filePath));

$data = array(
'base64_string' => $base64String,
'return_image' => false,
'return_ocr' => false
);

$headers = array(
'Content-Type: application/json',
'apikey: ' . $apiKey
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Swift (การอัปโหลดไฟล์)

import Foundation

let url = URL(string: "https://api.iapp.co.th/ocr/v3/creditcard-statement/file")!
let filePath = "/path/to/creditcard-statement.jpg"
let apiKey = "YOUR_API_KEY"

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue(apiKey, forHTTPHeaderField: "apikey")

let boundary = UUID().uuidString
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var body = Data()
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"file\"; filename=\"creditcard-statement.jpg\"\r\n".data(using: .utf8)!)
body.append("Content-Type: image/jpeg\r\n\r\n".data(using: .utf8)!)
body.append(try! Data(contentsOf: URL(fileURLWithPath: filePath)))
body.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_image\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_ocr\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)--\r\n".data(using: .utf8)!)

request.httpBody = body

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Swift (Base64)

import Foundation

let url = URL(string: "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64")!
let filePath = "/path/to/creditcard-statement.jpg"
let apiKey = "YOUR_API_KEY"

// อ่านไฟล์รูปภาพและแปลงเป็น base64
guard let imageData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
print("Error reading file")
return
}
let base64String = imageData.base64EncodedString()

let parameters: [String: Any] = [
"base64_string": base64String,
"return_image": false,
"return_ocr": false
]

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "apikey")
request.httpBody = try? JSONSerialization.data(withJSONObject: parameters)

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin (การอัปโหลดไฟล์)

import okhttp3.*
import java.io.File

val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/creditcard-statement.jpg"
val url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/file"

val file = File(filePath)
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, RequestBody.create(MediaType.parse("image/jpeg"), file))
.addFormDataPart("return_image", "false")
.addFormDataPart("return_ocr", "false")
.build()

val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("apikey", apiKey)
.build()

client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}

override fun onResponse(call: Call, response: Response) {
response.use {
if (!response.isSuccessful) throw IOException("Unexpected code $response")
println(response.body()?.string())
}
}
})

Kotlin (Base64)

import okhttp3.*
import java.io.File
import android.util.Base64
import org.json.JSONObject

fun processBase64Image() {
val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/creditcard-statement.jpg"
val url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"

// อ่านไฟล์และแปลงเป็น base64
val file = File(filePath)
val bytes = file.readBytes()
val base64String = Base64.encodeToString(bytes, Base64.DEFAULT)

val json = JSONObject()
json.put("base64_string", base64String)
json.put("return_image", false)
json.put("return_ocr", false)

val requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
)

val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.addHeader("apikey", apiKey)
.build()

client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}

override fun onResponse(call: Call, response: Response) {
response.use {
if (!response.isSuccessful) throw IOException("Unexpected code $response")
println(response.body()?.string())
}
}
})
}

Java (การอัปโหลดไฟล์)

import okhttp3.*;
import java.io.File;
import java.io.IOException;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();

String apiKey = "YOUR_API_KEY";
String url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/file";
String filePath = "/path/to/creditcard-statement.jpg";

File file = new File(filePath);
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/jpeg"), file))
.addFormDataPart("return_image", "false")
.addFormDataPart("return_ocr", "false")
.build();

Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("apikey", apiKey)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Call call, Response response) throws IOException {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
});
}
}

Java (Base64)

import okhttp3.*;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
import java.nio.file.Files;
import org.json.JSONObject;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();

String apiKey = "YOUR_API_KEY";
String url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64";
String filePath = "/path/to/creditcard-statement.jpg";

try {
// อ่านไฟล์และแปลงเป็น base64
byte[] fileContent = Files.readAllBytes(new File(filePath).toPath());
String base64String = Base64.getEncoder().encodeToString(fileContent);

JSONObject json = new JSONObject();
json.put("base64_string", base64String);
json.put("return_image", false);
json.put("return_ocr", false);

RequestBody requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
);

Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.addHeader("apikey", apiKey)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Call call, Response response) throws IOException {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}

Dart (การอัปโหลดไฟล์)

import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;

String url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/file';
String filePath = '/path/to/creditcard-statement.jpg';
String apiKey = 'YOUR_API_KEY';

void main() async {
var url = Uri.parse(url);
var request = http.MultipartRequest('POST', url)
..headers['apikey'] = apiKey
..files.add(await http.MultipartFile.fromPath('file', filePath))
..fields['return_image'] = 'false'
..fields['return_ocr'] = 'false';

var response = await request.send();

if (response.statusCode == 200) {
var responseData = await response.stream.bytesToString();
print(responseData);
} else {
print('Error: ${response.statusCode}');
}
}

Dart (Base64)

import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;

String url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/base64';
String filePath = '/path/to/creditcard-statement.jpg';
String apiKey = 'YOUR_API_KEY';

void main() async {
var url = Uri.parse(url);
var request = http.MultipartRequest('POST', url)
..headers['apikey'] = apiKey
..files.add(await http.MultipartFile.fromPath('file', filePath))
..fields['return_image'] = 'false'
..fields['return_ocr'] = 'false';

var response = await request.send();

if (response.statusCode == 200) {
var responseData = await response.stream.bytesToString();
print(responseData);
} else {
print('Error: ${response.statusCode}');
}
}

ข้อจำกัดและแนวทางปฏิบัติที่ดีที่สุด

ข้อจำกัด

  • ขนาดไฟล์สูงสุด: 10MB
  • ภาษาที่รองรับ: ไทย
  • ไฟล์ PDF: สูงสุด 10 หน้า
  • ขีดจำกัดอัตรา: 10 คำขอต่อวินาทีต่อคีย์ API

แนวทางปฏิบัติที่ดีที่สุด

  1. ตรวจสอบให้แน่ใจว่าคุณภาพของภาพดีเยี่ยมเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
  2. ใช้รูปแบบ JPEG หรือ PNG สำหรับรูปภาพ
  3. ใช้การจัดการข้อผิดพลาดสำหรับคำขอที่ล้มเหลว
  4. เก็บผลลัพธ์การตอบกลับไว้เมื่อประมวลผลเอกสารเดียวกันหลายครั้ง
  5. ตั้งค่าการหมดเวลาที่เหมาะสมสำหรับไฟล์ขนาดใหญ่

ความแม่นยำและประสิทธิภาพ

ความแม่นยำโดยรวม

จากชุดข้อมูลเกณฑ์มาตรฐานใบแจ้งยอดบัญชีบัตรเครดิตไทยของเรา (เอกสารใบแจ้งยอดบัญชีบัตรเครดิตไทยมากกว่า 1,000 ฉบับ):

ประเภทฟิลด์ความแม่นยำ (%)หมายเหตุ
หมายเลขบัตร99.5%ถูกปิดบังเพื่อความปลอดภัย
จำนวนเงิน99.8%มูลค่าสกุลเงินและยอดรวม
วันที่99.0%รูปแบบวันที่ไทยต่างๆ
ธุรกรรม98.5%คำอธิบายและจำนวนเงิน
โดยรวม99.2%ค่าเฉลี่ยถ่วงน้ำหนัก

ความเร็วในการประมวลผล

  • เวลาประมวลผลเฉลี่ย: 20-30 วินาที
  • เปอร์เซ็นไทล์ที่ 95: 45 วินาที
  • เวลาประมวลผลสูงสุด: 60 วินาที

ปัจจัยที่มีผลต่อความแม่นยำ

  1. คุณภาพของภาพ

    • ความละเอียด (แนะนำขั้นต่ำ 300 DPI)
    • สภาพแสง
    • โฟกัสและความคมชัดของภาพ
  2. สภาพของเอกสาร

    • ความเสียหายทางกายภาพ
    • การซีดจางหรือสึกหรอ
    • การแก้ไขด้วยลายมือ
  3. รูปแบบใบแจ้งยอด

    • รูปแบบมาตรฐาน: ความแม่นยำ 99%+
    • เลย์เอาต์ที่ไม่เป็นมาตรฐาน: ความแม่นยำ 95%+
    • ส่วนที่เป็นลายมือ: ความแม่นยำ 90%+

ประวัติ

โมเดลของเราได้รับการฝึกฝนอย่างต่อเนื่องด้วยข้อมูลใหม่ๆ เพื่อปรับปรุงความแม่นยำ:

เวอร์ชันวันที่เผยแพร่ความแม่นยำการปรับปรุงที่สำคัญ
3.02024-12-2799.2%เวอร์ชันพื้นฐาน

ราคา

ชื่อบริการ AI APIราคาOn-Premise
OCR ใบแจ้งยอดบัญชีบัตรเครดิตไทย1 IC/หน้าติดต่อ