Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Submit Petty Cash Request

API สำหรับสร้างเอกสารคำขอเบิกเงินสดย่อยใหม่เข้าสู่ระบบ โดยเอกสารที่สร้างขึ้นจะเริ่มต้นด้วยสถานะรออนุมัติ (Pending) และยังไม่มีรายการค่าใช้จ่าย ต้องเรียก API Add Item เพื่อเพิ่มรายการค่าใช้จ่ายในขั้นตอนถัดไป

Endpoint

POST /api/v1/open-apis/petty-cash/submit

สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)

Request Body

Required Parameters

ParameterTypeRequiredDescriptionExample
employee_codestringYesรหัสพนักงานที่ต้องการสร้างเอกสาร"EMP001"
request_topicstringYesหัวข้อหรือชื่อภารกิจการเบิก"เบิกค่าที่พักออกตรวจงานต่างจังหวัด"
req_dtstringYesวันที่ยื่นคำขอ (YYYY-MM-DD)"2026-03-25"

Optional Parameters

ParameterTypeRequiredDescriptionExample
authorize_idstringNoID ของผู้ใช้ที่ทำรายการ (Base64) — แนะนำให้ส่ง ระบบใช้ผู้ใช้นี้ตรวจสิทธิ์ฝ่ายบุคคลตอนตรวจโควตา (ดู Notes) หากไม่ส่ง ผู้ทำรายการล่าสุดของเอกสารจะเป็นค่าว่าง"MjAyNTAzMDM1MUIwQTJDQ0JEOUM="
langstringNoภาษาของข้อความตอบกลับ: TH (ค่าเริ่มต้น) หรือ EN"EN"

Validation Rules

RuleDescription
Required Fieldsemployee_code, request_topic, req_dt ต้องไม่ว่าง
Date Formatreq_dt ต้องอยู่ในรูปแบบ YYYY-MM-DD เท่านั้น
Employeeemployee_code ต้องเป็นรหัสพนักงานที่มีอยู่ในระบบ

สถานะเอกสาร (petty_cash_type_lv)

ค่าสถานะที่พบใน response ของ API กลุ่มนี้ — เอกสารที่สร้างผ่าน API นี้จะมีสถานะ 01 เสมอ

ValueDescription (EN)คำอธิบาย
01Pendingรออนุมัติ
02Withdrawingกำลังตั้งเบิก (อนุมัติขั้นสุดท้ายแล้ว)
03Not Approvedไม่อนุมัติ
04Withdrewตั้งเบิกแล้ว
05Receivedได้รับเงินแล้ว
06Recheckตรวจสอบอีกครั้ง
07-11Manager Approvedหัวหน้าในสายอนุมัติอนุมัติแล้ว (07-10 ขั้นที่ 1-4, 11 หัวหน้าลำดับสุดท้ายอนุมัติแล้ว รอฝ่ายบุคคลอนุมัติ) — ดู Approve
12Approvedอนุมัติ (บันทึกเข้างวดเงินเดือน)

Response Format

Success Response

{ "code": 200, "message": "สร้างเอกสารเงินสดย่อยสำเร็จ", "payload": { "req_dt": "2026-03-25", "employee_id": "20240115B7C8D9E0F1A2", "employee_name": "นายสมชาย ใจดี", "employee_name_en": "Mr.Somchai Jaidee", "position_name": "เจ้าหน้าที่ฝ่ายขาย", "company_name": "บริษัท ตัวอย่าง จำกัด", "request_topic": "เบิกค่าเดินทางไปพบลูกค้า", "document_flow_lv": "01", "petty_cash_type_lv": "01", "approve_id": "2025030351B0A2CCBD9C", "petty_cash_id": "20251127D4573C421639" } }

Response Fields

FieldTypeNullableDescription
petty_cash_idstringNoรหัสเอกสารเบิกเงินสดย่อยที่ถูกสร้างขึ้น
employee_idstringNoID ของพนักงาน
employee_namestringNoชื่อพนักงานภาษาไทย (คำนำหน้า ชื่อ นามสกุล และชื่อเล่นในวงเล็บหากมี)
employee_name_enstringNoชื่อพนักงานภาษาอังกฤษ ในรูปแบบเดียวกัน
position_namestringNoตำแหน่งพนักงาน
company_namestringNoชื่อบริษัท
request_topicstringNoหัวข้อการเบิกที่บันทึกไว้
document_flow_lvstringNoขั้นตอนของเอกสาร — เอกสารใหม่เป็น 01
petty_cash_type_lvstringNoสถานะเอกสาร (01 = Pending)
approve_idstringNoID ของผู้ใช้ที่ทำรายการ (ค่าจาก authorize_id) — เป็นค่าว่างหากไม่ได้ส่ง authorize_id
req_dtstringNoวันที่ยื่นคำขอ

Error Response

ข้อมูลไม่ผ่านการตรวจสอบ (422)

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": ["'request_topic' is required"] }
ข้อความใน errorsสาเหตุ
'<parameter>' is requiredไม่ได้ส่ง parameter บังคับ เช่น 'req_dt' is required
'req_dt' must be YYYY-MM-DDreq_dt ไม่อยู่ในรูปแบบ YYYY-MM-DD

ไม่สามารถสร้างเอกสารได้ (400)

{ "code": 400, "message": "ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาการขอเอกสาร" }
ข้อความใน messageสาเหตุ
ไม่พบข้อมูลพนักงานไม่พบพนักงานตาม employee_code
ไม่สามารถขอเอกสารได้ เนื่องจากเกินจำนวนโควตาการขอเอกสารพนักงานมีเอกสารครบจำนวนที่องค์กรกำหนดในรอบเงินเดือนของ req_dt แล้ว
HTTP StatusDescription
400ไม่พบพนักงาน หรือเกินโควตาการขอเอกสาร
403API Key ไม่มีสิทธิ์ document:manage
422ข้อมูลไม่ครบหรือรูปแบบไม่ถูกต้อง

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/petty-cash/submit" \ -H "Content-Type: application/json" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -d '{ "employee_code": "EMP001", "request_topic": "เบิกค่าเดินทางไปพบลูกค้า", "req_dt": "2026-03-25", "authorize_id": "MjAyNTAzMDM1MUIwQTJDQ0JEOUM=" }'

Notes

เมื่อสร้างเอกสารด้วย API นี้แล้ว เอกสารจะยังไม่มีมูลค่าเงินรวม ต้องเรียก API Add Item เพื่อเพิ่มรายการค่าใช้จ่าย

ค่า req_dt สัมพันธ์กับรอบโควตา Petty Cash หากบริษัทมีการจำกัดจำนวนครั้งในการเบิก หากพนักงานเบิกเกินจำนวนครั้งที่กำหนดในรอบเดือน ระบบจะไม่อนุญาตให้สร้างเอกสาร — ระบบไม่ตรวจโควตานี้เมื่อผู้ใช้ตาม authorize_id (หรือผู้ใช้ที่ผูกกับ API Key หากไม่ส่ง authorize_id) มีสิทธิ์ฝ่ายบุคคล/เงินเดือนหรือเป็นผู้ดูแลระบบ

เมื่อสร้างเอกสารสำเร็จ ระบบจะดำเนินการอัตโนมัติ:

  • แจ้งเตือน ไปยังหัวหน้าตามสายอนุมัติของพนักงาน หรือฝ่าย HR (เมื่อองค์กรตั้งค่าให้ฝ่ายบุคคลอนุมัติ หรือพนักงานไม่มีหัวหน้าในสายอนุมัติ) ตามการตั้งค่าการแจ้งเตือนเอกสารขององค์กร
  • บันทึกประวัติ การสร้างเอกสาร

ข้อความ message เป็นภาษาตาม parameter lang (ค่าเริ่มต้น TH) — API นี้ไม่ได้ใช้ language_code

พารามิเตอร์ที่ลงท้ายด้วย _id ต้องส่งเป็น Base64-encoded


  • Add Item - เพิ่มรายการค่าใช้จ่ายเข้าไปในเอกสาร
  • Get List - ตรวจสอบรายการเอกสารทั้งหมดของพนักงาน
  • Get Detail - ดูรายละเอียดเอกสาร
Last updated on