Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Add Petty Cash Item

API สำหรับเพิ่มรายละเอียดค่าใช้จ่าย (เช่น ค่าเดินทาง, ค่าที่พัก, ค่าอุปกรณ์) เข้าไปในเอกสารเบิกเงินสดย่อยที่สร้างไว้แล้ว รองรับการระบุจำนวนเงิน หมวดหมู่การเบิก และการแนบไฟล์รูปภาพหลักฐาน (เช่น ใบเสร็จ)

Endpoint

POST /api/v1/open-apis/petty-cash/add-item

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

Request Body

ส่งแบบ multipart/form-data เมื่อต้องแนบไฟล์ (หากไม่แนบไฟล์ ส่งเป็น application/json ได้)

Required Parameters

ParameterTypeRequiredDescriptionExample
petty_cash_idstringYesรหัสเอกสารหลักที่จะเพิ่มรายการเข้าไป (Base64)"MjAyNTExMjdENDU3M0M0MjE2Mzk="
petty_cash_item_namestringYesชื่อรายการค่าใช้จ่าย"ค่าน้ำมันรถยนต์"
req_amtnumberYesจำนวนเงินที่เบิก ต้องเป็นตัวเลขมากกว่า 0500.00
petty_cash_type_idstringYesรหัสประเภทรายการ (Base64) ดูได้จาก API List Types"MjAyNjAzMDNBMUIyQzNENEU1RjY="

Optional Parameters

ParameterTypeRequiredDescriptionExample
authorize_idstringNoID ของผู้ใช้ที่ทำรายการ (Base64) — แนะนำให้ส่ง หากไม่ส่ง ผู้ทำรายการล่าสุดของเอกสารจะถูกบันทึกเป็นค่าว่าง"MjAyNTAzMDM1MUIwQTJDQ0JEOUM="
attach_filesfileNoไฟล์รูปภาพหลักฐาน — ส่งไฟล์เดียวด้วยชื่อ attach_files หรือหลายไฟล์ด้วย attach_files[] (ดูเงื่อนไขด้านล่าง)[Binary Data]
langstringNoภาษาของข้อความตอบกลับ: TH (ค่าเริ่มต้น) หรือ EN"EN"

เงื่อนไขไฟล์แนบ

เงื่อนไขรายละเอียด
ประเภทไฟล์รูปภาพ JPG/JPEG, PNG, GIF, WEBP และ HEIC/HEIF เท่านั้น — ระบบตรวจจากเนื้อหาไฟล์จริง ไม่ได้ดูแค่นามสกุล
ขนาดไฟล์ไม่เกิน 5MB ต่อไฟล์
จำนวนไฟล์ส่งได้หลายไฟล์ในคำขอเดียวด้วย attach_files[]
เมื่อไฟล์ไม่ผ่านระบบปฏิเสธคำขอทั้งหมดและไม่บันทึกรายการ โดยแจ้งชื่อไฟล์ที่ไม่ผ่านใน errors

ตัวอย่างการแนบหลายไฟล์:

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/petty-cash/add-item" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -F "petty_cash_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=" \ -F "petty_cash_item_name=ค่าที่พักโรงแรม" \ -F "req_amt=1200.00" \ -F "petty_cash_type_id=MjAyNjAzMDNBMUIyQzNENEU1RjY=" \ -F "attach_files[]=@/path/to/receipt-1.jpg" \ -F "attach_files[]=@/path/to/receipt-2.png"

Response Format

Success Response

{ "code": 200, "message": "เพิ่มรายการเงินสดย่อยสำเร็จ", "payload": { "petty_cash_id": "20251127D4573C421639", "petty_cash_item_name": "ค่าที่พักโรงแรม", "req_amt": 1200, "attach_file": "[\"...\"]", "petty_cash_type_id": "20260303A1B2C3D4E5F6", "petty_cash_item_id": "20260325A1B2C3D4E5F6" } }

Response Fields

FieldTypeNullableDescription
petty_cash_idstringNoรหัสเอกสารหลัก
petty_cash_item_namestringNoชื่อรายการค่าใช้จ่ายที่เพิ่ม
req_amtnumberNoจำนวนเงินที่เบิก
attach_filestringNoJSON string ของรายการไฟล์แนบที่บันทึก ("[]" ถ้าไม่มีไฟล์) — ใช้ Get Detail เพื่อดู URL สำหรับเปิดไฟล์
petty_cash_type_idstringNoรหัสประเภทรายการ
petty_cash_item_idstringNoรหัสรายการย่อยที่ถูกสร้างขึ้น

Error Response

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

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": ["'req_amt' must be greater than 0"] }

ไฟล์แนบไม่ผ่านเงื่อนไข (422)

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": ["receipt.pdf: รองรับเฉพาะไฟล์รูปภาพเท่านั้น (JPG, PNG, GIF, WEBP, HEIC)"] }
ข้อความใน errorsสาเหตุ
'<parameter>' is requiredไม่ได้ส่ง parameter บังคับ เช่น 'req_amt' is required
'req_amt' must be numericreq_amt ไม่ใช่ตัวเลข
'req_amt' must be greater than 0req_amt น้อยกว่าหรือเท่ากับ 0
<ชื่อไฟล์>: รองรับเฉพาะไฟล์รูปภาพเท่านั้น (JPG, PNG, GIF, WEBP, HEIC)ไฟล์ไม่ใช่รูปภาพประเภทที่รองรับ
<ชื่อไฟล์>: ขนาดไฟล์เกินกำหนด (สูงสุด 5MB ต่อไฟล์)ไฟล์มีขนาดเกิน 5MB
<ชื่อไฟล์>: เกิดข้อผิดพลาดในการอัปโหลดไฟล์ (อาจมี (code N) ต่อท้าย)ไฟล์อัปโหลดมาไม่สมบูรณ์
cannot add item to petty cash that is not in draft stateเอกสารไม่ได้อยู่ในสถานะ 01 (รออนุมัติ) จึงเพิ่มรายการไม่ได้

ไม่พบเอกสาร (404)

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

Code Examples

curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/petty-cash/add-item" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ -F "petty_cash_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=" \ -F "petty_cash_item_name=ค่าที่พักโรงแรม" \ -F "req_amt=1200.00" \ -F "petty_cash_type_id=MjAyNjAzMDNBMUIyQzNENEU1RjY=" \ -F "authorize_id=MjAyNTAzMDM1MUIwQTJDQ0JEOUM=" \ -F "attach_files=@/path/to/receipt.jpg"

Notes

  • เพิ่มรายการได้เฉพาะเอกสารที่มีสถานะ 01 (รออนุมัติ) เท่านั้น
  • รองรับไฟล์แนบเฉพาะรูปภาพ (JPG/JPEG, PNG, GIF, WEBP, HEIC/HEIF) ขนาดไม่เกิน 5MB ต่อไฟล์ ไฟล์ประเภทอื่น เช่น PDF จะถูกปฏิเสธ
  • ข้อความ message และข้อความเรื่องไฟล์แนบใน errors เป็นภาษาตาม parameter lang (ค่าเริ่มต้น TH) — API นี้ไม่ได้ใช้ language_code
  • การเพิ่มรายการอาจส่งแจ้งเตือนถึงผู้อนุมัติ หรือฝ่าย HR (เมื่อองค์กรตั้งค่าให้ฝ่ายบุคคลอนุมัติ หรือพนักงานไม่มีหัวหน้าในสายอนุมัติ) ตามการตั้งค่าการแจ้งเตือนเอกสารและสายอนุมัติขององค์กร

พารามิเตอร์ petty_cash_id, petty_cash_type_id และ authorize_id ต้องส่งเป็น Base64-encoded


  • Submit - สร้างเอกสารคำขอเบิกเงินสดย่อย
  • List Types - ดูรายการประเภทค่าใช้จ่าย
  • Delete Item - ลบรายการค่าใช้จ่าย
  • Get Detail - ดูรายละเอียดเอกสาร
Last updated on