สร้างไฟล์ RDX & PDF ยื่นกรมสรรพากร — ผ่าน HTTP
โคลนกระบวนการของ RDPrep 1.3.2 มาเป็น API: POST ข้อมูลภาษี → ได้ไฟล์ .rdx (เข้ารหัสพร้อมยื่น) หรือ .pdf (หน้าตาเหมือนแบบราชการ) กลับไป โดยไม่ต้องเปิดโปรแกรม RDPrep
รองรับ:
💡 ข้อมูลบน PDF กับข้อมูลใน RDX มาจากชุดเดียวกัน (
build()) — validate ครั้งเดียว ใช้ได้ทั้งสองแบบ📦 ข้อมูลใหญ่: RDX เป็นไฟล์เดียวเสมอ (ไม่จำกัดจำนวนราย) · PDF แบ่งเป็นหลาย lot อัตโนมัติเมื่อเกิน 99 หน้า (ภ.ง.ด.3/53 = 600 ราย/lot, ภ.ง.ด.1/1ก ≤99 หน้า/lot) — ขอแยกไฟล์ด้วย
?mode=separateAuthentication & Base URL
Base URL: · เวอร์ชัน API: /api/v1
ถ้าตั้ง ENV API_KEY ไว้ ทุกคำขอใต้ /api/v1/* (ยกเว้น /health) ต้องแนบเฮดเดอร์:
X-API-Key: <your key> # หรือ Authorization: Bearer <your key>
Quick start
ขอไฟล์ RDX (binary)
curl -X POST \ "$BASE/api/v1/forms/pnd3/rdx" \ -H "Content-Type: application/json" \ --data @pnd3.json \ -o output.rdx
ขอไฟล์ PDF
curl -X POST \ "$BASE/api/v1/forms/pnd1a/pdf" \ -H "Content-Type: application/json" \ --data @pnd1a.json \ -o output.pdf
รับเป็น JSON (base64) — เหมาะกับให้ CRM เก็บต่อ
POST /api/v1/forms/pnd53/rdx?format=json
→ 200 { "rdxFileName": "...-010000.rdx", "bytes": 1234, "rdxBase64": "UEsD...", "jsonForm": {...}, "jsonAttach": {...} }
Endpoints
| Method | Path | อธิบาย |
|---|---|---|
| GET | /health | สถานะ service + พร้อมสร้าง PDF ไหม |
| GET | /api/v1/forms | รายการแบบที่รองรับ |
| GET | /api/v1/forms/:form | สัญญา input ของแบบนั้น |
| POST | /api/v1/forms/:form/validate | ตรวจข้อมูล → 200 หรือ 422 พร้อมรายการ error |
| POST | /api/v1/forms/:form/rdx | สร้าง RDX (?format=json เพื่อรับ base64) |
| POST | /api/v1/forms/:form/pdf | สร้าง PDF (?part=form|attach|all, ?mode=separate = แยกไฟล์ตาม lot) |
| POST | /api/v1/annual/:form/(rdx|pdf|validate) | Alias เฉพาะแบบรายปี (pnd1a) |
:form = pnd1 · pnd1a · pnd3 · pnd53 (ไม่สนตัวพิมพ์)
Annual rule API (แบบรายปี — ภ.ง.ด.1ก)
POST
/api/v1/annual/pnd1a/rdx → ได้ .rdx กลับไปPOST
/api/v1/annual/pnd1a/pdf → ได้ .pdf กลับไปBody เหมือน /forms/pnd1a/* ทุกประการ (ไม่มี filing.month; แต่ละ record ต้องมี address)
โมเดล input (body)
{
"filer": { "id13", "branchType": "N|0", "branchNo", "name", "address": { ... } },
"filing": { "year": 2568, "month": 8, "filingNo": 1, "filingType": 0 },
"payees": [ ... ] // ภ.ง.ด.3 / 53 (ผู้รับเงิน + incomes[] 1-3 รายการ)
"records": [ ... ] // ภ.ง.ด.1 / 1ก (1 แถว = พนักงาน 1 คน ต่อ 1 ประเภทเงินได้)
}
การตอบกลับ error (422): { "error":"validation", "errors":[ { "row", "field", "message" } ] } — row=0 คือระดับผู้ยื่น/รอบยื่น
รายละเอียดแต่ละแบบ
Playground — ลองยิงจริง
ผลลัพธ์
— ยังไม่มีคำขอ —
CRM-RDX Service · โคลนจาก RDPrep 1.3.2 · สร้างเพื่อการเชื่อมต่อระบบภายในองค์กร