Ocriva Logo

Documents

Batch

อัปโหลดหลายไฟล์พร้อมกันและติดตามความคืบหน้าการประมวลผลแบบ Batch ผ่าน Open API

apiopenapibatchupload

Published: 3/31/2026

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:

HeaderValueRequired
X-API-Keyocr_your_api_keyYes
Content-Typemultipart/form-dataYes

Request Body (multipart/form-data):

FieldTypeRequiredDescription
filesFile[]Yesไฟล์ที่ต้องการอัปโหลด สูงสุด 50 ไฟล์ต่อ Request
projectIdstringYesID ของ Project เป้าหมาย
templateIdstringNoTemplate ที่ใช้กับทุกไฟล์ใน Batch
namestringNoชื่อ Batch ถ้าไม่ระบุจะสร้างชื่ออัตโนมัติ (เช่น Batch 2026-03-31)
metadatastringNoMetadata เพิ่มเติมในรูปแบบ 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:

StatusCause
400ไม่มีไฟล์แนบ หรือไม่มี projectId
401Token ไม่ถูกต้อง หรือ projectId ไม่ตรงกับ Scope ของ Token

รายการ Batch

GET /v1/openapi/batch

คืนรายการ Batch แบบ Paginated สำหรับ Project ที่ระบุ

Headers:

HeaderValueRequired
X-API-Keyocr_your_api_keyYes

Query Parameters:

ParameterTypeRequiredDescription
projectIdstringOrg token: YesID ของ Project เป้าหมาย
pagenumberNoหมายเลขหน้า (default: 1)
limitnumberNoจำนวน Item ต่อหน้า (default: 20)
statusstringNoกรองตามสถานะ: 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:

ParameterDescription
batchIdID ของ Batch

Headers:

HeaderValueRequired
X-API-Keyocr_your_api_keyYes

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:

StatusDescription
uploadingไฟล์กำลังอยู่ระหว่างอัปโหลด
processingไฟล์อยู่ในคิวหรือกำลังประมวลผล
completedไฟล์ทุกไฟล์ประมวลผลสำเร็จ
partially_failedบางไฟล์เสร็จสมบูรณ์ บางไฟล์ล้มเหลว
failedไฟล์ทุกไฟล์ประมวลผลล้มเหลว

Common Errors:

StatusCause
401Batch ไม่ได้อยู่ใน Organization ของ Token
404ไม่พบ Batch

Export ผลลัพธ์ Batch

GET /v1/openapi/batch/:batchId/export

ดาวน์โหลดผลลัพธ์การประมวลผลรวมของไฟล์ที่เสร็จสมบูรณ์ทั้งหมดใน Batch เป็นไฟล์เดียว เฉพาะไฟล์ที่มีสถานะ completed เท่านั้นที่รวมอยู่ใน Export

Path Parameters:

ParameterDescription
batchIdID ของ Batch

Headers:

HeaderValueRequired
X-API-Keyocr_your_api_keyYes

Query Parameters:

ParameterTypeRequiredDescription
formatstringYesรูปแบบ 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 ที่รองรับ:

FormatContent-TypeFile Extension
jsonapplication/json.json
csvtext/csv.csv
texttext/plain.txt
xmlapplication/xml.xml
pdfapplication/pdf.pdf
docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document.docx

Common Errors:

StatusCause
400ไม่มี Parameter format หรือไม่มีผลลัพธ์ที่เสร็จสมบูรณ์สำหรับ Export
401Batch ไม่ได้อยู่ใน Organization ของ Token
404ไม่พบ Batch