Developer & AI API Reference

คู่มือการเชื่อมต่อ API สแกนเอกสารไทย

เชื่อมต่อระบบ OCR อัจฉริยะเข้ากับซอฟต์แวร์ของคุณ หรือให้ AI Agents (ChatGPT Custom Actions, Cursor, Claude) เรียกใช้งาน API ได้ในไม่กี่บรรทัด

ต้องการให้ AI / LLMs เข้ามาเรียนรู้ API ของเรา?

เรามีไฟล์มาตรฐาน /llms.txt และ /openapi.json พร้อมให้ ChatGPT Custom GPTs, Cursor หรือ LangChain อ่านได้ทันที

1. การยืนยันตัวตน (Authentication)

การเรียกใช้งาน API ทั้งหมดต้องแนบ **API Key** ใน HTTP Request Header ดังนี้:

X-API-Key: ocr_live_your_api_key_here

คุณสามารถสร้างและจัดการ API Key ได้ฟรีจากหน้า Dashboard หลังเข้าสู่ระบบ

POST/v1/ocr
multipart/form-data

ส่งรูปภาพสลิปธนาคาร ใบเสร็จรับเงิน หรือใบกำกับภาษี เพื่อให้ระบบอ่านข้อมูลเป็น JSON Structured Data

Request Parameters:

FieldTypeRequiredDescription
fileFileYesไฟล์ภาพ (.jpg, .png, .webp) ขนาดไม่เกิน 10MB
documentTypeStringNoauto (ค่าเริ่มต้น), transfer_slip, receipt, tax_invoice

ตัวอย่าง JSON Response (200 OK)

{
  "success": true,
  "requestId": "req_20260810_a1b2c3",
  "documentType": "transfer_slip",
  "confidence": 0.98,
  "processingMs": 380,
  "summary": {
    "amount": 1500.00,
    "currency": "THB",
    "date": "2026-08-07",
    "title": "บริษัท เอ บี ซี จำกัด"
  },
  "details": {
    "reference": "2026080712345678",
    "sender": {
      "name": "นาย สมชาย ใจดี",
      "bank": "KBANK"
    },
    "receiver": {
      "name": "บริษัท เอ บี ซี จำกัด",
      "bank": "SCB"
    }
  },
  "meta": {
    "documentType": "transfer_slip",
    "platform": "api",
    "source": "free_ocr",
    "confidence": 0.98,
    "processingMs": 380
  }
}
ตัวอย่างการเขียนโค้ด (Code Examples)
curl -X POST https://api.mothew.com/v1/ocr \
  -H "X-API-Key: ocr_live_your_api_key_here" \
  -F "file=@/path/to/slip.jpg" \
  -F "documentType=auto"
Outbound Webhook Delivery (ส่งข้อมูลเข้าเซิร์ฟเวอร์ของคุณอัตโนมัติ)

เมื่อคุณระบุ Webhook URL ในหน้า Dashboard > Settings ทุกครั้งที่คุณส่งสลิป/เอกสารผ่าน LINE Bot หรือ Web สแกนสำเร็จ ระบบจะยิง HTTP POST (JSON Payload) ไปยังเซิร์ฟเวอร์ของคุณทันทีโดยอัตโนมัติ พร้อมเซ็นลายเซ็น HMAC-SHA256 ไว้ที่ header X-mothewOCR-Signature (ตรวจสอบด้วย webhook_secret ของคุณเสมอ ก่อนเชื่อข้อมูลใน payload) และแนบ requestId ที่ตรงกับ request_id จริงในระบบเรา ใช้เป็น correlation key ได้อย่างปลอดภัย แม้มีหลายรายการส่งเข้ามาใกล้กันก็ไม่มีทางสับสนกัน:

// ตัวอย่างโค้ดฝั่งเซิร์ฟเวอร์ของคุณ (Node.js Express / Webhook Receiver) — ต้องตรวจลายเซ็นก่อนเชื่อข้อมูลเสมอ
const crypto = require('crypto');

// ต้องอ่าน body แบบ raw ก่อน parse เพื่อตรวจลายเซ็นให้ตรงกับที่เราส่งมาเป๊ะๆ
app.post('/api/ocr-webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-mothewocr-signature'];
  const expected = crypto
    .createHmac('sha256', process.env.MOTHEW_WEBHOOK_SECRET)
    .update(req.body)
    .digest('hex');

  if (signature !== expected) {
    return res.status(401).json({ error: 'invalid signature' });
  }

  const { event, requestId, summary, details } = JSON.parse(req.body);

  if (event === 'ocr.completed') {
    // ใช้ requestId เป็น correlation key เสมอ — ห้ามเดาว่า payload นี้เป็นของรายการไหน
    savePendingReceipt({ requestId, amount: summary.amount, sender: details.sender });
  }

  res.status(200).json({ received: true });
});