Organization API Module
ภาพรวม (Overview)
โมดูล Organization เป็น API สำหรับดึงข้อมูล Master Data ต่างๆ ที่เกี่ยวข้องกับองค์กรและการบริหารจัดการพนักงาน ซึ่งข้อมูลเหล่านี้จะถูกใช้ในส่วนต่างๆ ของระบบ เช่น การสร้างข้อมูลพนักงาน การคำนวณเงินเดือน และการจัดการโครงสร้างองค์กร
Master Data เหล่านี้เป็นข้อมูลหลักที่ต้องถูกตั้งค่าในระบบก่อนการใช้งาน และควรพิจารณาใช้ Cache เนื่องจากข้อมูลไม่ค่อยเปลี่ยนแปลงบ่อย
สิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ กลุ่มข้อมูลองค์กร (org:manage) จึงจะเรียกใช้ API ในโมดูลนี้ได้
API Endpoints (9 endpoints)
Organization Structure (โครงสร้างองค์กร)
Get Organization Structure
ดึงโครงสร้างองค์กรแบบลำดับชั้นครบทุกระดับ ตั้งแต่บริษัท > สาขา > แผนก > ฝ่าย > หน่วยงาน > หน่วยงานย่อย 5 ระดับ
Master Data:
- บริษัท (Company)
- สาขา (Branch)
- แผนก (Department)
- ฝ่ายงาน (Division)
- หน่วยงาน (Section)
- หน่วยงานย่อยระดับ 1-5 (Section Level 1-5)
Get Position List
ดึงรายการตำแหน่งงานในโครงสร้างแบบลำดับชั้น
Master Data:
- ตำแหน่งงาน (Position) พร้อมโครงสร้างระดับความสัมพันธ์
Banking & Payment (ข้อมูลธนาคารและการจ่ายเงิน)
Get Bank List
ดึงรายการธนาคารทั้งหมดในระบบ
Master Data:
- ธนาคาร (Bank)
- รหัสธนาคาร (Bank Code)
- รหัส SWIFT Code
Get Company Payment Accounts
ดึงรายการบัญชีธนาคารของบริษัทที่ใช้จ่ายเงินเดือน
Master Data:
- บัญชีธนาคารบริษัท (Company Payment Account)
- เลขที่บัญชี
- ข้อมูลธนาคารที่เกี่ยวข้อง
Employee Information (ข้อมูลพนักงาน)
Get Title Names
ดึงรายการคำนำหน้าชื่อ เช่น นาย, นาง, นางสาว
Master Data:
- คำนำหน้าชื่อ (Title Name)
Get Employee Types
ดึงรายการประเภทพนักงาน เช่น พนักงานประจำ, พนักงานสัญญาจ้าง
Master Data:
- ประเภทพนักงาน (Employee Type)
Get Employee Status
ดึงรายการสถานะพนักงาน เช่น กำลังทำงาน, ลาออก, เกษียณอายุ
Master Data:
- สถานะพนักงาน (Employee Status)
Payroll & Tax (เงินเดือนและภาษี)
Get Social Insurance Methods
ดึงรายการวิธีการคำนวณประกันสังคม
Master Data:
- วิธีการคำนวณประกันสังคม (Social Insurance Method)
Get Tax Methods
ดึงรายการวิธีการคำนวณภาษี
Master Data:
- วิธีการคำนวณภาษี (Tax Method)
คุณสมบัติทั่วไป (Common Features)
Standard Response Format
Success Response
{
"code": 200,
"message": "สำเร็จ",
"payload": []
}Error Response
{
"code": 400,
"message": "ไม่สำเร็จ",
"error": "Error message"
}ถ้าไม่มีข้อมูล payload จะเป็น [] (empty array) ไม่มี error
การใช้งาน Master Data
Master Data ที่ดึงจาก API เหล่านี้ จะถูกใช้ในส่วนต่างๆ ของระบบ ดังนี้:
1. ระบบบริหารพนักงาน (Employee Management)
- เลือกโครงสร้างองค์กร
- เลือกตำแหน่งงาน
- เลือกประเภทและสถานะพนักงาน
- กรอกคำนำหน้าชื่อ
2. ระบบคำนวณเงินเดือน (Payroll System)
- เลือกวิธีคำนวณภาษี
- เลือกวิธีคำนวณประกันสังคม
- เลือกบัญชีจ่ายเงินของบริษัท
3. ระบบข้อมูลธนาคาร (Banking Information)
- เลือกธนาคารสำหรับบัญชีพนักงาน
- จัดการบัญชีธนาคารบริษัท
4. ระบบรายงาน (Reporting)
- แสดงโครงสร้างองค์กรในรายงาน
- กรองข้อมูลตามโครงสร้างองค์กร
Best Practices
Caching Strategy: ควรใช้ Cache สำหรับ Master Data เนื่องจากข้อมูลไม่ค่อยเปลี่ยนแปลงบ่อย แนะนำให้ cache อย่างน้อย 1 ชั่วโมง
Recommended Approach
// Example: Caching organization structure
const cacheKey = 'organization_structure'
const cacheDuration = 3600 // 1 hour
let orgStructure = cache.get(cacheKey)
if (!orgStructure) {
const response = await fetch('https://openapi.humansoft.co.th/api/v1/open-apis/organization/get-list-organization', {
headers: { 'Ocp-Apim-Subscription-Key': 'YOUR_API_KEY' }
})
orgStructure = await response.json()
cache.set(cacheKey, orgStructure, cacheDuration)
}หมายเหตุสำคัญ
-
Authentication Required - API เหล่านี้ต้องการ
Ocp-Apim-Subscription-Keyheader สำหรับยืนยันตัวตน -
Empty Response - ถ้าไม่มีข้อมูล payload จะเป็น
[]ไม่มี error message -
Caching - ควรใช้ Cache strategy เพื่อลด API calls
-
Error Handling - จัดการ error ตาม standard response format