💳 OCR ใบแจ้งยอดบัญชีบัตรเครดิตไทย
ยินดีต้อนรั บสู่ API OCR ใบแจ้งยอดบัญชีบัตรเครดิตไทย โซลูชันที่ขับเคลื่อนด้วย AI พัฒนาโดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด สำหรับการแยกข้อมูลจากใบแจ้งยอดบัญชีบัตรเครดิตไทย เอกสารนี้จะช่วยคุณในการผสานรวมและใช้งานบริการ OCR ของเราอย่างมีประสิทธิภาพ
ลองใช้ Demo!
ทดลองใช้ AI Demo
เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา
รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!
โปรโมชันหมดเขต 31 ธันวาคม 2568
เริ่มต้นใช้งาน
-
ข้อกำหนดเบื้องต้น
- คีย์ API จาก ไอแอพพ์เทคโนโลยี
- รูปภาพใบแจ้งยอดบัญชีบัตรเครดิตไทย
- รูปแบบไฟล์ที่รองรับ: JPEG, JPG, PNG, HEIC, HEIF, PDF
- ขนาดไฟล์สูงสุด: 10MB
-
เริ่มต้นใช้งานอย่างรวดเร็ว
- ประมวลผลรวดเร็ว (5-10 วินาทีต่อเอกสาร)
- การแยกข้อความที่มีความแม่นยำสูง
- รองรับรูปแบบไฟล์หลายรูปแบบ
-
คุณสมบัติหลัก
- การแยกข้อมูลโดยละเอียดรวมถึง:
- รายละเอียดใบแจ้งยอด (ประเภท, วันที่, หมายเลขบัตร)
- ข้อมูลผู้ถือบัตร (ชื่อ)
- ข้อมูลธนาคาร (ชื่อ, ที่อยู่, เลขประจำตัวผู้เสียภาษี, ติดต่อ)
- รายละเอียดธุรกรรม (วันที่, คำอธิบาย, จำนวนเงิน)
- สรุปทางการเงิน (ยอดคงเหลือ, การชำระเงิน, รายการที่คิดค่าใช้จ่าย)
- ข้อมูลคะแนนสะสม
- รองรับเอกสารแบบหน้าเดียวและหลายหน้า (PDF)
- ตัวเลือกในการส่งคืนข้อความ OCR ดั้งเดิมและรูปภาพที่ประมวลผลแล้ว
- รูปแบบการตอบกลับ JSON ที่ยืดหยุ่นพร้อมการแยกฟิลด์โดยละเอียด
- การแยกข้อมูลโดยละเอียดรวมถึง:
-
ความปลอดภัยและการปฏิบัติตามข้อกำหนด
- เป็นไปตาม 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
}
ฟีเจอร์และความสามารถ
คุณสมบัติหลัก
-
การประมวลผลเอกสาร
- การแยกข้อความและจดจำฟิลด์ที่มีความแม่นยำสูง
- รองรับภาษาไทย
- เวลาประมวลผลรวดเร็ว 5-10 วินาทีต่อเอกสาร
- รองรับหลายรูปแบบ (JPEG, JPG, PNG, HEIC, HEIF, PDF)
- จัดการเอกสารหลายหน้า
- ตัวเลือกในการส่งคืนข้อความ OCR ดั้งเดิมและรูปภาพที่ประมวลผลแล้ว
- การประมวลผลที่เป็นไปตาม GDPR และ PDPA
-
การแยกข้อมูล
- รูปแบบการตอบกลับ JSON ที่ยืดหยุ่นพร้อมการแยกฟิลด์โดยละเอียด
ฟิลด์ที่รองรับ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| statementType | String | ประเภทของใบแจ้งยอดบัญชีบัตรเครดิต |
| statementDate | String | วันที่ของใบแจ้งยอด |
| dueDate | String | วันครบกำหนดชำระ |
| cardNumber | String | หมายเลขบัตรเครดิต |
| cardHolderName | String | ชื่อผู้ถือบัตร |
| bankName | String | ชื่อธนาคารผู้ออกบัตร |
| bankAddress | String | ที่อยู่ของธนาคารผู้ออกบัตร |
| bankTaxID | String | เลขประจำตัวผู้เสียภาษีของ ธนาคารผู้ออกบัตร |
| bankPhone | String | หมายเลขโทรศัพท์ของธนาคาร |
| bankFax | String | หมายเลขแฟกซ์ของธนาคาร |
| creditLimit | Number | จำนวนวงเงินเครดิต |
| closingDate | String | วันที่ปิดรอบบัญชีของใบแจ้งยอด |
| newBalancePayment | Number | ยอดชำระใหม่ |
| minimumPaymentDue | Number | ยอดชำระขั้นต่ำที่ต้องชำระ |
| interestRate | Number | อัตราดอกเบี้ย (เป็นเปอร์เซ็นต์) |
| paymentByDebitAccountNo | String | หมายเลขบัญชีเดบิตที่ผูกไว้ |
| transactions | Array | รายการรายละเอียดธุรกรรม |
| payments_adjustment_others | Array | รายการรายละเอียดการชำระเงินและการปรับปรุง |
| previousBalance | Number | ยอดคงเหลือจากใบแจ้งยอดก่อนหน้า |
| thisPeriodBalance | Number | ยอดคงเหลือในรอบบิลปัจจุบัน |
| totalPayments | Number | ยอดชำระทั้งหมด |
| totalInterestCharges | Number | ดอกเบี้ยที่เรียกเก็บทั้งหมด |
| reward | Object | ข้อมูลคะแนนสะสม |
| paymentBarcodeNo | String | หมายเลขบาร์โค้ดสำหรับชำระเงิน |
| confidence | Object | คะแนนความมั่นใจ (0-1) สำหรับแต่ละฟิลด์ที่แยกได้ ค่าที่สูงขึ้นแสดงถึงความน่าเชื่อถือในการแยกที่มากขึ้น |
หมายเหตุ: มูลค่าสกุลเงินทั้งหมดจะถูกปัดเศษทศนิยมสองตำแหน่ง
เอกสารอ้างอิง API
การรู้จำใบแจ้งยอดบัญชีบัตรเครดิต
มีจุดเชื่อมต่อสองจุดสำหรับการประมวลผลใบแจ้งยอดบัญชีบัตรเครดิต:
1. การอัปโหลดไฟล์
POST https://api.iapp.co.th/ocr/v3/creditcard-statement/file
ส่วนหัวคำขอ
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| apikey | string | ใช่ | คีย์ API ของคุณ |
เนื้อหาคำขอ (multipart/form-data)
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| file | file | ใช่ | รูปภาพใบแจ้งยอด (JPEG, PNG) หรือเอกสาร PDF |
| return_image | boolean | ไม่ | รวมรูปภาพที่เข้ารหัส base64 ในการตอบกลับ (ค่าเริ่มต้น: false) |
| return_ocr | boolean | ไม่ | รวมข้อความ OCR ดิบในการตอบกลับ (ค่าเริ่มต้น: false) |
การจัดการข้อผิดพลาด
| สถานะ | รหัส | คำอธิบาย |
|---|---|---|
| 400 | BAD_REQUEST | พารามิเตอร์หรือรูปแบบไฟล์ไม่ถูกต้อง |
| 401 | UNAUTHORIZED | คีย์ API ไม่ถูกต้องหรือไม่พบ |
| 404 | NOT_FOUND | จุดเชื่อมต่อไม่ถูกต้อง |
| 500 | INTERNAL_SERVER_ERROR | การประมวลผลล้มเหลว |
2. รูปภาพ Base64
POST https://api.iapp.co.th/ocr/v3/creditcard-statement/base64
ส่วนหัวคำขอ
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| apikey | string | ใช่ | คีย์ API ของคุณ |
เนื้อหาคำขอ
คุณสามารถส่งข้อมูล base64 เป็น JSON หรือ form data ได้:
รูปแบบ JSON:
{
"base64_string": "string", // ข้อมูลรูปภาพที่เข้ารหัส Base64
"return_image": false, // ไม่บังคับ
"return_ocr": false // ไม่บังคับ
}
รูปแบบ Form Data:
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| base64_string | string | ใช่ | ข้อมูลรูปภาพที่เข้ารหัส Base64 |
| return_image | boolean | ไม่ | รวมรูปภาพที่เข้ารหัส base64 ในการตอบกลับ (ค่าเริ่มต้น: false) |
| return_ocr | boolean | ไม่ | รวมข้อความ 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