Gofive OpenAPI
empeo
VenioeTaxGo
empeo
VenioeTaxGo
  1. Employee
  • Authentication
    • Authorization
      POST
  • Master
    • Get Organizations
      GET
    • Get CustomField
      GET
    • Get Holiday
      GET
    • Get MasterSetup
      GET
    • Get Master Items
      GET
    • Get Overtimes
      GET
  • Recruitment
    • Get Candidate
  • Core HR
    • Attendance
      • Get Time Attendance
      • Workin
      • Get Employee WorkIn Site
      • Get Timestamps
      • Get TimeStamp Attachments
      • Get Workin Sites
      • Get IOMO Logs
      • Add Timestamps
      • Get Pulse Survey
    • Asset
      • Get Asset list
      • Update Asset
      • Get Employee Assets
    • Employee
      • Get Employee
        GET
      • Update Employee
        PUT
      • Get Employees List
        GET
      • Get Mastertypes List
        GET
      • Get Name Prefixes
        GET
      • Get Document Types
        GET
      • Update Employee
        POST
      • Add Employee Attachment
        POST
      • Update Employee Address
        POST
      • Update Employee Family
        POST
      • Update Employee Contact
        POST
      • Update Employee Education
        POST
      • Update Employee Experience
        POST
      • Update Employee CustomField
        POST
      • Delete Employee
        POST
      • Get Employee Role
        GET
      • Get Employee Movement Lists
        GET
    • Leave
      • Get Employee Documents
    • Shifts
      • Get Shift Details
      • Update Employee Shifts
      • Get Employee Shifts
      • Swap Employee Shifts
    • Timesheet
      • Search Projects
      • Search Tasks
      • Create Timesheet Entry
  • Payroll
    • Get Financial Transactions
    • Update Financial Transactions
    • Create Loan
    • Get Cost Center
  • Welfare
    • Shuttle Buses
    • Passengers
  • Goals
    • Update KPI
  • Engagement
    • Achievement
      • Get Employee Achievements
      • Create Achievement Card
      • Create Achievement Award Document
      • Get Achievement Events
    • Praise
      • Get Employee Praises
      • Get Praise Types
      • Create Praise Reward Manager
    • StampCard
      • Get Stamp Cards
      • Get Stamp Card Detail
      • Add Stamp
    • Celebration
      • Get Upcoming Celebrations
    • Mission
      • ดึงคิวงานรอตรวจ
      • ดึงรายละเอียดงาน 1 ใบ
      • ดึงตัวเลขสรุปงานตามสถานะ
      • อนุมัติงานหลายใบพร้อมกัน
      • ส่งงานกลับให้แก้หลายใบพร้อมกัน
  • Overtime
    • Get Overtimes Preriods
    • Get Overtimes Documents
  • Employee
    • User Info
    • Update Employee Information
  1. Employee

Get Employees List

GET
https://api.gofive.co.th/api/v2/employees/lists
ดึงรายชื่อพนักงานของ tenant ที่ token ผูกอยู่ พร้อมข้อมูลที่เลือกเพิ่มได้เป็นส่วน ๆ ผ่าน fields
ไม่ส่ง fields จะได้เฉพาะข้อมูลพื้นฐาน (รหัส คำนำหน้า ชื่อ-สกุล ชื่อเล่น วันที่เริ่มงาน) กับ CustomFields ซึ่งเร็วที่สุด
🎛️ ค่าที่ใส่ใน fields — รับหลายค่าคั่นด้วย , ยิ่งขอมากยิ่งช้า ขอเท่าที่ใช้จริง
workInfo — ข้อมูลการจ้างงาน: ตำแหน่ง สถานะ ประเภทการจ้าง หน่วยงาน สถานที่ทำงาน (สาขา) หัวหน้างาน อีเมลงาน และวันที่พ้นสภาพ → WorkingInformation
contact — อีเมลส่วนตัว เบอร์มือถือ และเบอร์โทรศัพท์ → Contact
information — ข้อมูลส่วนตัว รวมเลขประจำตัวประชาชนหรือเลขหนังสือเดินทาง → Information
address — ที่อยู่หลัก → Addresses
family — สมาชิกครอบครัว → Family
education — ประวัติการศึกษา → Educations
experience — ประสบการณ์ทำงานก่อนหน้า รวมเงินเดือนที่ทำงานเดิม → WorkExperiences
all — ทุกส่วนข้างบนในคำขอเดียว
customField — ส่งได้แต่ไม่มีผล เพราะ CustomFields ติดมาทุกครั้งอยู่แล้ว
🎛️ ตัวกรอง การแบ่งหน้า และลำดับ
ตัวกรองทุกตัวใช้ร่วมกันแบบ AND — ไม่ส่งตัวกรองเลย = พนักงานทุกคนในทุกบริษัทของ tenant
ไม่ส่ง pageSize หรือส่ง 0 = ได้ทุกคนที่ตรงตัวกรองในคำขอเดียว — เป็นวิธีที่แนะนำเมื่อต้องการข้อมูลครบ
pageIndex คือจำนวนแถวที่ข้าม (offset) ไม่ใช่เลขหน้า — หน้าถัดไปของ pageSize=100 คือ pageIndex=100, 200, … ส่วน pageIndex=1 จะได้แถวที่ 2–101
Totals คือจำนวนรายการใน response นี้เท่านั้น ระบบไม่บอกจำนวนทั้งหมด — ถ้าแบ่งหน้าให้ดึงต่อจนกว่า Data จะว่าง
ระบบตัดหน้าโดยนับจากพนักงานที่ถูกสร้างในระบบล่าสุดก่อน แต่รายการใน Data เรียงจากที่สร้างก่อนไปหลัง — ไม่ได้เรียงตาม EmployeeRefId
ถ้ามีพนักงานถูกเพิ่มหรือลบระหว่างดึงหลายหน้า offset จะเลื่อนจนได้บางคนซ้ำหรือตกหล่น — ถ้าต้องการครบทุกคนให้ดึงครั้งเดียวโดยไม่ส่ง pageSize
⚠️ ข้อควรรู้
ไม่พบพนักงานตามตัวกรองจะได้ 200 ที่ Totals เป็น 0 และ Data เป็น [] — endpoint นี้ไม่ตอบ 204 รวมถึงกรณีส่ง companyName ที่ไม่มีในระบบ และ pageIndex ที่เลยจำนวนข้อมูล
ใน Data ไม่มีชื่อบริษัท และ EmployeeRefId ไม่ซ้ำเฉพาะภายในบริษัทเดียว — ถ้า tenant มีหลายบริษัทให้เรียกแยกทีละ companyName แล้วใช้บริษัทคู่กับ EmployeeRefId เป็น key
ถ้าไม่ได้กรอง employeeStatus ผลลัพธ์จะรวมพนักงานที่พ้นสภาพแล้ว (StatusId = 3) และรอเริ่มงาน (4) ด้วย ส่วนพนักงานที่ถูกลบหรือปิดการใช้งานในระบบไม่รวมอยู่
พนักงานที่ข้อมูลหน่วยงานที่ผูกไว้ไม่มีอยู่ในระบบแล้วจะไม่อยู่ในผลลัพธ์ แต่ยังถูกนับตอนตัดหน้า — หน้าหนึ่งจึงอาจได้น้อยกว่า pageSize แม้ยังมีข้อมูลต่อ อย่าใช้ Totals < pageSize เป็นเงื่อนไขหยุด
CustomFields ติดมาทุกครั้งไม่ว่าจะส่ง fields หรือไม่ เป็นฟิลด์กำหนดเองที่เปิดใช้ทั้งหมดของ tenant และฟิลด์ที่พนักงานยังไม่มีค่าจะได้ Value เป็น null
information, experience และ CustomFields อาจมีข้อมูลส่วนบุคคลที่อ่อนไหว — ขอและเก็บเท่าที่ระบบปลายทางใช้จริง
📘 การอ่านผลลัพธ์
ส่วนที่ไม่ได้ขอผ่าน fields เป็น null และส่วนที่ขอแล้วแต่ไม่มีข้อมูลก็เป็น null เช่นกัน (รายการว่างเป็น null ไม่ใช่ [])
WorkingInformation.Organization.Level1…Level21 คือชื่อหน่วยงานแต่ละระดับในสายของหน่วยงานที่พนักงานสังกัด ไม่มีรหัส — ถ้าต้องการรหัสหรือ CostCenter ให้จับคู่ชื่อและระดับกับ GET /api/v1/masters/organizations
Position, WorkingLocation (สถานที่ทำงาน/สาขา) และ Rank เป็นชื่ออย่างเดียว ไม่มีรหัส
อีเมลมี 2 ที่: WorkingInformation.EmailAddress คืออีเมลงาน ส่วน Contact.EmailAddress คืออีเมลส่วนตัว
StatusId: 1 ทดลองงาน, 2 บรรจุ, 3 พ้นสภาพ, 4 รอเริ่มงาน — DateTermination มีค่าเมื่อพนักงานพ้นสภาพ
🔐 ต้องมีสิทธิ์ Open API โมดูล Employee ระดับ Read

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Query Params

Header Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.gofive.co.th/api/v2/employees/lists?pageSize=100&pageIndex=0&employeeRefId=EMP001&companyName=Acme&emailAddress=sample.one%40example.com&employeeStatus=2&fields=workInfo' \
--header 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
--header 'Authorization: Bearer <token>'

Responses

🟢200
application/json
สำเร็จ — Data คือรายชื่อพนักงาน (ส่วนที่ไม่ได้ขอผ่าน fields จะเป็น null)
ไม่พบพนักงานตามตัวกรองก็ได้ 200 เช่นกัน โดย Totals เป็น 0 และ Data เป็น [] (ดูตัวอย่าง empty)
Bodyapplication/json

Examples
{
    "StatusCode": 200,
    "Message": "OK",
    "Totals": 1,
    "Data": [
        {
            "EmployeeRefId": "EMP001",
            "FirstName": "พนักงานตัวอย่าง",
            "LastName": "หนึ่ง",
            "FirstNameEN": "Sample",
            "LastNameEN": "One",
            "NickName": "ตัวอย่าง",
            "NickNameEN": "Sample",
            "TitleName": "นาย",
            "TitleNameEN": "Mr.",
            "DateHired": "2024-01-15T00:00:00",
            "Contact": null,
            "Addresses": null,
            "Information": null,
            "Family": null,
            "WorkExperiences": null,
            "Educations": null,
            "WorkingInformation": {
                "Position": "นักพัฒนาระบบ",
                "StatusId": 2,
                "Status": "บรรจุ",
                "TypeId": 101,
                "Type": "พนักงานรายเดือน",
                "ManagerRefId": "EMP000",
                "EmailAddress": "[email protected]",
                "ImagePath": "https://cdn.example.com/employee/emp001.jpg",
                "WorkingLocation": "สาขาตัวอย่าง",
                "Rank": "E1",
                "DateTermination": null,
                "Organization": {
                    "Level1": "บริษัทตัวอย่าง",
                    "Level2": "สำนักงานใหญ่",
                    "Level3": "ฝ่ายตัวอย่าง",
                    "Level4": null,
                    "Level5": null,
                    "Level6": null
                }
            },
            "CustomFields": [
                {
                    "FieldName": "ขนาดเสื้อยูนิฟอร์ม",
                    "Value": "M"
                },
                {
                    "FieldName": "ขนาดรองเท้า",
                    "Value": null
                }
            ]
        }
    ]
}
🟠401Unauthorized
🟠403Forbidden
🟠429TooManyRequests
🔴500InternalServerError
Modified at 2026-10-04 17:04:55
Previous
Update Employee
Next
Get Mastertypes List
Built with