Synergy Workforce API Document v1.9.2

Synergy Workforce API Document v1.9.2

1. Technical Overview

      This document is a user guide for the Synergy Workforce API Service.

      The service is based on REST API and returns the data in JSON format.

      The service provides methods for employees’ management (create and update), export of swipes data and export of attendance data.

2. Deliverables

      Employee External ID - Unique External ID of employee. If employee does not have external ID - employee Code is used as external ID.

      Swipe - record of Clock IN or Clock OUT.

      Absences - Employee can have morning absence and/or afternoon absence.

      Notification managers - Employee should be setup as notification manager. Employee can have up to 10 notification managers
Within example URL's given below, user must replace:

https://customer.synel-saas.com --- replaces with customer URL provided by Synel UK
login=Login --- Login Replaces with Admin username
password=Password --- Password Replaces with Password of the Admin

3. Employee Management Methods


      The web service allows inserting new employee or updating existing employees by accessing InsertUpdateEmployees method.

      The location of the method is the following (accessible only through POST):

      https://customer.synel-saas.com/ExternalAccess/InsertUpdateEmployees?login=Login&password=Password&employees=Employees


Parameter


Description


login


Login for the web service


password


Password for the web service


employees


JSON string of array of the Employee objects


      Each employee record submitted in the array is processed following the logic below:

            1. If ExternalId is present in the database, the record is updated with new values.

            2. If ExternalId is not present in the database, new record is created.

            3. If DepartmentCode is not present in the database, new record is created. DepartmentCode is used for both Code and Name of the department.

            4. If employee card already exists in Synergy Workforce, only card number is updated. If there is no proximity cards in Synergy Workforce, new card is added.

             5. If Card is not present in the request, employee card is deleted from Synergy Workforce.

            6. If PIN number is not present in the request, PIN number for employee becomes empty.

            7. If leave date is not present in the request, leave date for employee becomes empty.

            8. If Leave reason is not present in the request, leave reason for employee becomes empty

            9. If Leave reason is not present in the database, new leave reason will be created and assigned to corresponding employees

      Sample JSON for employees parameter is given below:

            [{"ExternalId":"1","EmployeeNo":"12345","BadgeNo":"111111","FirstName":"Jane","LastName":"Doe","StartDate":"2010-01-10","DepartmentCode":"100","IsActive":true},
             {"ExternalId":"2","EmployeeNo":"2 3456","BadgeNo":"222222","FirstName":"John","LastName":"Smith","StartDate":"2014-12-01","DepartmentCode":"101","IsActive":false,"LeaveDate":"2018-02- 13","LeaveReason":"N/A"}]

      The result provided after method execution represents the result object (ProcessingResult) for each record submitted in JSON format.

      Please, refer for the table below for detailed explanation of result object.


Parameter


Type


Description


Id


string


Unique external ID of the employee


IsSuccess


bool


Returns true for the successful insert/update or false in terms of failure


IsExisting


bool


Returns true for the existing employee (consequently the update is done) or false for the new (new record is added)


Message


string


Detailed message for the result




            [{"Id":"1","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"}, {"Id":"2","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"},                                                    {"Id":"3","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"}, {"Id":"4","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"},                                                    {"Id":"5","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"}, {"Id":"6","IsSuccess":true,"IsExisting":true,"Message":"Employee Updated successfully"},                                                    {"Id":"7","IsSuccess":true,"IsExisting":false,"Message":"Employee Inserted successfully"}, {"Id":"8","IsSuccess":true,"IsExisting":false,"Message":"Employee Inserted successfully"},                                                     {"Id":"9","IsSuccess":false,"IsExisting":false,"Message":"Wrong date format for StartDate parameter"}] 
      In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

4. Notification Managers’ Management Methods


      The web service allows updating notification managers for existing employees by accessing UpdateNotificationManagers method.

      System supports setting up to 10 notification managers per employee.

      The location of the method is the following (accessible only through POST):

      https://customer.synel-saas.com/ExternalAccess/UpdateNotificationManagers?login=Login&password=Password&employeeNotificationManagers=EmployeeNotificationManagers


Parameter


Description


login


Login for the web service


password


Password for the web service


employeeNotificationManagers


JSON string of array of the EmployeeNotificationManagers objects



The EmployeeNotificationManagers object consists of the following parameters



Parameter


Type


Description


ExternalId


string


Unique external ID of the employee


NotificationManager

1ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

2ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

3ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

4ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

5ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

6ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

7ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

8ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee




NotificationManager

9ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee


NotificationManager

10ExternalId


string


Unique external ID of employee to be set as notification manager. Pass null to remove notification manager from employee



      Each employee record submitted in the array is processed following the logic below:

            1. If ExternalId is present in the database, the record is updated with new values

            2. If ExternalId is not present in the database, related error message will be returned for the record

            3. If Notification Manager External Id is not present in the database, related error message will be returned for the record

      Sample JSON for employee notification managers’ parameter is given below:

            [{"ExternalId":"1", "NotificationManager1ExternalId":"10","NotificationManager2ExternalId":"11", "NotificationManager3ExternalId":"12", "NotificationManager4ExternalId":"13","NotificationManager5ExternalId":"14", "NotificationManager6ExternalId":"15", "NotificationManager7ExternalId":"16", "NotificationManager8ExternalId":"17", "NotificationManager9ExternalId":"18", "NotificationManager10ExternalId":"19"}, {"ExternalId":"2","NotificationManager1ExternalId":"20", "NotificationManager2ExternalId":"21", "NotificationManager3ExternalId":"22", "NotificationManager4ExternalId":"23", "NotificationManager5ExternalId":"24", "NotificationManager6ExternalId":null, "NotificationManager7ExternalId":null, "NotificationManager8ExternalId":null, "NotificationManager9ExternalId":null, "NotificationManager10ExternalId":null}]

      The result provided after method execution represents the result object (ProcessingResult) for each record submitted in JSON format. Please, refer for the table below for detailed explanation of       result object.


Parameter


Type


Description


Id


string


Unique external ID of the employee


IsSuccess


bool


Returns true for the successful insert/update or false in terms of failure


IsExisting


bool


Returns true for the existing employee (consequently the update is done) or false


Message


string


Detailed message for the result


      [{"Id":"1","IsSuccess":true,"IsExisting":true,"Message":"Notification Managers Updated successfully"},
       {"Id":"2","IsSuccess":true,"IsExisting":true,"Message":"Notification Managers Updated successfully"},
       {"Id":"3","IsSuccess":false,"IsExisting":false,"Message":"Employee does not exist"}, {"Id":"4","IsSuccess":false,"IsExisting":true,"Message":"Employee Notification manager with External Id 33 does not exist"}]

In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

5. Department Management Methods


      The web service allows inserting new department or updating the existing department by accessing InsertUpdateDepartments method.

      The location of the method is the following (accessible only through POST):

      https://customer.synel-saas.com/ExternalAccess/InsertUpdateDepartments?login=Login&password=Password&departments=Departments


Parameter


Description


login


Login for the web service


password


Password for the web service


departments


The JSON string of array of Department objects



     Each department record submitted in the array is processed following the logic below:

            1. If Code is present in the database, the record is updated with new values

            2. If Code is not present in the database, new record is created

            3. If ParentDepartmentCode is not present in the database, new record is created. ParentDepartmentCode is used for both Code and Name of the department.

      Sample JSON for departments parameter is given below:
      
            [{"Code":"100","Name":"Accounting","ParentDepartmentCode":null},"Name":"Payroll","ParentDepartmentCode":"100"}]

      The result provided after method execution represents the result object (ProcessingResult) for each record submitted in JSON format.

      Please, refer for the table below for detailed explanation of result object


Parameter



Type



Description



Id



string



Department Code



IsSuccess



bool



Returns true for the successful insert/update or false in terms of failure



IsExisting



bool



Returns true for the existing department (consequently the update is done) or false for the new (new record is added)



Message



string



Detailed message for the result



             [{"Id":"1","IsSuccess":true,"IsExisting":true,"Message":"Department Updated successfully"},

               {"Id":"2","IsSuccess":true,"IsExisting":false,"Message":"Department Inserted successfully"},
               {"Id":"3","IsSuccess":false,"IsExisting":true,"Message":"Department Code cannot be empty”}]
      In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403

6. Swipes Export methods


      The API provides a number of methods for receiving swipes (swipe is record of Clock IN or Clock OUT event):

      A. GetClockings:

            The method returns swipes based on the date interval submitted.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetClockings?login=Login&password=Password&from Date=FromDate&toDate=ToDate


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’

 

      B. GetClockingsByTerminal:

            The method returns swipes based on the date interval submitted related to the terminal.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetClockingsByTerminal?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&terminalIP=TerminalIP


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


terminalIP


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075


      C. GetClockingsByEmployee:

            The method returns swipes based on the date interval submitted related to the employee.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetClockingsByEmployee?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&externalEmployeeId=externalEmployeeId



Parameter



Description



login



Login for the web service



password



Password for the web service



fromDate



Date represented as string with format ‘yyyy-MM-dd’



toDate



Date represented as string with format ‘yyyy-MM-dd’



employeeExternalId



Unique external ID of an employee



      D.  GetClockingsByDepartment:

            The method returns swipes based on the date interval submitted related to the persons department.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetClockingsByDepartment?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&departmentCode=departmentCode


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


departmentCode


Department code


            All the methods return the array of Swipe object in JSON format. The attributes of the object are defined below:


Parameter


Type


Description


ExternalId


string


Unique external ID of the employee. If employee does not have external ID - employee Code is shown


TerminalIP


string


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075


ScanTime


string


Date represented as string with format ‘yyyy-MM-dd HH:mm:ss’


ReaderType


string


Represents the way employee was identified. Possible values are:

         Card
         Finger
         Pin
•         Common

Source


string


Name of the terminal (or ‘Manual” for manually added swipes)


Direction


string


In or Out


            [{"ExternalId":"1","TerminalIP":"192.168.000.001","ScanTime":"2015-05-08 14:01:00","ReaderType":"Pin","Source":"Front door","Direction":"In"},                                                                                                                              {"ExternalId":"1","TerminalIP":"192.168.000.002","ScanTime":"2015-05-08 18:10:00","ReaderType":"Pin","Source":"Back door","Direction":"Out"},                                                                                                                           {"ExternalId":"2","TerminalIP":"192.168.000.001","ScanTime":"2015-05-08 08:45:00","ReaderType":"Finger","Source":"Front door","Direction":"In"}]
   
 In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

7. Breaks export methods


      The API provides a number of methods for receiving breaks:

       A. GetBreaks:

                  The method returns breaks based on the date interval submitted.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetBreaks?login=Login&password=Password&from Date=FromDate&toDate=ToDate


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’

 

      B. GetBreaksByTerminal:

                  The method returns breaks based on the date interval submitted related to the terminal.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetBreaksByTerminal?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&terminalIP=TerminalIP


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


terminalIP


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075

      C. GetBreaksByEmployee:

                  The method returns breaks based on the date interval submitted related to the employee.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetBreaksByEmployee?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&externalEmployeeId=externalEmployeeId



Parameter



Description



login



Login for the web service



password



Password for the web service



fromDate



Date represented as string with format ‘yyyy-MM-dd’



toDate



Date represented as string with format ‘yyyy-MM-dd’



employeeExternalId



Unique external ID of an employee



      D. GetBreaksByDepartment:

                  The method returns breaks based on the date interval submitted related to the persons department.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetBreaksByDepartment?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&departmentCode=departmentCode


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


departmentCode


Department code



                        All the methods return the array of Break Swipe object in JSON format. The attributes of the object are defined below:


Parameter


Type


Description


ExternalId


string


Unique external ID of the employee. If employee does not have external ID - employee Code is shown


TerminalIP


string


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075


ScanTime


string


Date represented as string with format ‘yyyy-MM-dd HH:mm:ss’


ReaderType


string


Represents the way employee was identified. Possible values are:

 Card
 Finger
 Pin
• Common

Source


string


Name of the terminal (or ‘Manual” for manually added swipes)


Direction


string


Start or End


                        [{"ExternalId":"1","TerminalIP":"192.168.000.001","ScanTime":"2015-05-08 14:01:00","ReaderType":"Pin","Source":"Front door","Direction":"Start"},                                                                                                      {"ExternalId":"1","TerminalIP":"192.168.000.002","ScanTime":"2015-05-08 18:10:00","ReaderType":"Pin","Source":"Back door","Direction":"End"},                                                                                                            {"ExternalId":"2","TerminalIP":"192.168.000.001","ScanTime":"2015-05-08 08:45:00","ReaderType":"Finger","Source":"Front door","Direction":"Start"}]
     
In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

8. Access Control Transactions Export Methods


      The API provides a method for receiving access control swipes (swipe is record of IN, OUT, Check IN and Check OUT events):

      A. GetLastAccessControlSwipes:

      The method returns swipes based on the date interval submitted. The location of the method is the following (accessible by both GET and POST):

      https://customer.synel-saas.com/ExternalAccess/GetLastAccessControlSwipes?login=Login&password=Password


Parameter


Description


login


Login for the web service


password


Password for the web service


      The method returns the array of AC Swipe object in JSON format. The attributes of the object are defined below:


Parameter


Type


Description


ExternalId


string


Unique external ID of the employee. If employee does not have external ID - employee Code is shown


EmployeeName


string


Employee first name and employee last name


TerminalIP


string


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075. If employee does not have any access control swipes the value will be null


TerminalName


string


Title of terminal entered in Synergy Workforce. If employee does not have any access control swipes the value will be null


ScanTime


string


Date represented as string with format ‘yyyy-MM-dd HH:mm:ss’. If employee does not have any access control swipes the value will be null


ReaderName


string


Title of reader where access control swipe was made. If employee does not have any access control swipes the value will be null


[{"ExternalId":"2","EmployeeName":"John Smith","TerminalIP":"192.168.009.030","TerminalName":"Terminal A","ScanTime":"2017-05-13 11:18:57","ReaderName":"Entry Door of Terminal A"}, {"ExternalId":"3","EmployeeName":"Jane Smith","TerminalIP":"192.168.009.031","TerminalName":"Terminal B","ScanTime":"2017-05-14 11:18:57","ReaderName":"Entry Door of Terminal B"}]

In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

9. Absence management methods

      The API provides a number of methods for import and export of absences:

      A. GetAbsences:

      The method returns absences.

      The location of the method is the following (accessible by both GET and POST):

      https://customer.synel-saas.com/ExternalAccess/GetAbsences?login=Login&password=Password


Parameter


Description


login


Login for the web service


password


Password for the web service


      The method returns the array of Absence object in JSON format. Attributes of the object are defined below:


Parameter



Type



Description



Code



string



Unique external ID of the absence



Name



string



Absence name




       [{"Code":"1","Name":"Holiday paid"},
        {"Code":"2","Name":"Holiday unpaid"},
        {"Code":"3","Name":"Sick paid"},
        {"Code":"4","Name":"Sick unpaid"}]

      B. InsertUpdateAbsences:

            The method returns absences.

            The location of the method is the following (accessible only through POST):

            https://customer.synel-saas.com/ExternalAccess/InserUpdateAbsences?login=Login&password=Password&absences=Absences



Parameter


Description


login


Login for the web service


password


Password for the web service


absences


The JSON string of array of Absence objects. Definition of abject is provided in related


 


table above


            Each absence record submitted in the array is processed following the logic below:

                  1. If Code is present in the database, the record is updated with new values.

                  2. If Code is not present in the database, new absence record is created.

            The result provided after method execution represents the result object (ProcessingResult) for each record submitted in JSON format.
            
             Please, refer for the table below for detailed explanation of result object.


Parameter



Type



Description



Id



string



Unique code of absence



IsSuccess



bool



Returns true for the successful insert/update or false in terms of failure



IsExisting



bool



Returns true for the existing absence (consequently the update is done) or false for the new (new record is added)



Message



string



Detailed message for the result


            
                  [{"Id":"1","IsSuccess":true,"IsExisting":true,"Message":"Absence Updated successfully"},
                   {"Id":"2","IsSuccess":true,"IsExisting":true,"Message":"Absenc e Updated successfully"},
                   {"Id":"3","IsSuccess":true,"IsExisting":false,"Message":"Absence added successfully"},
                   {"Id":"4","IsSuccess":true,"IsExisting":true,"Message":"Absenc e Updated successfully"}]

      C. GetEmployeeAbsences:

            The method returns employee absences for specific period.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetEmployeeAbsences?login=Login&password=Password&fromDate=FromDate&toDate=ToDate


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


      D. GetEmployeeAbsencesByEmployee:

            The method returns employee absences for specific period of specific employee.

            The location of the method is the following (accessible by both GET and POST):

            https://customer.synel-saas.com/ExternalAccess/GetEmployeeAbsencesByEmployee?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&employeeExternalId=EmployeeExtenalId


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


externalEmployeeId


Unique external ID of an employee



            Both GetEmployeeAbsences and GetEmployeeAbsencesByEmployee return array of EmployeeAbsence object.

            System supports morning and afternoon half day absences.

            If one of half day absence set as null, means that employee had only half day absence.

            Please, refer for the table below for detailed explanation of result object.


Parameter


Type


Description


Date


string


Date represented as string with format ‘yyyy-MM-dd’


EmployeeExternalId


string


Unique external ID of the employee. If employee does not have external ID - employee Code is shown


MorningAbsenceCode


string


Unique code of absence


AfternoonAbsenceCode


string


Unique code of absence



                  [{"Date":"2016-10-25", "EmployeeExternalId":"1", "MorningAbsenceCode":"2", "AfternoonAbsenceCode": "2"},
                   {"Date":"2016-10-26", "EmployeeExternalId":"1", "MorningAbsenceCode":"3", "AfternoonAbsenceCode": "2"},
                   {"Date":"2016-10-27", "EmployeeExternalId":"2", "MorningAbsenceCode":null, "AfternoonAbsenceCode":"2"},
                   {"Date":"2016-10-28", "EmployeeExternalId":"2", "MorningAbsenceCode":"2", "AfternoonAbsenceCode":null}]

      E. InsertUpdateEmployeeAbsences:

          Method allows to insert new employee absence or update existing one.

          The location of the method is the following (accessible only through POST):

          https://customer.synel-saas.com/ExternalAccess/InserUpdateEmployeeAbsences?login=Login&password=Password&employeeAbsences=EmployeeAbsences


Parameter


Description


login


Login for the web service


password


Password for the web service


employeeAbsences


The JSON string of array of EmployeeAbsence objects. Definition of abject is provided in related table above


            Each absence record submitted in the array is processed following the logic below:

                  1. If EmployeeExternalId is not present in database, corresponding error message will be returned for this record

                  2. If MorningAbsenceCode is not present in the database, absence will be created in the database. Same code will be used for absence name

                  3. If AfternoonAbsenceCode is not present in the database, absence will be created in the database. Same code will be used for absence name

                  4. Morning and Afternoon absence will be set for the employee on specified date. If one of the absence code is null - only half day absence will be set

            The result provided after method execution represents the result object (ProcessingResult) for each record submitted in JSON format.

            Please, refer for the table below for detailed explanation of result object.


Parameter


Type


Description


Id


string


Unique external ID of the employee


IsSuccess


bool


Returns true for the successful insert/update or false in terms of failure


IsExisting


bool


Returns true for the existing absence (consequently the update is done) or false for the new (new record is added)


Message


string


Detailed message for the result


            [{"Id":"1","IsSuccess":true,"IsExisting":true,"Message":"Employee Absence Set successfully"},
             {"Id":"2","IsSuccess":true,"IsExisting":true,"Message":"Employee Absence Updated successfully"},
             {"Id":"3","IsSuccess":true,"IsExisting":false,"Message":"Absence added successfully, Employee Absence set successfully"},
             {"Id":"4","IsSuccess":true,"IsExisting":true,"Message":"Employee Absence Updated successfully"}]
           
 In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.

10. Tips Export Methods


      The API provides a number of methods for receiving employee tips.

            A. GetTips:

                  The method returns tips based on the date interval submitted.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetTips?login=Login&password=Password&fromDate=FromDate&toDate=ToDate


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’

            B. GetTipsByEmployee:

                  The method returns tips based on the date interval submitted related to the employee.

                  The location of the method is the following (accessible by both GET and POST):

                  https://customer.synel-saas.com/ExternalAccess/GetTipsByEmployee?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&externalEmployeeId=externalEmployeeId


Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


employeeExternalId


Unique external ID of an employee


            C. GetTipsByDepartment:

                  The method returns tips based on the date interval submitted related to the persons’ department.
                  
                  Location:
                  https://customer.synel-saas.com/ExternalAccess/GetTipsByDepartment?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&departmentCode=departmentCode


Parameter



Description



login



Login for the web service



password



Password for the web service



fromDate



Date represented as string with format ‘yyyy-MM-dd’



toDate



Date represented as string with format ‘yyyy-MM-dd’



departmentCode



Department code



            D. GetTipsByTerminal:


                The method returns employee tips based on the date interval submitted related to the terminal.

                The location of the method is the following (accessible by both GET and POST):

                https://customer.synel-saas.com/ExternalAccess/GetTipsByTerminal?login=Login&password=Password&fromDate=FromDate&toDate=ToDate&terminalIP=TerminalIP



Parameter


Description


login


Login for the web service


password


Password for the web service


fromDate


Date represented as string with format ‘yyyy-MM-dd’


toDate


Date represented as string with format ‘yyyy-MM-dd’


terminalIP


Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx) e.g. 081.115.002.075


                  All the methods return the array of EmployeeTip object in JSON format.

                  The attributes of the object are defined below:

Parameter

Type

Description

ExternalId

string

Unique external ID of the employee. If employee does not have external

ID – employee Code is shown

Date

string

Date represented as string with format ‘yyyy-MM-dd’

Tip

decimal

 Tip amount

TerminalIP

string

Terminal IP represented as string with 0-padded octets (xxx.xxx.xxx.xxx)  e.g. 081.115.002.075. If added manually, then value is empty

Source

string

Name of the terminal from which tip was added. IF added manually, value holds username added the tip

TipType

int

Type of the tip. 0 – Cash, 1 - Credit

               
[{"EmployeeExternalId":"1","Date":"2018-02-01","Tip":10.50000,"TerminalIP":"081.115.002.075","Source":"Synergy device","TipType":0}, 
{"EmployeeExternalId":"1","Date":"2018-02-02","Tip":19.99000,"TerminalIP":"081.115.002.075","Source":"Synergy device","TipType":0}, 
{"EmployeeExternalId":"2","Date":"2018-01-07","Tip":11.50000,"TerminalIP":"081.115.002.075","Source":"Synergy device","TipType":1}, 
{"EmployeeExternalId":"2","Date":"2018-02-16","Tip":9.99000,"TerminalIP":"","Source":"john.smith","TipType":1}, 
{"EmployeeExternalId":"2","Date":"2018-02-02","Tip":99.99000,"TerminalIP":"","Source":"jane.smith","TipType":0}]

 

                  
In case of failure of the method, the HTTP ERROR 500 code is received, while the failed login causes the HTTP ERROR 403.


    • Related Articles

    • Synergy Workforce Prerequisites document - Local Installation

      1. Recommended Specification Windows Server 2016 or Higher Virtual Servers Supported MS SQL Server 2016 or Higher with Management Studio installed. Customer must provide the following setup Mix Mode Authentication Mode  SA or equivalent ...
    • Synergy Workforce / Timelog Web always pays the expected hours no more no less.

      When expected hours are paid with no OT or shortfall check if the employee's record in personnel has the tick in "Not Expected to Swipe" Not expected to swipe not only removes absence exceptions it also triggers the fixed payment of expected hours ...
    • IR (Hand Punch) Setup in Synergy Workforce

      Go to Menu - System Setup - Devices Click on the icon to add device and fill in the respective parameters as required.       General Tab Type = General Utilization = Select either Time and Attendance or Access Control or both Time and Attendance + ...
    • Synergy Workforce - Maintenance Screen - Sync Guide

      Menu - Maintenance - Synergy Face Devices screen allows: By Devices: Sync Work Codes Sync OFFLINE data Sync New Templates Sync All Templates Sync Firmware  By Employees: Sync Templates and OFFLINE data of selected employees to all Synergy A Devices
    • Synergy Workforce - Employee Face Template Management Guide

      Menu - Maintenance - Synergy Face Templates screen allows: Displays who are enrolled and who are not enrolled Enrolled Date Allows deleting the template from Database Allows changing the Face Employee authorisation mode Allows allocating Face device ...