Ocriva Logo

Documents

การประมวลผลแบบ Batch

อัปโหลดและประมวลผลเอกสารหลายไฟล์พร้อมกันด้วย Batch

batchuploadprocessingbulk

Published: 4/1/2026

การประมวลผลแบบ Batch

Batch Processing คืออะไร

Batch Processing ช่วยให้คุณอัปโหลดและประมวลผลไฟล์ได้สูงสุด 50 ไฟล์ในคำสั่งเดียว ไฟล์ทุกไฟล์ใน Batch จะใช้ Template และ Project เดียวกัน ทำให้ AI ดึงข้อมูลได้อย่างสม่ำเสมอในทุกเอกสาร คุณสามารถติดตามความคืบหน้าของกลุ่มทั้งหมดเป็นหน่วยเดียว จากนั้นส่งออกผลลัพธ์รวมในรูปแบบที่ต้องการ

ประโยชน์หลัก:

  • อัปโหลดได้สูงสุด 50 ไฟล์ในคำสั่งเดียว แทนการอัปโหลดทีละไฟล์
  • ไฟล์ทุกไฟล์ใช้ Template เดียวกัน เพื่อให้ได้ผลลัพธ์ที่สม่ำเสมอ
  • ติดตามความคืบหน้าทั้งกลุ่มผ่าน Progress bar เดียว
  • ส่งออกผลลัพธ์รวม (JSON, CSV, PDF, DOCX, XML, HTML, Text)
  • กรอง Processing History ตาม Batch เพื่อค้นหาได้ง่าย

NOTE

Credits ถูกหักต่อไฟล์ ไม่ใช่ต่อ Batch หนึ่ง Batch ที่มี 50 ไฟล์จะใช้ 50 Credits ตรวจสอบยอด Credits ขององค์กรก่อนส่ง Batch ขนาดใหญ่


การอัปโหลด Batch

ผ่าน Web Interface

  1. ไปที่หน้า Upload
  2. เลือก Template และ Project
  3. ลากและวางไฟล์หลายไฟล์ลงในพื้นที่อัปโหลด (สูงสุด 50 ไฟล์)
  4. ใส่ ชื่อ Batch (ไม่บังคับ) เช่น "ใบแจ้งหนี้มีนาคม 2569"
  5. คลิก Upload Batch
  6. ติดตามความคืบหน้าที่ Processing History

TIP

ตั้งชื่อ Batch ให้สื่อความหมาย เช่น "Invoice Batch March 2026" หรือ "ใบเสร็จ Q1 2569" เพื่อให้ค้นหาและกรองใน Processing History ได้ง่าย

ผ่าน API

ส่งคำขอ multipart/form-data แบบ POST พร้อมไฟล์และข้อมูลทั้งหมดในคำขอเดียว:

curl -X POST https://api.ocriva.com/batch/YOUR_ORG_ID/upload \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "files=@invoice1.pdf" \
  -F "files=@invoice2.pdf" \
  -F "files=@invoice3.pdf" \
  -F "projectId=YOUR_PROJECT_ID" \
  -F "templateId=YOUR_TEMPLATE_ID" \
  -F "name=March 2026 Invoices"

Response:

{
  "id": "batch_abc123",
  "name": "March 2026 Invoices",
  "totalFiles": 3,
  "completedFiles": 0,
  "failedFiles": 0,
  "status": "processing",
  "progress": 0,
  "createdAt": "2026-03-31T09:00:00.000Z"
}

WARNING

อัปโหลดได้สูงสุด 50 ไฟล์ต่อ Batch คำขอที่มีไฟล์มากกว่า 50 ไฟล์จะถูกปฏิเสธด้วย 400 Bad Request หากมีเอกสารจำนวนมาก ให้แบ่งเป็น Batch ย่อย


วงจรสถานะของ Batch

Batch จะเปลี่ยนสถานะตามลำดับต่อไปนี้ตั้งแต่สร้างจนเสร็จสมบูรณ์:

สถานะคำอธิบาย
uploadingระบบกำลังรับและจัดเก็บไฟล์ ยังไม่ได้เข้าคิวประมวลผล AI
processingอัปโหลดไฟล์เสร็จแล้ว AI กำลังดึงข้อมูลจากเอกสารแต่ละไฟล์
completedประมวลผลไฟล์ทั้งหมดสำเร็จ ผลลัพธ์พร้อมสำหรับการส่งออก
partially_failedบางไฟล์สำเร็จและบางไฟล์ล้มเหลว ผลลัพธ์ของไฟล์ที่สำเร็จพร้อมใช้งาน ไฟล์ที่ล้มเหลวสามารถลองใหม่ทีละไฟล์
failedไฟล์ทั้งหมดใน Batch ล้มเหลว ไม่มีผลลัพธ์

IMPORTANT

ไฟล์ที่ล้มเหลวไม่หยุดการประมวลผลของไฟล์ที่เหลือ ระบบจะประมวลผลไฟล์ที่เหลือต่อไป และ Batch จะมีสถานะ partially_failed แทนที่จะเป็น failed ตราบที่มีไฟล์อย่างน้อยหนึ่งไฟล์สำเร็จ


การติดตามความคืบหน้า

แบบ Real-Time ผ่าน WebSocket

เชื่อมต่อกับ WebSocket service และรับฟังเหตุการณ์ batch_progress_updated Payload มีข้อมูลความคืบหน้าแบบ Live:

{
  "batchId": "batch_abc123",
  "totalFiles": 10,
  "completedFiles": 7,
  "failedFiles": 1,
  "progress": 80,
  "status": "processing"
}

เปอร์เซ็นต์ความคืบหน้าคำนวณดังนี้:

progress = (completedFiles + failedFiles) / totalFiles * 100

การ Polling ผ่าน API

หากไม่ได้ใช้ WebSocket สามารถ Poll endpoint รายละเอียด Batch ได้:

curl https://api.ocriva.com/batch/YOUR_ORG_ID/BATCH_ID \
  -H "Authorization: Bearer YOUR_TOKEN"

การแจ้งเตือนผ่าน Webhook

ตั้งค่า Webhook เพื่อรับการแจ้งเตือนแบบ Push สำหรับเหตุการณ์ Batch:

เหตุการณ์เงื่อนไขที่เกิด
batch.uploadedรับไฟล์ทั้งหมดและเข้าคิวเรียบร้อยแล้ว
batch.completedBatch มีสถานะ completed, partially_failed หรือ failed

ดูคำแนะนำการตั้งค่าที่ คู่มือ Webhooks


การส่งออกผลลัพธ์ Batch

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

รูปแบบที่รองรับ: JSON, CSV, PDF, DOCX, XML, HTML, Text

ผ่าน Web Interface

  1. เปิด Processing History
  2. กรองตาม Batch ที่ต้องการ
  3. คลิก dropdown Export ในแถว Batch
  4. เลือกรูปแบบที่ต้องการ

ผ่าน API

curl -O "https://api.ocriva.com/batch/YOUR_ORG_ID/BATCH_ID/export?format=csv" \
  -H "Authorization: Bearer YOUR_TOKEN"

เปลี่ยน csv เป็น json, pdf, docx, xml, html หรือ text ตามต้องการ


API Reference ของ Batch

MethodEndpointคำอธิบาย
POST/batch/:orgId/uploadอัปโหลด Batch ใหม่ (multipart form)
GET/batch/:orgIdแสดงรายการ Batch ทั้งหมดพร้อม Pagination และตัวกรองสถานะ
GET/batch/:orgId/:batchIdดูรายละเอียด Batch รวมถึงความคืบหน้า
GET/batch/:orgId/:batchId/exportส่งออกผลลัพธ์รวม (?format=json|csv|pdf|docx|xml|html|text)
DELETE/batch/:orgId/:batchIdลบ Batch แบบ Soft Delete

การยืนยันตัวตน: ทุก endpoint ต้องใช้ Bearer token (Authorization: Bearer YOUR_TOKEN)

Path parameters:

  • :orgId — ID ขององค์กร
  • :batchId — ID ของ Batch ที่ได้รับจาก endpoint อัปโหลด

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

  • ตั้งชื่อ Batch ให้สื่อความหมาย ใช้ชื่อเช่น "Invoice Batch March 2026" หรือ "ใบเสร็จ Q1 2569" เพื่อให้ค้นหาใน Processing History ได้ง่าย
  • ใช้ Template เดียวกันสำหรับไฟล์ทุกไฟล์ใน Batch การผสมประเภทเอกสารใน Batch เดียวกันจะทำให้ผลการดึงข้อมูลไม่สม่ำเสมอ
  • ตรวจสอบยอด Credits ก่อนส่ง Batch ขนาดใหญ่ Credits ถูกหักต่อไฟล์ หนึ่ง Batch ที่มี 50 ไฟล์ใช้ 50 Credits ทันทีเมื่ออัปโหลด
  • ตรวจสอบไฟล์ที่ล้มเหลวและลองใหม่ทีละไฟล์ หาก Batch มีสถานะ partially_failed ให้ดูไฟล์ที่ล้มเหลวใน Processing History และประมวลผลใหม่ทีละไฟล์
  • ใช้ Webhook สำหรับการทำงานอัตโนมัติ สมัครรับ batch.completed เพื่อเริ่มต้น Workflow ปลายทาง เช่น อัปเดตฐานข้อมูล ส่งการแจ้งเตือน หรือประมวลผลต่อ โดยไม่ต้อง Polling
  • ชื่อ Batch จะถูกสร้างอัตโนมัติหากไม่ระบุ หากไม่ส่งฟิลด์ name ระบบจะสร้างชื่อ "Batch YYYY-MM-DD HH:mm" โดยใช้เวลาอัปโหลด ควรระบุชื่อเสมอสำหรับ Workflow ในระบบ Production