API Documentation

We suggest the following steps:

  1. Getting Started
    An API or Application Programming Interface specifies how a particular set of functions or routines are supposed to interact with a specific software component. This new API provides a simpler process to interface with the FingerCheck.com web service.

    Utilizing the FingerCheck API will allow you to perform three distinct command functions. First, you can use the GET Command to retrieve information from the web service. Second, you can use the POST command to input information seamlessly into the FingerCheck.com web service, and finally DELETE can be used to remove information.

    The FingerCheck.com API is considered a REST API, or Representational State Transfer, meaning that a set of operations can be invoked by utilizing one of four verbs: GET, POST, PUT, DELETE in conjunction with the web service URL.

    Note: To use the FingerCheck.com API, you will have to be using the secure https protocol.
    The base url is as follows: https://developer.fingercheck.com/api/DESIRED FUNCTION URL.
  2. Request Key Headers
    Prior to sending a command to the FingerCheck.com web service, you must include two Key Headers:

    • APIKEY – a unique key that is issued to the programmer to access the API web service.
    • ClientSecretKey - generated on a per company level and a per user level to define the distinct access to be given to the user. This ClientSecretKey can be used as a filter to restrict a programmer from accessing unauthorized information. NOTE: If you want to access two companies, you can use the same APIKEY, but will need to request an additional ClientSecretKey.
    • To retrieve your Keys, please contact the FingerCheck Support team at 1-800-610-9501 or email support@fingercheck.com
  3. Available Functions
    Currently, the two main functions available to API users are GET and POST.

    • GET – This function will List or Retrieve URI’s or other data. The FingerCheck API returns a JSON (JavaScript Object Notation) object. JSON utilizes human-readable text to transmit data objects.
    • POST – Creates a new entry within the collection of data. In order to post information, the input data must contain all required fields
  4. Data Key Field
    In order to insure that your data posts correctly, you must have Employee Number as part of your dataset.

Current List of API Functions Available



Reports

Retrieve Reporting Data Utilizing GET

APIDescription
GET v1/Reports/GetAllPaidHoursForDateRange?startDate={startDate}&endDate={endDate}

Returns All Paid Hours for a Specified Date Range

GET v1/Reports/GetAllPaidHoursForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Paid Hours for a Specified Date Range and Employee

GET v1/Reports/GetAllTimeCardsForDateRange?startDate={startDate}&endDate={endDate}

Returns All Time Cards for a Specified Date Range

GET v1/Reports/GetAllTimeCardsForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Time Cards for a Specified Date Range and Employee

GET v1/Reports/GetAllTimeCardRawDataForDateRange?startDate={startDate}&endDate={endDate}

Returns All Time Card Raw Data for a Specified Date Range

GET v1/Reports/GetAllTimeCardRawDataForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Time Card Raw Data for a Specified Date Range and Employee

GET v1/Reports/GetEmployeeActivePTOAccrualsByEmployeeNumber/{employeeNumber}

Returns Employee Active PTO Records for Specified Employee

GET v1/Reports/GetEmployeePTOAccrualsByEmployeeNumber/{employeeNumber}

Returns Employee PTO Records for Specified Employee

GET v1/Reports/GetEmployeePTOAccruals

Returns All Employee PTO Records

GET v1/Reports/GetEmployeeActivePTOAccruals

Returns All Employee Active PTO Records

GET v1/Reports/GetAbsenceRequestsByDate?startDate={startDate}&endDate={endDate}

Returns All Absence Requests for a Specified Date Range

GET v1/Reports/GetAllAbsenceRequestsForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Absence Requests for a Specified Date Range and Employee

Sync

Synchronizing company setup informaiton

APIDescription
GET v1/Sync/GetLookupDataSampleObject

Retrieve a Sample Lookup Entity Meta Data Object

GET v1/Sync/GetLookupDataListSampleObject

Retrieve a Sample Lookup Meta Data Object

POST v1/Sync/SyncJob

Sync Job to System

POST v1/Sync/SyncJobs

Sync Jobs to the system, parameter is List of Lookup Entity Data Object

Employees

Retrieve Employee Data Utilizing GET, Update Employee Data Utilizing POST, and DELETE Employee Information

APIDescription
GET v1/Employees/GetAllEmployees

Retrieve a complete collection of Employee Data

GET v1/Employees/GetEmployeesByClockSerialNumber/{clockSerialNumber}

Retrieve a complete collection of Employee Data By Clock Serial Number

GET v1/Employees/GetAllActiveEmployees

Retrieve a complete collection of Active Employee Data

GET v1/Employees/GetEmployeeByEmployeeNumber/{employeeNumber}

Retrieves Employee Object by distinct Employee Number

POST v1/Employees/AddEmployee

Add Employee Data to the system, parameter is Employee Object

POST v1/Employees/UpdateEmployeeForOnOnboarding

Onboard an employee to payroll expecting the employee to be in the system

POST v1/Employees/UpdateEmployee

Update Employee Information, parameter is Employee Object. Employee Number is the Data Key for proper updating

POST v1/Employees/SynchronizeEmployees

Synchronize Employee Data to the system. Parameter is Employee Object. Employee Number is the Data Key for proper updating

DELETE v1/Employees/DeleteEmployeeByEmpoyeeNumber/{employeeNumber}

Delete Employee Data from the System. Parameter is Employee Number, And Employee Number is the Data Key.

GET v1/Employees/GetClocksEnrolledByEmployeeNumber/{employeeNumber}

Retrieves Clocks Enrolled for the Employee by distinct Employee Number in a Dictionary. Key is the SerialNumber and value is the Clock Description

POST v1/Employees/SendEmployeeToClock?employeeNumber={employeeNumber}&clockSerialNumber={clockSerialNumber}

Send Employee to Clock, a clock number in the employee is required, parameter is Employee Number, Clock Serial Number

POST v1/Employees/SendEmployeeToAllClocks?employeeNumber={employeeNumber}

Send Employee to All Active Clocks,a clock number in the employee is required, parameter is Employee Number

DELETE v1/Employees/DeleteEmployeeFromClock?employeeNumber={employeeNumber}&clockSerialNumber={clockSerialNumber}

Delete Employee From Clock,a clock number in the employee is required, parameter is Employee Number, Clock Serial Number

DELETE v1/Employees/DeleteEmployeeFromAllClocks?employeeNumber={employeeNumber}

Delete Employees From All Clocks,a clock number in the employee is required, parameter is Employee Number

GET v1/Employees/GetEmployeeClockInfoByEmployeeNumber/{employeeNumber}

Retrieves EmployeeClockInfo Object by distinct Employee Number

POST v1/Employees/UpdateEmployeeClockInfo

Update Employee Clock Information, parameter is EmployeeClockInfo Object. Employee Number is the Data Key for proper updating

GET v1/Employees/GetEmployeeLastPunchInfoByEmployeeNumber/{employeeNumber}

Retrieves EmployeeLastPunchInfo Object by distinct Employee Number

Punch

Clock In/Out Employee Utilizing Post

APIDescription
GET v1/Punch/GetClockPunchMetaDataSampleObject

Retrieve a Sample Clock Meta Data Object

GET v1/Punch/GetClockPunchMetaDataListSampleObject

Retrieve a Sample List Clock Meta Data Object

POST v1/Punch/AddPunch

Add Punch to the system, parameter is Clock Punch Data Object

POST v1/Punch/AddPunchs

Add Punchs to the system, parameter is List of Clock Punch Data Object

POST v1/Punch/AddPaidHour

Add Paid Hours to the system, parameter is Paid Hour Meta Data Object

GET v1/Punch/GetPunchPhotoByPunchPhotoID?photoID={photoID}

Returns Photo for punch photo id