Delete Petty Cash Item
API สำหรับลบเฉพาะบางรายการค่าใช้จ่าย (Item) ออกจากเอกสารเบิกเงินสดย่อย ระบบจะปรับปรุงยอดเงินรวมของเอกสารหลักให้ทันทีหลังจากลบสำเร็จ
การลบข้อมูลไม่สามารถกู้คืนได้ ลบรายการได้เฉพาะเมื่อเอกสารหลักมีสถานะ 01 (รออนุมัติ) เท่านั้น — petty_cash_item_id ต้องเป็นรายการของเอกสาร petty_cash_id ที่ส่งมา มิฉะนั้นระบบตอบ 404 (ระบบตรวจสถานะเอกสารก่อน จึงได้ 422 หากเอกสารไม่อยู่ในสถานะ 01)
Endpoint
POST /api/v1/open-apis/petty-cash/delete-itemสิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลการยื่นเอกสาร (document:manage)
Request Body
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
petty_cash_id | string | Yes | รหัสเอกสารหลักของรายการที่ต้องการลบ (Base64) | "MjAyNTExMjdENDU3M0M0MjE2Mzk=" |
petty_cash_item_id | string | Yes | รหัสรายการย่อยที่ต้องการลบ (Base64) | "MjAyNjAzMjVBMUIyQzNENEU1RjY=" |
Optional Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
authorize_id | string | No | ID ของผู้ใช้ที่ทำรายการ (Base64) — แนะนำให้ส่ง หากไม่ส่ง ผู้ทำรายการล่าสุดของเอกสารจะถูกบันทึกเป็นค่าว่าง | "MjAyNTAzMDM1MUIwQTJDQ0JEOUM=" |
lang | string | No | ภาษาของข้อความตอบกลับ: TH (ค่าเริ่มต้น) หรือ EN | "EN" |
Response Format
Success Response
{
"code": 200,
"message": "ลบรายการเงินสดย่อยสำเร็จ",
"payload": {
"petty_cash_item_id": "20260325A1B2C3D4E5F6",
"petty_cash_id": "20251127D4573C421639",
"petty_cash_item_name": "ค่าที่พักโรงแรม",
"req_amt": "1200.00",
"attach_file": "[\"...\"]"
}
}Response Fields
| Field | Type | Nullable | Description |
|---|---|---|---|
petty_cash_item_id | string | No | รหัสรายการย่อยที่ถูกลบ |
petty_cash_id | string | No | รหัสเอกสารหลัก |
petty_cash_item_name | string | No | ชื่อรายการค่าใช้จ่ายที่ถูกลบ |
req_amt | string | No | จำนวนเงินของรายการที่ถูกลบ (ส่งกลับเป็น string) |
attach_file | string | Yes | JSON string ของรายการอ้างอิงไฟล์แนบที่ระบบเก็บไว้ของรายการที่ถูกลบ ("[]" ถ้าไม่มีไฟล์) — ไม่ใช่ URL สำหรับเปิดไฟล์ |
Error Response
ข้อมูลไม่ผ่านการตรวจสอบ (422)
{
"code": 422,
"message": "การตรวจสอบข้อมูลล้มเหลว",
"errors": ["'petty_cash_item_id' is required"]
}เอกสารหลักไม่อยู่ในสถานะที่ลบรายการได้ (422) — กรณีนี้ errors เป็น object
{
"code": 422,
"message": "การตรวจสอบข้อมูลล้มเหลว",
"errors": {
"petty_cash_type_lv": "cannot delete item from petty cash that is not in draft state"
}
}ไม่พบเอกสารหรือรายการที่จะลบ (404)
{
"code": 404,
"message": "ไม่พบรายการ"
}| HTTP Status | Description |
|---|---|
400 | ลบไม่สำเร็จ (เกิดข้อผิดพลาดของระบบ) |
403 | API Key ไม่มีสิทธิ์ document:manage |
404 | ไม่พบเอกสารตาม petty_cash_id (หรือเอกสารถูกลบไปแล้ว) หรือไม่พบรายการ petty_cash_item_id ในเอกสารนั้น (หรือรายการถูกลบไปแล้ว) |
422 | ไม่ได้ส่ง parameter บังคับ ('<parameter>' is required) หรือเอกสารหลักไม่อยู่ในสถานะ 01 |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/petty-cash/delete-item" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-d '{
"petty_cash_id": "MjAyNTExMjdENDU3M0M0MjE2Mzk=",
"petty_cash_item_id": "MjAyNjAzMjVBMUIyQzNENEU1RjY=",
"authorize_id": "MjAyNTAzMDM1MUIwQTJDQ0JEOUM="
}'Notes
- ยอดรวม (
req_amt) ของเอกสารหลักใน Get Detail คำนวณจากรายการที่เหลืออยู่ จึงเปลี่ยนตามทันทีหลังลบรายการ - การลบรายการอาจส่งแจ้งเตือนถึงผู้อนุมัติ หรือฝ่าย HR (เมื่อองค์กรตั้งค่าให้ฝ่ายบุคคลอนุมัติ หรือพนักงานไม่มีหัวหน้าในสายอนุมัติ) ตามการตั้งค่าการแจ้งเตือนเอกสารและสายอนุมัติขององค์กร
- ข้อความ
messageเป็นภาษาตาม parameterlang(ค่าเริ่มต้น TH) — API นี้ไม่ได้ใช้language_code
พารามิเตอร์ petty_cash_id, petty_cash_item_id และ authorize_id ต้องส่งเป็น Base64-encoded
Related APIs
- Add Item - เพิ่มรายการค่าใช้จ่ายในเอกสาร
- Get Detail - ดูรายละเอียดเอกสาร
- Delete - ลบเอกสารทั้งฉบับ
Last updated on