เชื่อมต่อ n8n
เชื่อมต่อ Ocriva กับ n8n เครื่องมือ Workflow Automation แบบ Open Source เมื่อเอกสารถูกประมวลผล Ocriva จะส่ง HTTP POST ไปยัง Webhook Node ของ n8n เพื่อเรียกใช้ Automation ใด ๆ ที่คุณสร้างไว้ ตั้งแต่การเขียนข้อมูลลงฐานข้อมูล ไปจนถึงการเรียก API และการแจ้งเตือน Slack n8n สามารถ Self-host บน Infrastructure ของตัวเองหรือรันบน n8n.cloud ก็ได้
สิ่งที่ต้องเตรียม
- Instance n8n (Self-hosted ผ่าน Docker/npm หรือ n8n.cloud)
- Organization ใน Ocriva ที่มี Webhook Quota เหลืออยู่
หลักการทำงาน
Ocriva ใช้ HTTP Webhook มาตรฐาน เมื่อ Event เกิดขึ้น (เช่น document.processed) Ocriva จะส่ง JSON POST ไปยัง URL ที่คุณตั้งค่าไว้ Node แบบ Webhook ที่มีอยู่ใน n8n จะรับ Request นั้นและทำให้ JSON ที่แยกวิเคราะห์แล้วพร้อมใช้งานสำหรับ Node ปลายทางทุกตัวใน Workflow — ไม่ต้องติดตั้ง Plugin หรือเขียนโค้ดพิเศษเพื่อรับข้อมูล
ขั้นตอนที่ 1: สร้าง Webhook Node ใน n8n
- เปิด Instance n8n ของคุณและสร้าง Workflow ใหม่ (หรือเปิด Workflow ที่มีอยู่แล้ว)
- คลิก Add node แล้วค้นหา Webhook
- เพิ่ม Webhook Node ลงบน Canvas
- ในการตั้งค่า Node ให้ตั้ง HTTP Method เป็น
POST - ปล่อย Path ให้เป็นค่าที่สร้างขึ้นอัตโนมัติ (หรือตั้งชื่อที่สื่อความหมาย เช่น
ocriva-events) - สังเกต URL สองรายการที่แสดงที่ด้านล่างของแผง Node:
- Test URL — ใช้งานได้เฉพาะขณะที่คุณกำลังดู Node ในโหมด Test
- Production URL — ใช้งานได้เฉพาะเมื่อ Workflow ถูก Activate แล้ว (เปิดสวิตช์)
- คัดลอก Production URL — จะอยู่ในรูปแบบ:
https://your-n8n-instance.com/webhook/your-pathNOTE
Production URL สามารถเข้าถึงได้หลังจาก Activate Workflow ด้วยสวิตช์มุมบนขวาของหน้า Workflow Editor เท่านั้น Test URL มีประโยชน์ในช่วงพัฒนา แต่จะหยุดรับ Request เมื่อปิดแผง Node
ขั้นตอนที่ 2: ตั้งค่าใน Ocriva
- ในแดชบอร์ด Ocriva ไปที่ Integrations ในแถบด้านซ้าย
- ค้นหาการ์ด Template ของ n8n แล้วคลิก
- วาง Production URL จาก n8n Webhook Node ลงในช่อง URL
- ใต้ Events เลือก Event ที่ต้องการส่ง (ค่าเริ่มต้น:
document.processed) - ปล่อยช่อง Payload ว่างไว้เพื่อรับ JSON Body แบบดิบทั้งหมด — n8n แยกวิเคราะห์โดยอัตโนมัติ
- คลิก Create Endpoint
Endpoint จะเปิดใช้งานทันที Ocriva จะเริ่มส่ง Event ไปยัง Workflow n8n ของคุณทันทีที่มีการประมวลผลเอกสาร
ขั้นตอนที่ 3: สร้าง Workflow
เมื่อ Webhook Node พร้อมแล้ว ให้เพิ่ม Node ปลายทางเพื่อดำเนินการกับข้อมูล:
- คลิก Execute workflow ใน n8n เพื่อเปิด Webhook Node เข้าโหมดรอรับข้อมูล (Test URL เท่านั้น)
- ใช้ปุ่ม Send Test Event ใน Ocriva เพื่อส่ง Payload ตัวอย่างแบบ
document.processed - n8n จะแสดง JSON ที่ได้รับในแผงผลลัพธ์ของ Node — คุณสามารถตรวจสอบทุก Field ได้
- Pin ข้อมูล Test ไว้เพื่อให้สามารถสร้าง Workflow ต่อได้โดยไม่ต้องส่ง Event จริงซ้ำ
- เพิ่ม Node ปลายทาง (เขียนฐานข้อมูล, HTTP Request, Email, Slack ฯลฯ) แล้วเชื่อมต่อกัน
- เมื่อ Workflow พร้อมแล้ว คลิก Activate เพื่อเปิดใช้งาน Production URL
ตัวอย่าง Workflow
ดึงข้อมูลและบันทึก
บันทึกข้อมูลที่ AI ดึงได้ลงฐานข้อมูลหลังจากประมวลผลเอกสารทุกครั้ง
Nodes: Webhook → Code → PostgreSQL (หรือ MongoDB)
ใช้ Code Node ระหว่าง Webhook และ Database Node เพื่อปรับรูปแบบ Payload:
// Code node — runs in n8n's sandboxed JavaScript environment
const body = $input.first().json;
return [{
json: {
fileName: body.payload.fileName,
status: body.payload.status,
extractedData: body.payload.extractedData,
processedAt: body.timestamp,
}
}];ส่งผลลัพธ์ไปยัง PostgreSQL Node พร้อม Operation แบบ INSERT ที่ชี้ไปยังตาราง Documents ของคุณ
ตรวจสอบและแจ้งเตือน
ตรวจสอบค่า Confidence Score ของการดึงข้อมูล และส่งการแจ้งเตือน Slack หากต่ำกว่าระดับที่ยอมรับได้
Nodes: Webhook → IF → Slack
ตั้งค่าเงื่อนไขใน IF Node ดังนี้:
{{ $json.payload.confidence }} less than 0.8เชื่อม Branch true ไปยัง Slack Node ที่โพสต์ข้อความไปยัง Channel #ocriva-alerts ของคุณ เชื่อม Branch false ไปยัง No Operation Node (หรือปล่อยว่างก็ได้)
แปลงข้อมูลและส่งต่อ
ปรับรูปแบบข้อมูลที่ดึงได้และส่งต่อไปยัง API ภายในอีกตัว
Nodes: Webhook → Code → HTTP Request
ใช้ Code Node เพื่อกำหนด Mapping Field ของ Ocriva ให้ตรงกับรูปแบบที่ API ของคุณรับได้ จากนั้นใช้ HTTP Request Node ด้วย Method POST และ URL ของ API ปลายทางเพื่อส่ง Payload ที่แปลงแล้ว
ข้อควรพิจารณาสำหรับ Self-hosted
หากคุณรัน n8n บน Server ของตัวเอง ให้ตรวจสอบสิ่งต่อไปนี้ก่อน Activate Workflow:
- ต้องใช้ HTTPS — Ocriva ส่ง Webhook ไปยัง URL แบบ
https://เท่านั้น ใช้ Reverse Proxy เช่น nginx หรือ Caddy เพื่อจบการเชื่อมต่อ TLS ก่อนถึง n8n - ต้องเข้าถึงได้จากภายนอก — Server n8n ต้องเข้าถึงได้จากอินเทอร์เน็ต Ocriva ไม่สามารถส่ง Webhook ไปยัง
localhost,192.168.x.xหรือที่อยู่ใน Private Network ได้ - กฎ Firewall — อนุญาตการเชื่อมต่อ TCP ขาเข้าบน Port 443 (HTTPS) จาก Delivery Server ของ Ocriva
- DNS — ชี้ Domain หรือ Subdomain (เช่น
n8n.example.com) ไปยัง Public IP ของ Server และรวมไว้ใน TLS Certificate
WARNING
หาก Self-host n8n ให้แน่ใจว่า Webhook URL เข้าถึงได้จากอินเทอร์เน็ต Ocriva ไม่สามารถส่ง Webhook ไปยัง localhost หรือที่อยู่ใน Private Network ได้
เคล็ดลับ
- การจัดการ Error — เพิ่ม Error Trigger Node เป็น Workflow แยกต่างหากเพื่อดักจับและบันทึก Delivery Failure ฟีเจอร์ Built-in Error Workflow ของ n8n ช่วยให้คุณตอบสนองต่อความล้มเหลวของ Node ได้อัตโนมัติ
- Pin ข้อมูล Test — เมื่อได้รับ Payload จริงหรือ Payload ทดสอบหนึ่งรายการแล้ว ให้ Pin ข้อมูลใน Webhook Node เพื่อให้สามารถปรับแต่ง Node ปลายทางได้โดยไม่ต้องส่ง Event ใหม่จาก Ocriva
- Community Edition — n8n Community Edition (Self-hosted) ฟรีและไม่มีขีดจำกัดด้านจำนวน Node หรือ Workflow Cloud Edition ให้บริการแบบ Managed Hosting พร้อมแผน Free
- หลาย Event — สร้าง n8n Workflow แยกกัน (แต่ละ Workflow มี Webhook Node ของตัวเอง) สำหรับ Event Type ต่างกัน หากต้องการ Logic การประมวลผลแยกกันต่อ Event
