Skip to Content
🚀 Welcome to Humansoft Open API Documentation

Get Petty Cash Detail

API สำหรับเรียกดูข้อมูลทั้งหมดของเอกสารเบิกเงินสดย่อย 1 ฉบับ โดยจะคืนค่าทั้งข้อมูลหัวเอกสาร (Header) และรายการค่าใช้จ่ายทั้งหมด (Items) รวมถึงข้อมูลพนักงานผู้ขอ แผนก และยอดเงินรวม

Endpoint

GET /api/v1/open-apis/petty-cash/get-detail

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

Request Parameters

Required Parameters

ParameterTypeRequiredDescriptionExample
petty_cash_idstringYesรหัสเอกสารเบิกเงินสดย่อยที่ต้องการดูข้อมูล (Base64)"MjAyNTExMjdENDU3M0M0MjE2Mzk="

Optional Parameters

ParameterTypeRequiredDescriptionExample
authorize_idstringNoID ของผู้ใช้ที่เรียกดูเอกสาร (Base64) — ใช้คำนวณสิทธิ์ของผู้ใช้ในเอกสาร (authorize_flag, send_doc) ไม่มีผลต่อการค้นหาเอกสาร"MjAyNTAzMDM1MUIwQTJDQ0JEOUM="
authorize_linestringNoส่งค่าที่ไม่ว่างและไม่ใช่ "0" (เช่น "true") เพื่อคำนวณ authorize_flag และ send_doc เฉพาะในฐานะผู้อนุมัติตามสายบังคับบัญชา ไม่นับสิทธิ์กลุ่มผู้ใช้ฝ่าย HR/เงินเดือน — ค่า "false" ก็ถือว่าส่ง หากไม่ต้องการให้ละ parameter นี้"true"
langstringNoภาษาของข้อความตอบกลับ ชื่อสถานะ ชื่อประเภทค่าใช้จ่าย และชื่อหน่วยงาน: TH (ค่าเริ่มต้น) หรือ EN"EN"

Response Format

Success Response

{ "code": 200, "message": "ดึงรายละเอียดเอกสารเงินสดย่อยสำเร็จ", "payload": { "petty_cash_id": "20251127D4573C421639", "petty_cash_type_lv": "01", "request_topic": "เบิกค่าเดินทางไปพบลูกค้า", "employee_id": "20260309462FEF65EFCA", "employee_name": "นายสมชาย ใจดี (ชาย)", "req_dt": "2026-03-25", "petty_cash_type_name": "รออนุมัติ", "item_list": [ { "petty_cash_item_id": "20260325A1B2C3D4E5F6", "petty_cash_id": "20251127D4573C421639", "petty_cash_item_name": "ค่าน้ำมันรถ", "petty_cash_type_id": "20260303A1B2C3D4E5F6", "petty_cash_type_name": "ค่าเดินทาง", "req_amt": "500.00", "attach_file": [ "https://cdn.humansoft.co.th/.../files/a1B2c3D4e5F6.jpg" ], "created": "2026-03-25 10:15:00" } ], "req_amt": "500.00", "authorize_flag": true, "send_doc": false, "approver_visibility_mode": "off", "organization": { "department": { "label": "แผนก", "value": "IT Support" }, "branch": { "label": "สาขา", "value": "สำนักงานใหญ่" }, "company": { "label": "บริษัท", "value": "บริษัท ตัวอย่าง จำกัด" } }, "department_name": "IT Support" } }

Response Fields

FieldTypeNullableDescription
petty_cash_idstringNoรหัสเอกสาร
petty_cash_type_lvstringNoรหัสสถานะปัจจุบันของเอกสาร (01 = รออนุมัติ) ดูความหมายทุกค่าที่ Overview
request_topicstringNoหัวข้อการเบิก
employee_idstringNoID ของพนักงานผู้ขอ
employee_namestringNoชื่อพนักงานผู้ขอ (คำนำหน้า ชื่อ นามสกุล และชื่อเล่นในวงเล็บ)
req_dtstringNoวันที่ยื่นคำขอ (YYYY-MM-DD)
petty_cash_type_namestringNoชื่อสถานะเอกสารตามภาษา lang
item_listarrayNoรายการค่าใช้จ่ายทั้งหมดในเอกสาร เรียงตามลำดับที่เพิ่ม (ดูตารางด้านล่าง)
req_amtstringNoยอดรวมเงินเบิกของทั้งเอกสาร เป็นข้อความทศนิยม 2 ตำแหน่งที่มีเครื่องหมายคั่นหลักพัน เช่น "500.00", "1,200.00"
authorize_flagbooleanNotrue เมื่อผู้ใช้ตาม authorize_id มีสิทธิ์เห็นเอกสารนี้ตามเกณฑ์เดียวกับ Search List (เช่น ผู้อนุมัติในสายบังคับบัญชาหรือผู้ใช้กลุ่มฝ่าย HR/เงินเดือน) — ไม่ได้หมายความว่าผู้ใช้อนุมัติเอกสารได้ในขณะนี้ ยกเว้นเมื่อ approver_visibility_mode เป็น sequential ซึ่ง authorize_flag จะเป็น true เฉพาะผู้อนุมัติลำดับที่เอกสารรออยู่ หรือผู้ใช้กลุ่มฝ่าย HR/เงินเดือน (กรณีไม่ส่ง authorize_line) และเป็น false สำหรับเจ้าของเอกสาร และเอกสารที่พิจารณาเสร็จแล้ว (02, 03, 04, 05, 12)
send_docbooleanNotrue เมื่อผู้ใช้ตาม authorize_id ตั้งเบิกเอกสารนี้ได้ (เปลี่ยนสถานะเป็น 04 ผ่าน Update Status) — เกณฑ์เดียวกับ send_doc ใน Search List และไม่ได้พิจารณาสถานะเอกสาร
approver_visibility_modestringNoการตั้งค่า “การมองเห็นเอกสารทั้งสายการอนุมัติ” ขององค์กร: off, skip หรือ sequential (ดูตารางด้านล่าง)
organizationobjectNoหน่วยงานของพนักงาน แยกเป็น department, branch, company แต่ละตัวเป็น { "label", "value" } — label คือชื่อเรียกระดับหน่วยงานที่องค์กรตั้งไว้ และ value คือชื่อหน่วยงาน ทั้งคู่ตามภาษา lang — มีเฉพาะ key ของหน่วยงานที่พนักงานมี หากพนักงานไม่มีหน่วยงานเลยจะเป็น []
department_namestringYesชื่อแผนกของพนักงานตามภาษา lang — ไม่มี field นี้หากพนักงานไม่มีแผนก

ค่าของ approver_visibility_mode

ค่าการตั้งค่าขององค์กรผลต่อผู้อนุมัติในสายอนุมัติ
offการมองเห็นเอกสารทั้งสายการอนุมัติ: ปิดระหว่างรออนุมัติ ผู้อนุมัติเห็นเอกสารเฉพาะเมื่อถึงลำดับของตน
skipการมองเห็นเอกสารทั้งสายการอนุมัติ: เปิด · รูปแบบการอนุมัติเอกสาร: ข้ามลำดับขั้นผู้อนุมัติลำดับถัดไปเห็นเอกสารได้ก่อนถึงลำดับของตน และอนุมัติได้โดยไม่ต้องรอลำดับก่อนหน้า
sequentialการมองเห็นเอกสารทั้งสายการอนุมัติ: เปิด · รูปแบบการอนุมัติเอกสาร: ตามลำดับขั้นผู้อนุมัติลำดับถัดไปเห็นเอกสารได้ก่อนถึงลำดับของตน แต่จะอนุมัติได้เมื่อถึงลำดับของตน — authorize_flag เป็น true เฉพาะผู้ที่ถึงลำดับ

item_list[]

FieldTypeNullableDescription
petty_cash_item_idstringNoรหัสรายการค่าใช้จ่าย
petty_cash_idstringNoรหัสเอกสารหลัก
petty_cash_item_namestringNoชื่อรายการค่าใช้จ่าย
petty_cash_type_idstringNoรหัสประเภทค่าใช้จ่าย
petty_cash_type_namestringNoชื่อประเภทค่าใช้จ่ายตามภาษา lang
req_amtstringNoจำนวนเงินของรายการ เป็นข้อความทศนิยม 2 ตำแหน่ง เช่น "500.00"
attach_filearray of stringNoURL ของไฟล์แนบในรายการ ([] หากไม่มีไฟล์)
createdstringNoวันเวลาที่เพิ่มรายการ (YYYY-MM-DD HH:mm:ss)

Error Response

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

{ "code": 404, "message": "ไม่พบรายการ" }

ไม่ได้ส่ง petty_cash_id (422)

{ "code": 422, "message": "การตรวจสอบข้อมูลล้มเหลว", "errors": ["'petty_cash_id' is required"] }
HTTP StatusDescription
400เกิดข้อผิดพลาดอื่นระหว่างดึงข้อมูล
403API Key ไม่มีสิทธิ์ document:manage
404ไม่พบเอกสารตาม petty_cash_id
422ไม่ได้ส่ง petty_cash_id

Code Examples

curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/petty-cash/get-detail?petty_cash_id=MjAyNTExMjdENDU3M0M0MjE2Mzk=&authorize_id=MjAyNTAzMDM1MUIwQTJDQ0JEOUM=" \ -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

Notes

  • item_list[].attach_file คืนเป็น URL ของไฟล์แนบ (ถ้ามี) สำหรับดาวน์โหลดหรือดูรูปหลักฐานการเบิก
  • ข้อความ message ชื่อสถานะ ชื่อประเภทค่าใช้จ่าย และชื่อหน่วยงาน เป็นภาษาตาม parameter lang (ค่าเริ่มต้น TH)

API นี้คืนเอกสารตาม petty_cash_id ได้ทุกฉบับขององค์กร โดยไม่ได้ตรวจว่าผู้ใช้ตาม authorize_id เป็นเจ้าของเอกสาร ผู้อนุมัติ หรือฝ่าย HR — หากต้องจำกัดการเข้าถึงรายผู้ใช้ ให้ตรวจสอบที่ระบบของคุณ เช่น เทียบ employee_id ของเอกสารกับผู้ใช้ หรือใช้ authorize_flag เพื่อตรวจว่าผู้ใช้มีสิทธิ์เห็นเอกสารนี้ (ยกเว้นเมื่อ approver_visibility_mode เป็น sequential ซึ่ง authorize_flag บอกเพียงว่าถึงลำดับพิจารณาของผู้ใช้หรือไม่ จึงใช้ตรวจสิทธิ์การเห็นเอกสารไม่ได้) — นอกจากนี้ เอกสารที่ถูกลบแล้วยังเรียกดูผ่าน API นี้ได้

พารามิเตอร์ petty_cash_id และ authorize_id ต้องส่งเป็น Base64-encoded ส่วน ID ใน response เป็นค่า raw


  • Get List - ดูรายการเอกสารของพนักงาน
  • Search List - ค้นหาเอกสารสำหรับ HR/ผู้อนุมัติ
  • Approve - อนุมัติเอกสาร
Last updated on