🤖 RFD Vehicle Request Service — AI Agent & API Reference

เอกสารคู่มือสำหรับ AI Agent (LLM Tool Calling / MCP / n8n / Webhook) และนักพัฒนาในการเรียกใช้ระบบสร้างเอกสาร “แบบ ๓ ใบขอใช้รถยนต์ส่วนกลาง” (.docx และ .pdf 2 หน้า) ของศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร กรมป่าไม้

🔗 หน้าฟอร์ม Web UI (+ Live Preview) | 📄 OpenAPI Schema (openapi.json) | 🧪 Swagger UI (/docs)

1. สรุป Base URL & Endpoints ทั้งหมด

เมื่อติดตั้งภายใต้ระบบ itservice ระบบจะอยู่ที่ Path /vehicle-request (หรือเรียกตรงที่ Port 8000 ของ Container):

Method Endpoint Path Operation ID คำอธิบายสำหรับ AI Agent
POST /vehicle-request/api/v1/documents create_vehicle_request_document แนะนำสำหรับ AI Agent / n8n: ส่ง JSON body เพื่อสร้างเอกสารและรับ JSON ที่มีทั้งลิงก์ดาวน์โหลด Word (download_url) และ PDF (pdf_download_url)
GET /vehicle-request/api/v1/generate generate_vehicle_request_by_url_params สร้างเอกสารผ่าน URL Query Parameters: เรียกผ่าน GET URL พร้อมพารามิเตอร์ รองรับทั้งคืนค่า JSON (format=json), ดาวน์โหลด Word (format=docx หรือ download=1) หรือดาวน์โหลด PDF ทันที (format=pdf)
GET /vehicle-request/api/v1/documents/{file_id} download_vehicle_request_document ดาวน์โหลดไฟล์ .docx จาก file_id (หรือส่ง ?format=pdf เพื่อดาวน์โหลดเป็น PDF)
GET /vehicle-request/api/v1/documents/{file_id}/pdf download_vehicle_request_pdf_document ดาวน์โหลดไฟล์ .pdf จาก file_id โดยตรง ไม่ต้องใช้ API Key
GET /vehicle-request/api/v1/options list_vehicle_request_options ดึงข้อมูล Master Data ทั้งหมด: ทะเบียนรถ (vehicles), พนักงานขับรถ (drivers), ผู้อนุมัติ (approvers), และรายชื่อเจ้าหน้าที่พร้อมตำแหน่ง (requesters)
GET /vehicle-request/ ui_form หน้าฟอร์ม Web UI สำหรับเจ้าหน้าที่ (รองรับการส่ง URL Query Parameters เพื่อ Pre-fill ข้อมูลลงในช่องกรอกอัตโนมัติ)

2. ตารางพารามิเตอร์ (JSON Fields & URL Query Parameters)

ชื่อพารามิเตอร์เหมือนกันทั้งหมดในทั้ง 3 ช่องทาง: (1) POST JSON Body, (2) GET /api/v1/generate URL Parameters, และ (3) GET /vehicle-request/?... Pre-fill Web UI

Parameter Name Type Required Default รายละเอียดและตัวอย่างค่าที่ถูกต้อง
requester_name string Required - ชื่อ-สกุลผู้ขอใช้รถ (รวมคำนำหน้า) เช่น นายประพันธ์พงษ์ คงศรีรอด
requester_position string Required - ตำแหน่งของผู้ขอใช้รถ เช่น นักวิชาการคอมพิวเตอร์ชำนาญการ
driver_name string Required - ชื่อ-สกุลผู้ขับขี่ (แสดงในช่องหมายเหตุท้ายหน้า 1) เช่น นายภาคิน กรณ์ธนกฤติ หรือ นายประพันธ์พงษ์ คงศรีรอด
license_plate string Required - หมายเลขทะเบียนรถพร้อมจังหวัด เช่น 2กย 9703 กทม. (กระบะ 4 ประตู) หรือ ฮฐ 9343 กทม. (รถตู้)
purpose string Required - วัตถุประสงค์การเดินทาง (ข้อความต่อจากคำว่า “เพื่อ”) เช่น เข้าร่วมประชุมสัมมนา “digital infrastructure for the future” โครงการจัดทำนโยบายส่งเสริมการลงทุนโครงสร้างพื้นฐานด้านดิจิทัลและอวกาศ
destination string Required - สถานที่ปลายทาง เช่น โรงแรมอัศวิน กรุงเทพ
depart_date string Required - วันที่ออกเดินทาง รูปแบบ YYYY-MM-DD หรือ DD/MM/YYYY (รองรับทั้งปี ค.ศ. และ พ.ศ. เช่น 2026-10-20 หรือ 20/10/2569)
depart_time string Optional "08:30" เวลาออกเดินทางแบบ 24 ชั่วโมง รูปแบบ HH:MM เช่น 08:30 (ระบบแปลงเป็น 08.30 น. อัตโนมัติ)
return_date string Optional เท่ากับ depart_date วันที่เดินทางกลับ รูปแบบ YYYY-MM-DD หรือ DD/MM/YYYY (ต้องไม่ก่อน depart_date)
return_until_finished boolean Optional false (POST) / true (GET) หากตั้งเป็น true ช่องเวลากลับจะพิมพ์คำว่า จนแล้วเสร็จ (แนะนำให้ใช้ true ตามมาตรฐานเอกสารจริง)
return_time string Conditional null เวลาเดินทางกลับ HH:MM เช่น 16:30 (จำเป็นต้องระบุก็ต่อเมื่อ return_until_finished=false)
passenger_count integer Optional 1 (POST) / 2 (GET) จำนวนคนนั่งในรถ (1–99 คน) เช่น 2
request_date string Optional วันนี้ (Asia/Bangkok) วันที่ทำเอกสารส่วนหัว รูปแบบ YYYY-MM-DD หรือ DD/MM/YYYY
approver_name string Optional null (เว้นเส้นประว่าง) ชื่อผู้อนุมัติในวงเล็บ (ตามแบบฟอร์มจริงจะเว้นว่างไว้ให้ผู้อนุมัติลงนามเอง ไม่ต้องส่งค่านี้หากไม่ต้องการพิมพ์ชื่อล่วงหน้า)
approver_title string Optional null (เว้นเส้นประว่าง) ตำแหน่งผู้อนุมัติ (เว้นว่างไว้ตามแบบฟอร์มจริง หรือระบุเมื่อต้องการพิมพ์ลงในไฟล์)
format / download string เฉพาะ GET format=json ใช้กับ GET /api/v1/generate เท่านั้น: ส่ง format=docx (หรือ download=1) เพื่อดาวน์โหลดไฟล์ Word, ส่ง format=pdf เพื่อดาวน์โหลดไฟล์ PDF ทันที, หรือ format=json เพื่อรับ JSON

3. วิธีที่ 1: เรียกด้วย POST JSON (สำหรับ AI Agent Tool Calling / n8n HTTP Request)

Request:

POST /vehicle-request/api/v1/documents HTTP/1.1
Content-Type: application/json

{
  "requester_name": "นายประพันธ์พงษ์ คงศรีรอด",
  "requester_position": "นักวิชาการคอมพิวเตอร์ชำนาญการ",
  "driver_name": "นายประพันธ์พงษ์ คงศรีรอด",
  "license_plate": "2กย 9703 กทม.",
  "purpose": "เข้าร่วมประชุมสัมมนา “digital infrastructure for the future” โครงการจัดทำนโยบายส่งเสริมการลงทุนโครงสร้างพื้นฐานด้านดิจิทัลและอวกาศ",
  "destination": "โรงแรมอัศวิน กรุงเทพ",
  "passenger_count": 2,
  "request_date": "2026-10-20",
  "depart_date": "2026-10-20",
  "depart_time": "08:30",
  "return_date": "2026-10-20",
  "return_until_finished": true
}

Response (201 Created):

{
  "file_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
  "filename": "ใบขอใช้รถยนต์ส่วนกลาง_20ตุลาคม2569_a1b2c3.docx",
  "pdf_filename": "ใบขอใช้รถยนต์ส่วนกลาง_20ตุลาคม2569_a1b2c3.pdf",
  "download_url": "https://itservice.forest.go.th/vehicle-request/api/v1/documents/a1b2c3d4e5f60718293a4b5c6d7e8f90",
  "pdf_download_url": "https://itservice.forest.go.th/vehicle-request/api/v1/documents/a1b2c3d4e5f60718293a4b5c6d7e8f90/pdf",
  "expires_at": "2026-11-11T16:00:00+07:00"
}

4. วิธีที่ 2: เรียกผ่าน URL Query Parameters (GET)

4.1 สร้างและดาวน์โหลดไฟล์ .docx ทันทีผ่านลิงก์เดียว (download=1 หรือ format=docx)

AI Agent สามารถประกอบ URL ด้านล่างแล้วส่งให้ผู้ใช้คลิกเพื่อดาวน์โหลดไฟล์ .docx ได้ทันทีโดยไม่ต้องใช้ POST:

GET /vehicle-request/api/v1/generate?requester_name=นายประพันธ์พงษ์%20คงศรีรอด&requester_position=นักวิชาการคอมพิวเตอร์ชำนาญการ&driver_name=นายประพันธ์พงษ์%20คงศรีรอด&license_plate=2กย%209703%20กทม.&purpose=เข้าร่วมประชุมสัมมนา&destination=โรงแรมอัศวิน%20กรุงเทพ&depart_date=2026-10-20&depart_time=08:30&passenger_count=2&return_until_finished=true&download=1

4.2 เปิดหน้าฟอร์ม Web UI พร้อมกรอกข้อมูลให้อัตโนมัติ (Pre-fill URL Parameters)

หากต้องการส่งลิงก์ให้เจ้าหน้าที่ตรวจสอบข้อมูลบนหน้าเว็บก่อนกดปุ่มดาวน์โหลด สามารถส่งพารามิเตอร์ชุดเดียวกันไปที่หน้าแรกของ Web UI ได้เลย:

GET /vehicle-request/?requester_name=นายประพันธ์พงษ์%20คงศรีรอด&requester_position=นักวิชาการคอมพิวเตอร์ชำนาญการ&driver_name=นายภาคิน%20กรณ์ธนกฤติ&license_plate=ฮฐ%209343%20กทม.&purpose=ไปราชการ&destination=จังหวัดนนทบุรี&depart_date=2026-11-08&depart_time=08:30&passenger_count=4&return_until_finished=true

5. ข้อมูลอ้างอิง Master Data ในระบบ (สำหรับ AI Agent ใช้จับคู่ชื่อและตำแหน่ง)

5.1 รถยนต์ส่วนกลาง (license_plate)

5.2 พนักงานขับรถ (driver_name)

5.3 ผู้อนุมัติ (approver_name & approver_title)

5.4 รายชื่อเจ้าหน้าที่และตำแหน่ง (requester_name → requester_position)

ชื่อ-สกุล (requester_name)ตำแหน่ง (requester_position)
นายประพันธ์พงษ์ คงศรีรอดนักวิชาการคอมพิวเตอร์ชำนาญการ
นางสาวกนกพรรณ สงเคราะห์ราษฎร์นักวิชาการคอมพิวเตอร์ชำนาญการ
นายปรัชญา บุญนามนักวิชาการคอมพิวเตอร์ปฏิบัติการ
นางสาวสพินนา อ่อนเพ็งผู้อำนวยการศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร
นางสาวณัฏฐิณี ปิ่นเนียมนักวิชาการคอมพิวเตอร์ชำนาญการ
นายทนงศักดิ์ มนตรีนักวิชาการคอมพิวเตอร์ชำนาญการ
นายวีร์ ศรีทิพโพธิ์นักวิชาการคอมพิวเตอร์ชำนาญการ
นายดำรงศักดิ์ ธนีบุญนักวิชาการคอมพิวเตอร์ชำนาญการ
นางสาวธนารีย์ ลาภวงศ์อนันต์นักจัดการงานทั่วไปปฏิบัติการ
นายพชร วรรณศุภนักวิชาการป่าไม้ปฏิบัติการ
นายวิบูลย์ชัย ปาสองห้องนักจัดการงานทั่วไป
นางสาวปรียานุช กิจสิทธิโชคนักจัดการงานทั่วไป
นายกิตติทัศน์ สุริยาเจ้าหน้าที่ระบบงานคอมพิวเตอร์
นางณภาภัช เจ๊กแป้นเจ้าหน้าที่วิเคราะห์นโยบายและแผน
นายถณธร เพลินมาลัยเจ้าพนักงานคอมพิวเตอร์
นางสาวณัฐกฤตา ธนัญกิจกุลเจ้าหน้าที่ธุรการ
นายณภัทร์ ดลเสถียรนักจัดการงานทั่วไป
นางสาวชนันเนตร์ ภูแผ่นนนาเจ้าพนักงานธุรการ
นายภาคิน กรณ์ธนกฤติเจ้าพนักงานคอมพิวเตอร์
นางสาวมนัญญา ลงสุวรรณเจ้าพนักงานธุรการ
นางสาวอัมพร ฉิมมณีเจ้าพนักงานธุรการ
ว่าที่ ร.ต.หญิง นฤทัย พอกพูนเจ้าพนักงานคอมพิวเตอร์
นายสมรส สีคำเจ้าพนักงานธุรการ
นางสาวธิติรัตน์ จิ๋วพรมเจ้าพนักงานธุรการ
นางสาวนวรัตน์ คะณาพนักงานจ้างเหมา
นายเอกรัตน์ คำพระยาเจ้าหน้าที่เครื่องคอมพิวเตอร์
นายชิษณุพงศ์ สวัสดิมิลินท์เจ้าหน้าที่เทคโนโลยีสารสนเทศ