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
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
petty_cash_id | string | Yes | รหัสเอกสารเบิกเงินสดย่อยที่ต้องการดูข้อมูล (Base64) | "MjAyNTExMjdENDU3M0M0MjE2Mzk=" |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
authorize_id | string | No | ID ของผู้ใช้ที่เรียกดูเอกสาร (Base64) — ใช้คำนวณสิทธิ์ของผู้ใช้ในเอกสาร (authorize_flag, send_doc) ไม่มีผลต่อการค้นหาเอกสาร | "MjAyNTAzMDM1MUIwQTJDQ0JEOUM=" |
authorize_line | string | No | ส่งค่าที่ไม่ว่างและไม่ใช่ "0" (เช่น "true") เพื่อคำนวณ authorize_flag และ send_doc เฉพาะในฐานะผู้อนุมัติตามสายบังคับบัญชา ไม่นับสิทธิ์กลุ่มผู้ใช้ฝ่าย HR/เงินเดือน — ค่า "false" ก็ถือว่าส่ง หากไม่ต้องการให้ละ parameter นี้ | "true" |
lang | string | No | ภาษาของข้อความตอบกลับ ชื่อสถานะ ชื่อประเภทค่าใช้จ่าย และชื่อหน่วยงาน: 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
| Field | Type | Nullable | Description |
|---|---|---|---|
petty_cash_id | string | No | รหัสเอกสาร |
petty_cash_type_lv | string | No | รหัสสถานะปัจจุบันของเอกสาร (01 = รออนุมัติ) ดูความหมายทุกค่าที่ Overview |
request_topic | string | No | หัวข้อการเบิก |
employee_id | string | No | ID ของพนักงานผู้ขอ |
employee_name | string | No | ชื่อพนักงานผู้ขอ (คำนำหน้า ชื่อ นามสกุล และชื่อเล่นในวงเล็บ) |
req_dt | string | No | วันที่ยื่นคำขอ (YYYY-MM-DD) |
petty_cash_type_name | string | No | ชื่อสถานะเอกสารตามภาษา lang |
item_list | array | No | รายการค่าใช้จ่ายทั้งหมดในเอกสาร เรียงตามลำดับที่เพิ่ม (ดูตารางด้านล่าง) |
req_amt | string | No | ยอดรวมเงินเบิกของทั้งเอกสาร เป็นข้อความทศนิยม 2 ตำแหน่งที่มีเครื่องหมายคั่นหลักพัน เช่น "500.00", "1,200.00" |
authorize_flag | boolean | No | true เมื่อผู้ใช้ตาม authorize_id มีสิทธิ์เห็นเอกสารนี้ตามเกณฑ์เดียวกับ Search List (เช่น ผู้อนุมัติในสายบังคับบัญชาหรือผู้ใช้กลุ่มฝ่าย HR/เงินเดือน) — ไม่ได้หมายความว่าผู้ใช้อนุมัติเอกสารได้ในขณะนี้ ยกเว้นเมื่อ approver_visibility_mode เป็น sequential ซึ่ง authorize_flag จะเป็น true เฉพาะผู้อนุมัติลำดับที่เอกสารรออยู่ หรือผู้ใช้กลุ่มฝ่าย HR/เงินเดือน (กรณีไม่ส่ง authorize_line) และเป็น false สำหรับเจ้าของเอกสาร และเอกสารที่พิจารณาเสร็จแล้ว (02, 03, 04, 05, 12) |
send_doc | boolean | No | true เมื่อผู้ใช้ตาม authorize_id ตั้งเบิกเอกสารนี้ได้ (เปลี่ยนสถานะเป็น 04 ผ่าน Update Status) — เกณฑ์เดียวกับ send_doc ใน Search List และไม่ได้พิจารณาสถานะเอกสาร |
approver_visibility_mode | string | No | การตั้งค่า “การมองเห็นเอกสารทั้งสายการอนุมัติ” ขององค์กร: off, skip หรือ sequential (ดูตารางด้านล่าง) |
organization | object | No | หน่วยงานของพนักงาน แยกเป็น department, branch, company แต่ละตัวเป็น { "label", "value" } — label คือชื่อเรียกระดับหน่วยงานที่องค์กรตั้งไว้ และ value คือชื่อหน่วยงาน ทั้งคู่ตามภาษา lang — มีเฉพาะ key ของหน่วยงานที่พนักงานมี หากพนักงานไม่มีหน่วยงานเลยจะเป็น [] |
department_name | string | Yes | ชื่อแผนกของพนักงานตามภาษา lang — ไม่มี field นี้หากพนักงานไม่มีแผนก |
ค่าของ approver_visibility_mode
| ค่า | การตั้งค่าขององค์กร | ผลต่อผู้อนุมัติในสายอนุมัติ |
|---|---|---|
off | การมองเห็นเอกสารทั้งสายการอนุมัติ: ปิด | ระหว่างรออนุมัติ ผู้อนุมัติเห็นเอกสารเฉพาะเมื่อถึงลำดับของตน |
skip | การมองเห็นเอกสารทั้งสายการอนุมัติ: เปิด · รูปแบบการอนุมัติเอกสาร: ข้ามลำดับขั้น | ผู้อนุมัติลำดับถัดไปเห็นเอกสารได้ก่อนถึงลำดับของตน และอนุมัติได้โดยไม่ต้องรอลำดับก่อนหน้า |
sequential | การมองเห็นเอกสารทั้งสายการอนุมัติ: เปิด · รูปแบบการอนุมัติเอกสาร: ตามลำดับขั้น | ผู้อนุมัติลำดับถัดไปเห็นเอกสารได้ก่อนถึงลำดับของตน แต่จะอนุมัติได้เมื่อถึงลำดับของตน — authorize_flag เป็น true เฉพาะผู้ที่ถึงลำดับ |
item_list[]
| Field | Type | Nullable | Description |
|---|---|---|---|
petty_cash_item_id | string | No | รหัสรายการค่าใช้จ่าย |
petty_cash_id | string | No | รหัสเอกสารหลัก |
petty_cash_item_name | string | No | ชื่อรายการค่าใช้จ่าย |
petty_cash_type_id | string | No | รหัสประเภทค่าใช้จ่าย |
petty_cash_type_name | string | No | ชื่อประเภทค่าใช้จ่ายตามภาษา lang |
req_amt | string | No | จำนวนเงินของรายการ เป็นข้อความทศนิยม 2 ตำแหน่ง เช่น "500.00" |
attach_file | array of string | No | URL ของไฟล์แนบในรายการ ([] หากไม่มีไฟล์) |
created | string | No | วันเวลาที่เพิ่มรายการ (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 Status | Description |
|---|---|
400 | เกิดข้อผิดพลาดอื่นระหว่างดึงข้อมูล |
403 | API Key ไม่มีสิทธิ์ document:manage |
404 | ไม่พบเอกสารตาม petty_cash_id |
422 | ไม่ได้ส่ง petty_cash_id |
Code Examples
cURL
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ชื่อสถานะ ชื่อประเภทค่าใช้จ่าย และชื่อหน่วยงาน เป็นภาษาตาม parameterlang(ค่าเริ่มต้น 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
Related APIs
- Get List - ดูรายการเอกสารของพนักงาน
- Search List - ค้นหาเอกสารสำหรับ HR/ผู้อนุมัติ
- Approve - อนุมัติเอกสาร