API Reference · Key Extraction v3

Result

ดึงผลเมื่องานเป็น completed เท่านั้น ค่ากับหลักฐานแยกกัน: data ไม่มีพิกัด field_metadata มี status, confidence และ bbox

Get result

GEThttps://backend.aksonocr.com/api/v3/key-extract/jobs/{job_id}/result
HTTPความหมาย
200ผลพร้อมใช้
409result_not_ready — งานยังไม่ completed
410result_expired — เลย retention
404job_not_found

Response 200

json
{
"job_id": "ext_01JBY7...",
"client_reference": "invoice-2026-001",
"needs_review": true,
"data": {
"invoice_no": "IV-2026-001",
"vendor": { "name": "Example Co., Ltd.", "tax_id": "0105559999999" },
"line_items": [
{ "description": "A4 paper", "quantity": 2, "unit_price": 500.0, "amount": 1000.0 }
]
},
"field_metadata": {
"/invoice_no": {
"status": "verified",
"confidence": 0.98,
"regions": [
{ "page": 1, "bbox": [0.684, 0.072, 0.912, 0.104], "text": "IV-2026-001" }
]
},
"/line_items/0/amount": {
"status": "verified",
"confidence": 0.93,
"regions": [
{ "page": 1, "bbox": [0.811, 0.424, 0.928, 0.452], "text": "1,000.00" }
]
}
},
"pages": [
{
"page": 1,
"input_index": 0,
"page_in_input": 1,
"file_id": "file_01J9...",
"width": 1240,
"height": 1754
}
],
"validation": {
"missing_required": [],
"below_threshold": ["/payment_schedule/0/due_date"]
},
"warnings": [],
"usage": { "pages_processed": 1, "credits_micros": 0 },
"processor": {
"pipeline_version": "2026-09-03",
"ocr_version": "ppocr-th-v3",
"extractor_version": "key-extract-v3",
"confidence_version": "field-calibration-v1"
},
"request_id": "req_01J..."
}

ฟิลด์ระดับผล

ฟิลด์ชนิดรายละเอียด
dataobjectค่าตาม schema — missing scalar = null, ตารางว่าง = []
field_metadatamapคีย์เป็น JSON Pointer ที่ขึ้นต้นด้วย /
pagesarrayขนาดพิกเซลต่อหน้าสำหรับแปลง bbox
needs_reviewbooleantrue ถ้ามี required หายหรือต่ำกว่าเกณฑ์
validation.missing_requiredstring[]pointer ของฟิลด์ required ที่เป็น null
validation.below_thresholdstring[]pointer ที่ confidence < review_threshold
usage.credits_microsintegerเครดิตเป็นจำนวนเต็ม ไม่ใช้ float

JSON Pointer

ชนิดคีย์
สเกลาร์/invoice_no
ซ้อนใน object/vendor/tax_id
เซลล์ตาราง/line_items/0/amount
สมาชิกลิสต์สเกลาร์/reference_numbers/2

มี metadata เฉพาะใบ ไม่มีรายการรวมทั้งตารางหรือทั้งแถว ทุกใบใน data มี entry เสมอ ถ้าไม่พบค่า: status: "not_found", confidence: null, regions: []

field_metadata entry

ฟิลด์ชนิดรายละเอียด
statusenumverified | inferred | needs_review | not_found
confidencenumber | null0–1 คาลิเบรตแล้ว ไม่ใช่ raw OCR score
regionsarrayว่างเมื่อ evidence=none หรือ not_found
regions[].pageintegerหน้าเอกสารรวม เริ่มที่ 1
regions[].bboxnumber[4]ดูด้านล่าง
regions[].textstring?ข้อความต้นทางของกรอบนั้น

Bounding box contract

รูปแบบเดียว

[x_min, y_min, x_max, y_max] · float ช่วง 0–1 · มุมบนซ้ายของหน้าต้นฉบับ หลังหมุนตาม EXIF/PDF ก่อน deskew/crop ภายใน
กติการายละเอียด
หลาย regionฟิลด์หนึ่งมีได้หลายกรอบ รวมคนละหน้า
แปลงเป็นพิกเซลx * pages[i].width, y * pages[i].height
evidence=noneregions เป็น [] เสมอ แต่ status/confidence ยังมี
ที่มาจากเรขาคณิต OCR/layout ที่ยืนยันกับ span — โมเดลห้าม invent พิกัด
javascript
function toPixels(bbox, width, height) {
const [x1, y1, x2, y2] = bbox;
return {
x: x1 * width,
y: y1 * height,
width: (x2 - x1) * width,
height: (y2 - y1) * height,
};
}
const meta = result.field_metadata["/invoice_no"];
const page = result.pages.find((p) => p.page === meta.regions[0].page);
const box = toPixels(meta.regions[0].bbox, page.width, page.height);

status ของฟิลด์

statusความหมาย
verifiedค่ายึดกับ region ต้นทางอย่างน้อยหนึ่งจุด
inferredอนุมานจากบริบท ไม่คาดหวัง span ตรงตัว
needs_reviewมีค่าแต่คะแนนหรือ grounding คลุมเครือ
not_foundไม่พบ — data ของฟิลด์นั้นเป็น null

สถานะที่ไม่รู้จักในอนาคตให้ถือเสมือน needs_review

ตัวอย่าง overlay และสูตรสำเร็จอยู่ที่ คู่มือ · การดึงผลลัพธ์