Staff API | Getting Started
The process to get started with Staff API is outlined in the table. Note that each step is its own process.
Step | Topic | Description |
|---|---|---|
1 | Steps to obtain a token and additional information about our APIs. | |
2 | Information about our non-disclosure agreement (NDA) terms and conditions regarding endpoints. | |
3 | A list of prerequisites to complete before starting the integration development process. |
Staff API | Next Steps
After completing the initial steps for Staff API setup, review additional information in the topics below.
Step | Topic | Description |
|---|---|---|
1 | Use this endpoint to create employee data for one employee, together with all required child entities, such as Site Statuses, POS Credentials, and other entities. | |
2 | Use this endpoint to create employee job data together with a corresponding employee’s rate information for a single employee. And the PATCH /External/General/Employee/[ID]/Job/[ID] endpoint allows users to deactivate a single employee’s job, or create and update its rates. | |
3 | Use these endpoints for retrieving data by unique employee identifiers, employees by secondary identifiers, and employee updates. | |
4 | Use this endpoint to update an employee or to create/update its child entities. The endpoint updates only the fields and entities included in the request. Do not send the entire employee object to update individual fields or child entities. | |
5 | Use this endpoint to estimate wages per employee for a given business date. | |
6 | Use this endpoint to synchronize shift data between an employee-scheduling system and our system's backend. | |
7 | Use these endpoints to remove erroneous data. | |
8 | Use the operation definitions including the endpoints, data models, and sample code. |
Create an Employee Record
The Create an Employee Record endpoint works with one employee record only together with all required child entities, such as Site Statuses, POS Credentials, Addresses, and other entities. Creating an employee record also creates an employee identifier, which the Genius system uses to link time card data and payroll data to the employee.
Follow these steps to create an Employee Detail Record:
Obtain an authentication token and set the request headers. See Authentication for a description and example of how a token can be generated. For additional information, see Getting Started with APIs.
Send a POST request to the
/External/General/Employeeendpoint with the employee details in the body of the request.
Create Employee Jobs
The Create Employee Jobs endpoint allows users to create employee job data together with a corresponding employee’s rate information for a single employee. And the PATCH /External/General/Employee/[ID]/Job/[ID] endpoint allows users to deactivate a single employee’s job, or create and update its rates.
Follow these steps to update employee job data:
Obtain an authentication token and set the request headers. See Authentication for a description and example of how a token can be generated. For additional, see Getting Started with APIs.
Send a POST request to the /External/General/Employee/[ID]/Jobs endpoint to create one or multiple job records for a single employee.
Send a PATCH request to the
/External/General/Employee/[ID]/Job/[ID]endpoint with the employee job details in the body of the request.
Update an Employee Record
The Update an Employee Record endpoint updates employee data. Use this endpoint to update an employee or to create/update its child entities. The endpoint updates only the fields and entities included in the request.
Important
Do not send the entire employee object to update individual fields or child entities. Use one of the GET endpoints to receive all previously created employee data, such as:
This is useful when updating employee data.
Within child arrays, like EmployeeSiteStatus, new records can be sent together with updates for existing records. Records that were received in the request but do not yet exist in the database will be created. Updates of child arrays differ from updates of the employee fields: objects in the child arrays that are not sent in the request are not affected by this update. This means that, for example, for employee status changes, it is possible to send only those statuses that should be updated or created in the EmployeeSiteStatus array - other already existing statuses will not be affected by this change.
Get Calculated Payroll Details
The Payroll service actively processes punch data according to defined pay rules and outputs estimated wages per employee for a given business date. The GET /External/General/Payroll/GetUpdates endpoint provides this information to data consumers.
Scheduled Shifts API
Use the Scheduled Shifts API to synchronize shift data between an employee-scheduling system and our system's backend. Our system uses the shift data to enforce punch-in and punch-out requirements in the Time Clock application.
Follow the steps below to synchronize shift data:
Schedule a regular process of employee schedules imported in to our system using the POST endpoint.
Update previously imported schedules using the PUT endpoint.
If required, delete incorrect shifts or schedules using the DELETE /shifts or DELETE /schedules endpoint.
Pull already existing schedules using the GET endpoint.
Our system returns a success or failure message. Our system processes the schedule and updates the back end accordingly.