154 lines
3.5 KiB
Markdown
154 lines
3.5 KiB
Markdown
# Zoho People Routing Reference
|
|
|
|
**App name:** `zoho-people`
|
|
**Base URL proxied:** `people.zoho.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/zoho-people/people/api/{resource}
|
|
```
|
|
|
|
or for view-based endpoints:
|
|
|
|
```
|
|
/zoho-people/api/forms/{viewName}/records
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Forms
|
|
|
|
```bash
|
|
# List all forms
|
|
GET /zoho-people/people/api/forms
|
|
```
|
|
|
|
### Records (Bulk)
|
|
|
|
```bash
|
|
# Get records from any form
|
|
GET /zoho-people/people/api/forms/{formLinkName}/getRecords?sIndex=1&limit=200
|
|
|
|
# Common form link names:
|
|
# - employee
|
|
# - department
|
|
# - designation
|
|
# - leave
|
|
# - P_ClientDetails
|
|
```
|
|
|
|
### Records (View-based)
|
|
|
|
```bash
|
|
# Get records using a view
|
|
GET /zoho-people/api/forms/{viewName}/records?rec_limit=200
|
|
|
|
# Common view names:
|
|
# - P_EmployeeView
|
|
# - P_DepartmentView
|
|
# - P_DesignationView
|
|
```
|
|
|
|
### Search
|
|
|
|
```bash
|
|
# Search by Employee ID
|
|
GET /zoho-people/people/api/forms/employee/getRecords?SearchColumn=EMPLOYEEID&SearchValue={empId}
|
|
|
|
# Search by Email
|
|
GET /zoho-people/people/api/forms/employee/getRecords?SearchColumn=EMPLOYEEMAILALIAS&SearchValue={email}
|
|
|
|
# Get modified records
|
|
GET /zoho-people/people/api/forms/{formLinkName}/getRecords?modifiedtime={timestamp_ms}
|
|
```
|
|
|
|
### Insert Record
|
|
|
|
```bash
|
|
POST /zoho-people/people/api/forms/json/{formLinkName}/insertRecord
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
inputData={"field1":"value1","field2":"value2"}
|
|
```
|
|
|
|
### Update Record
|
|
|
|
```bash
|
|
POST /zoho-people/people/api/forms/json/{formLinkName}/updateRecord
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
inputData={"field1":"newValue"}&recordId={recordId}
|
|
```
|
|
|
|
### Attendance
|
|
|
|
```bash
|
|
# Get attendance entries (requires additional scope)
|
|
GET /zoho-people/people/api/attendance/getAttendanceEntries?date={date}&dateFormat={format}
|
|
|
|
# Check-in/Check-out (requires additional scope)
|
|
POST /zoho-people/people/api/attendance
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
dateFormat=dd/MM/yyyy HH:mm:ss&checkIn={datetime}&checkOut={datetime}&empId={empId}
|
|
```
|
|
|
|
### Leave
|
|
|
|
```bash
|
|
# Get leave records
|
|
GET /zoho-people/people/api/forms/leave/getRecords?sIndex=1&limit=200
|
|
|
|
# Add leave
|
|
POST /zoho-people/people/api/forms/json/leave/insertRecord
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
inputData={"Employee_ID":"EMP001","Leavetype":"123456","From":"01-Feb-2026","To":"02-Feb-2026"}
|
|
```
|
|
|
|
## Common Form Link Names
|
|
|
|
| Form | formLinkName |
|
|
|------|--------------|
|
|
| Employee | `employee` |
|
|
| Department | `department` |
|
|
| Designation | `designation` |
|
|
| Leave | `leave` |
|
|
| Clients | `P_ClientDetails` |
|
|
|
|
## Pagination
|
|
|
|
Uses index-based pagination:
|
|
- `sIndex`: Starting index (1-based)
|
|
- `limit`: Max records per request (max 200)
|
|
|
|
For page 2: `sIndex=201&limit=200`
|
|
|
|
## Notes
|
|
|
|
- Record IDs are numeric strings (e.g., `943596000000294355`)
|
|
- Insert/Update use `application/x-www-form-urlencoded` content type
|
|
- `inputData` parameter contains JSON object as string
|
|
- Attendance endpoints require additional OAuth scopes
|
|
- Maximum 200 records per request
|
|
- Response wraps data in `response.result[]` array
|
|
|
|
## Error Codes
|
|
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| 7011 | Invalid form name |
|
|
| 7012 | Invalid view name |
|
|
| 7021 | Max limit exceeded (200) |
|
|
| 7024 | No records found |
|
|
| 7042 | Invalid search value |
|
|
| 7218 | Invalid OAuth scope |
|
|
|
|
## Resources
|
|
|
|
- [Zoho People API Overview](https://www.zoho.com/people/api/overview.html)
|
|
- [Get Bulk Records API](https://www.zoho.com/people/api/bulk-records.html)
|
|
- [Insert Record API](https://www.zoho.com/people/api/insert-records.html)
|
|
- [Update Record API](https://www.zoho.com/people/api/update-records.html)
|