Batch
Batch Endpoint ให้คุณอัปโหลดหลายไฟล์ใน Request เดียวและติดตามสถานะการประมวลผลรวม แต่ละ Batch รองรับไฟล์สูงสุด 50 ไฟล์ และมีมุมมองความคืบหน้าแบบรวม — แสดงจำนวนไฟล์ที่เสร็จสมบูรณ์, ล้มเหลว หรือยังอยู่ระหว่างประมวลผล
ข้อกำหนด Project ID: สำหรับ Organization Token ส่ง projectId เป็น Form Field (อัปโหลด) หรือ Query Parameter (ดูรายการ) สำหรับ Project Token ระบบอ่าน projectId จาก Token อัตโนมัติ
Batch Upload
POST /v1/openapi/batch/uploadอัปโหลดหลายไฟล์พร้อมกันและสร้าง Batch Record เพื่อติดตามการประมวลผล ไฟล์ทุกไฟล์ใน Batch จะถูกเข้าคิว OCR โดยใช้ Template เดียวกัน (หากระบุ)
Headers:
| Header | Value | Required |
|---|---|---|
X-API-Key | ocr_your_api_key | Yes |
Content-Type | multipart/form-data | Yes |
Request Body (multipart/form-data):
| Field | Type | Required | Description |
|---|---|---|---|
files | File[] | Yes | ไฟล์ที่ต้องการอัปโหลด สูงสุด 50 ไฟล์ต่อ Request |
projectId | string | Yes | ID ของ Project เป้าหมาย |
templateId | string | No | Template ที่ใช้กับทุกไฟล์ใน Batch |
name | string | No | ชื่อ Batch ถ้าไม่ระบุจะสร้างชื่ออัตโนมัติ (เช่น Batch 2026-03-31) |
metadata | string | No | Metadata เพิ่มเติมในรูปแบบ JSON String |
Example Request:
curl -X POST "https://api.ocriva.com/v1/openapi/batch/upload" \
-H "X-API-Key: ocr_your_api_key" \
-F "files=@/path/to/invoice-001.pdf" \
-F "files=@/path/to/invoice-002.pdf" \
-F "files=@/path/to/invoice-003.pdf" \
-F "projectId=68db4aa2967d9c03fa9b5e74" \
-F "templateId=68db4bb3a67e9c04fb0c6f85" \
-F "name=March 2026 Invoices"Example Response (201 Created):
{
"id": "68dd2ee6d89g1f27ge4c9h96",
"name": "March 2026 Invoices",
"projectId": "68db4aa2967d9c03fa9b5e74",
"organizationId": "68da2880b45d7a01d90a3c51",
"userId": "68da3991c56e8b02ea1b4d60",
"templateId": "68db4bb3a67e9c04fb0c6f85",
"templateName": "Invoice Template",
"totalFiles": 3,
"completedFiles": 0,
"failedFiles": 0,
"status": "processing",
"uploadIds": [
"68dd2ee6d89g1f27ge4c9h01",
"68dd2ee6d89g1f27ge4c9h02",
"68dd2ee6d89g1f27ge4c9h03"
],
"processingHistoryIds": [
"68dd2ff7e90h2g38hf5d0i07",
"68dd2ff7e90h2g38hf5d0i08",
"68dd2ff7e90h2g38hf5d0i09"
],
"progress": 0,
"createdAt": "2026-03-31T10:00:00.000Z",
"updatedAt": "2026-03-31T10:00:00.000Z"
}Common Errors:
| Status | Cause |
|---|---|
400 | ไม่มีไฟล์แนบ หรือไม่มี projectId |
401 | Token ไม่ถูกต้อง หรือ projectId ไม่ตรงกับ Scope ของ Token |
รายการ Batch
GET /v1/openapi/batchคืนรายการ Batch แบบ Paginated สำหรับ Project ที่ระบุ
Headers:
| Header | Value | Required |
|---|---|---|
X-API-Key | ocr_your_api_key | Yes |
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Org token: Yes | ID ของ Project เป้าหมาย |
page | number | No | หมายเลขหน้า (default: 1) |
limit | number | No | จำนวน Item ต่อหน้า (default: 20) |
status | string | No | กรองตามสถานะ: uploading, processing, completed, partially_failed, failed |
Example Request:
curl "https://api.ocriva.com/v1/openapi/batch?projectId=68db4aa2967d9c03fa9b5e74&status=completed&page=1&limit=20" \
-H "X-API-Key: ocr_your_api_key"Example Response (200 OK):
{
"data": [
{
"id": "68dd2ee6d89g1f27ge4c9h96",
"name": "March 2026 Invoices",
"projectId": "68db4aa2967d9c03fa9b5e74",
"organizationId": "68da2880b45d7a01d90a3c51",
"userId": "68da3991c56e8b02ea1b4d60",
"templateId": "68db4bb3a67e9c04fb0c6f85",
"templateName": "Invoice Template",
"totalFiles": 3,
"completedFiles": 3,
"failedFiles": 0,
"status": "completed",
"progress": 100,
"createdAt": "2026-03-31T10:00:00.000Z",
"updatedAt": "2026-03-31T10:02:30.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 8,
"pages": 1
}
}ดูรายละเอียด Batch
GET /v1/openapi/batch/:batchIdคืนรายละเอียดครบถ้วนของ Batch เดียว รวมถึงจำนวนไฟล์และเปอร์เซ็นต์ความคืบหน้าปัจจุบัน Poll Endpoint นี้เพื่อ Monitor การเสร็จสมบูรณ์ของ Batch
Field progress คำนวณจาก (completedFiles + failedFiles) / totalFiles * 100
Path Parameters:
| Parameter | Description |
|---|---|
batchId | ID ของ Batch |
Headers:
| Header | Value | Required |
|---|---|---|
X-API-Key | ocr_your_api_key | Yes |
Example Request:
curl "https://api.ocriva.com/v1/openapi/batch/68dd2ee6d89g1f27ge4c9h96" \
-H "X-API-Key: ocr_your_api_key"Example Response (200 OK):
{
"id": "68dd2ee6d89g1f27ge4c9h96",
"name": "March 2026 Invoices",
"projectId": "68db4aa2967d9c03fa9b5e74",
"organizationId": "68da2880b45d7a01d90a3c51",
"userId": "68da3991c56e8b02ea1b4d60",
"templateId": "68db4bb3a67e9c04fb0c6f85",
"templateName": "Invoice Template",
"totalFiles": 3,
"completedFiles": 2,
"failedFiles": 0,
"status": "processing",
"uploadIds": [
"68dd2ee6d89g1f27ge4c9h01",
"68dd2ee6d89g1f27ge4c9h02",
"68dd2ee6d89g1f27ge4c9h03"
],
"processingHistoryIds": [
"68dd2ff7e90h2g38hf5d0i07",
"68dd2ff7e90h2g38hf5d0i08",
"68dd2ff7e90h2g38hf5d0i09"
],
"progress": 66.67,
"createdAt": "2026-03-31T10:00:00.000Z",
"updatedAt": "2026-03-31T10:01:45.000Z"
}ค่าสถานะ Batch:
| Status | Description |
|---|---|
uploading | ไฟล์กำลังอยู่ระหว่างอัปโหลด |
processing | ไฟล์อยู่ในคิวหรือกำลังประมวลผล |
completed | ไฟล์ทุกไฟล์ประมวลผลสำเร็จ |
partially_failed | บางไฟล์เสร็จสมบูรณ์ บางไฟล์ล้มเหลว |
failed | ไฟล์ทุกไฟล์ประมวลผลล้มเหลว |
Common Errors:
| Status | Cause |
|---|---|
401 | Batch ไม่ได้อยู่ใน Organization ของ Token |
404 | ไม่พบ Batch |
Export ผลลัพธ์ Batch
GET /v1/openapi/batch/:batchId/exportดาวน์โหลดผลลัพธ์การประมวลผลรวมของไฟล์ที่เสร็จสมบูรณ์ทั้งหมดใน Batch เป็นไฟล์เดียว เฉพาะไฟล์ที่มีสถานะ completed เท่านั้นที่รวมอยู่ใน Export
Path Parameters:
| Parameter | Description |
|---|---|
batchId | ID ของ Batch |
Headers:
| Header | Value | Required |
|---|---|---|
X-API-Key | ocr_your_api_key | Yes |
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | Yes | รูปแบบ Export: json, csv, text, xml, pdf, docx |
Example Request:
# Export all results as a single CSV file
curl "https://api.ocriva.com/v1/openapi/batch/68dd2ee6d89g1f27ge4c9h96/export?format=csv" \
-H "X-API-Key: ocr_your_api_key" \
-o "march-2026-invoices.csv"Response เป็นการดาวน์โหลดไฟล์ โดยชื่อไฟล์จะถูกตั้งอัตโนมัติเป็น batch-{batchId}-export.{extension} ผ่าน Header Content-Disposition
รูปแบบ Export ที่รองรับ:
| Format | Content-Type | File Extension |
|---|---|---|
json | application/json | .json |
csv | text/csv | .csv |
text | text/plain | .txt |
xml | application/xml | .xml |
pdf | application/pdf | .pdf |
docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx |
Common Errors:
| Status | Cause |
|---|---|
400 | ไม่มี Parameter format หรือไม่มีผลลัพธ์ที่เสร็จสมบูรณ์สำหรับ Export |
401 | Batch ไม่ได้อยู่ใน Organization ของ Token |
404 | ไม่พบ Batch |
