🚗 OCR สมุดทะเบียนรถยนต์
ยินดีต้อนรับสู่ Vehicle Registration Book OCR API ซึ่งเป็นส่วนหนึ่งของ iApp Any Documents OCR โดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด แยกข้อมูลยานพาหนะและข้อมูลความเป็นเจ้าของจากสมุดทะเบียนรถยนต์ของกรมการขนส่งทางบก (คู่มือจดทะเบียนรถ) รวมถึงรายการเจ้าของล่าสุด รองรับ PDF ที่สแกนและรูปถ่ ายของสมุดสีน้ำเงิน
ทดลองใช้ Demo!
ทดลองใช้ AI Demo
เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา
รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!
โปรโมชันหมดเขต 31 ธันวาคม 2568
เริ่มต้นใช้งาน
-
ข้อกำหนดเบื้องต้น
- คีย์ API จาก ไอแอพพ์เทคโนโลยี
- ไฟล์เอกสาร: สมุดทะเบียนรถยนต์ (เล่มทะเบียนรถ (คู่มือจดทะเบียนรถ))
- รูปแบบไฟล์ที่รองรับ: PDF, JPG, JPEG, PNG, WEBP
- ขนาดไฟล์สูงสุด: 50MB
-
เริ่มต้นใช้งานอย่างรวดเร็ว
POSTครั้งเดียวพร้อมmultipart/form-data- ผลลัพธ์เป็น JSON ที่มีโครงสร้าง พร้อมคะแนนความเชื่อมั่นต่อฟิลด์
- PDF หลายหน้าจะถูกรวมเป็นรายการ
docsเดียว
-
คุณสมบัติหลัก
- การแยกข้อมูลระดับฟิลด์พร้อมคะแนนความเชื่อมั่น
- ผลลัพธ์ภาษาไทยและอังกฤษผ่าน
target_lang - ข้อความ OCR ดิบ (raw OCR text) ที่เลือกได้ผ่าน
return_ocr - รองรับรูปถ่ายและ PDF ที่สแกน
-
ความปลอดภัยและการปฏิบัติตามข้อกำหนด
- เป็นไปตาม GDPR และ PDPA
- จุดเชื่อมต่อ API ที่ปลอดภัย
- ไม่มีการเก็บข้อมูลหลังการประมวลผล
กรุณาไปที่หน้า การจัดการ API Key เพื่อดู API Key ที่ มีอยู่ของคุณ หรือขอ API Key ใหม่
จุดเชื่อมต่อ API
| จุดเชื่อมต่อ | เมธอด | คำอธิบาย | ค่าบริการ |
|---|---|---|---|
/ocr/v3/vehicle-registration/file/v3/store/ocr/vehicle-registration | POST | แยกข้อมูลยานพาหนะและข้อมูลความเป็นเจ้าของจากสมุดทะเบียนรถยนต์ของไทย | 1 IC ต่อหน้า |
ทั้งสองรูปแบบมีความเหมือนกัน ไม่มีรูปแบบ base64 สำหรับจุดเชื่อมต่อนี้ – รองรับเฉพาะการอัปโหลดไฟล์เท่านั้น
คำขอ (Request)
ส่วนหัวของคำขอ (Request Headers)
| ส่วนหัว | ค่า | จำเป็น |
|---|---|---|
apikey | คีย์ API ของ iApp ของคุณ | ใช่ |
เนื้อหาของคำขอ (Request Body) (multipart/form-data)
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
file | ไฟล์ (สามารถซ้ำได้) | — | จำเป็น. ไฟล์เอกสาร. หน้า PDF จะถูกประมวลผลโดยอัตโนมัติ |
return_ocr | บูลีน | false | รวมข้อความ OCR ดิบในผลลัพธ์ |
target_lang | สตริง | th | ภาษาของค่าที่แยกได้: th หรือ en |
include_confidence | บูลีน | true | รวมคะแนนความเชื่อมั่นต่อฟิลด์ (0.00–1.00) |
cURL
curl -X POST "https://api.iapp.co.th/ocr/v3/vehicle-registration/file" \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/document.pdf" \
-F "target_lang=th" \
-F "include_confidence=true"
ผลลัพธ์ (Response)
{
"docs": [
{
"message": "success",
"raw": {},
"processed": {
"registration_date": "27 มิถุนา ยน 2562",
"license_plate": "1กข 1234",
"province": "กรุงเทพมหานคร",
"vehicle_type": "รถยนต์นั่งส่วนบุคคลไม่เกิน 7 คน",
"brand": "ISUZU",
"model": "mu-X",
"year": 2019,
"color": "ขาว",
"body_number": "MP1TFR85XKT000000",
"engine_number": "4JJ1XX0000",
"fuel_type": "ดีเซล",
"seating_capacity": 7,
"owner_name": "นายสมชาย ตัวอย่าง",
"owner_id": "1100000000001",
"owner_address": "123 ถนนพหลโยธิน แขวงจตุจักร เขตจตุจักร กรุงเทพมหานคร",
"occupant_name": null,
"occupant_id": null
},
"confidence": {
"registration_date": 0.95,
"license_plate": 0.95,
"province": 0.95,
"vehicle_type": 0.95,
"brand": 0.95,
"model": 0.95
},
"process_ms": 4120
}
],
"docs_count": 1,
"process_ms": 4300
}
ส่วนหัวการตอบกลับ iapp-input-pages จะรายงานจำนวนหน้าที่ถูกเรียกเก็บเงิน
ฟิลด์ที่รองรับ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| registration_date | String | วันที่จดทะเบียน |
| license_plate | String | หมายเลขป้ายทะเบียน |
| province | String | จังหวัดที่จดทะเบียน |
| vehicle_type | String | ประเภทรถยนต์ |
| brand | String | ยี่ห้อ เช่น ISUZU |
| model | String | รุ่น เช่น mu-X |
| year | Integer | ปีที่ผลิต (ค.ศ.) |
| color | String | สี |
| body_number | String | หมายเลขตัวถัง / แชสซี |
| engine_number | String | หมายเลขเครื่องยนต์ |
| fuel_type | String | ประเภทเชื้อเพลิง |
| seating_capacity | Integer | จำนวนที่นั่ง |
| owner_name | String | ชื่อเจ้าของที่จดทะเบียนล่าสุด |
| owner_id | String | หมายเลขบัตรประชาชน / หมายเลขประจำตัวนิติบุคคลของเจ้าของ |
| owner_address | String | ที่อยู่เจ้าของ |
| occupant_name | String | ชื่อผู้ครอบครอง (ถ้ามี) |
| occupant_id | String | หมายเลขบัตรประชาชน / หมายเลขประจำตัวนิติบุคคลของผู้ครอบครอง (ถ้ามี) |
การจัดการข้อผิดพลาด (Error Handling)
| สถานะ | ความหมาย |
|---|---|
| 400 | นามสกุลไฟล์ไม่รองรับ หรือไฟล์มีขนาดใหญ่เกิน 50MB |
| 401 | apikey ขาดหายไปหรือไม่ถูกต้อง |
| 402 | ยอดเครดิตไม่เพียงพอ |
| 404 | ประเภทเอกสารไม่รู้จักใน URL |
| 422 | ไม่มีการแนบไฟล์มาในคำขอ |
| 500 | ข้อผิดพลาดในการประมวลผล — ผลลัพธ์ประกอบด้วยรหัสข้อผิดพลาดเพื่อแจ้งฝ่ายสนับสนุน |
ตัวอย่างโค้ด (Code Examples)
Python
import requests
url = "https://api.iapp.co.th/ocr/v3/vehicle-registration/file"
headers = {"apikey": "YOUR_API_KEY"}
files = {"file": open("document.pdf", "rb")}
data = {"target_lang": "th", "include_confidence": "true"}
response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
print(result["docs"][0]["processed"])
print(result["docs"][0]["confidence"])
JavaScript
const form = new FormData();
form.append("file", fileInput.files[0]);
form.append("target_lang", "th");
form.append("include_confidence", "true");
const res = await fetch("https://api.iapp.co.th/ocr/v3/vehicle-registration/file", {
method: "POST",
headers: { apikey: "YOUR_API_KEY" },
body: form,
});
const result = await res.json();
console.log(result.docs[0].processed);
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.iapp.co.th/ocr/v3/vehicle-registration/file");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: YOUR_API_KEY"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
"file" => new CURLFile("/path/to/document.pdf"),
"target_lang" => "th",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Java
OkHttpClient client = new OkHttpClient();
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", "document.pdf",
RequestBody.create(new File("/path/to/document.pdf"),
MediaType.parse("application/pdf")))
.addFormDataPart("target_lang", "th")
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/ocr/v3/vehicle-registration/file")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
Swift
let url = URL(string: "https://api.iapp.co.th/ocr/v3/vehicle-registration/file")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
let boundary = UUID().uuidString
request.setValue("multipart/form-data; boundary=\(boundary)",
forHTTPHeaderField: "Content-Type")
var data = Data()
let fileData = try Data(contentsOf: URL(fileURLWithPath: "/path/to/document.pdf"))
data.append("--\(boundary)\r\n".data(using: .utf8)!)
data.append("Content-Disposition: form-data; name=\"file\"; filename=\"document.pdf\"\r\n\r\n".data(using: .utf8)!)
data.append(fileData)
data.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
URLSession.shared.uploadTask(with: request, from: data) { responseData, _, _ in
if let responseData, let json = String(data: responseData, encoding: .utf8) {
print(json)
}
}.resume()
Kotlin
val client = OkHttpClient()
val body = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"file", "document.pdf",
File("/path/to/document.pdf").asRequestBody("application/pdf".toMediaType())
)
.addFormDataPart("target_lang", "th")
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/ocr/v3/vehicle-registration/file")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
Dart
import 'package:http/http.dart' as http;
final request = http.MultipartRequest(
'POST',
Uri.parse('https://api.iapp.co.th/ocr/v3/vehicle-registration/file'),
);
request.headers['apikey'] = 'YOUR_API_KEY';
request.fields['target_lang'] = 'th';
request.files.add(
await http.MultipartFile.fromPath('file', '/path/to/document.pdf'),
);
final response = await request.send();
print(await response.stream.bytesToString());
ข้อจำกัดและแนวทางปฏิบัติที่ดีที่สุด
ข้อจำกัด
- ขนาดไฟล์สูงสุด 50MB ต่อคำขอ
- รูปแบบที่รองรับ: PDF, JPG, JPEG, PNG, WEBP
- ความแม่นยำขึ้นอยู่กับคุณภาพของรูปภาพ — สแกนที่เสื่อมสภาพมาก, แสงสะท้อน และลายมือที่เขียนทับค่าที่พิมพ์จะลดความแม่นยำของระดับฟิลด์
- การแยกข้อมูลจำกัดเฉพาะฟิลด์ที่ระบุไว้ข้างต้น
แนวทางปฏิบัติที่ดีที่สุด
- ใช้ PDF ต้นฉบับแทนรูปถ่ายหากคุณมี
- ถ่ายรูปเอกสารทั้งหมดในมุมตรงและมีแสงสม่ำเสมอ
- ใช้ความละเอียดอย่างน้อย 300 DPI สำหรับการสแกน
- ตรวจสอบคะแนน
confidenceต่อฟิลด์ และส่งค่าที่มีความเชื่อมั่นต่ำไปยังการตรวจสอบด้วยตนเอง - ส่งเอกสารหลายฉบับในคำขอเดียว (เมื่อรองรับ) เพื่อลดการส่งข้อมูลไปมา
ความแม่นยำและประสิทธิภาพ
ความแม่นยำในการแยกข้อมูลระดับฟิลด์วัดจากชุดประเมินผล ChindaOCR-M3 ภายใน — ป้ายกำกับที่ตรวจสอบด้วยสายตาอีกครั้งบนเอกสารจริงของไทย รวมถึงรูปถ่ายความละเอียดต่ำและใบแจ้งหนี้บางส่วนที่ถูกบดบังด้วยลายมือ
| ประ เภทเอกสาร | เอกสาร | ฟิลด์ | ความแม่นยำ |
|---|---|---|---|
| สมุดทะเบียนรถยนต์ | 2 | 13 | 92.3% |
| โดยรวม, ทั้งหกประเภทเอกสาร | 25 | 147 | 98.6% |
การสนับสนุน
ต้องการความช่วยเหลือ? ติดต่อเรา:
- อีเมล: sale@iapp.co.th
- โทรศัพท์: 086-322-5858
- Discord: iApp Technology