EasySecure International

            i3.IdentySoft.com - Hoe werkt de webservice?

            Wij geloven in “best of breed” oplossingen. Wat bedoelen wij daarmee? Er zijn veel uitstekende softwareoplossingen voor deelgebieden beschikbaar. Denk bijvoorbeeld aan het beste HR-pakket, het beste planningspakket etc. “Best of breed” oplossingen zijn sinds de volledige acceptatie van cloud absoluut de beste oplossingen voor organisaties. Elke organisatie kan nu per deelgebied (HR, Planning, Tijdregistratie, Toegang) de beste oplossing kiezen. Door die te integreren komt u tot een ideale oplossing waarbij de synergie perfect tot zijn recht komt.

            EasySecure International kiest voor integratie en zorgt daarbij voor de ideale samenstelling. U kiest u de beste oplossingen die speciaal zijn afgestemd op uw type organisatie. Door de integratiemogelijkheden leidt dit tot één goed op elkaar afgestemde oplossing. In het Windows-tijdperk kon dit leiden tot hoge kosten en langdurige implementaties. Door het gebruik van cloud en door uw bewuste keuze van EasySecure International, die met meer dan 50 gerenommeerde cloud partners (aantal blijft groeien) samenwerkt, is de implementatie snel, beheersbaar en betaalbaar. Het biedt u een optimaal resultaat waarbij de systemen naadloos in elkaar passen. Voorbeelden van integratie zijn onder meer planning, HR, alarmsystemen, lockers, sleutelkasten en camera events. 

            Binnen IdentySoft hebben wij standaard een webservice beschikbaar m eenvoudig een koppeling tot stand te kunnen brengen. De webservice kan gebruikt worden voor meerdere zaken zoals het ophalen van de log gegevens voor het verwerken van de tijdregistratie of het toesturen van medewerkers gegevens om dubbele invoer te voorkomen. In dit artikel bieden wij u meer technische informatie over onze webservice en de verschillende functies. 

            Heeft u ook interesse in “the best of different worlds”? Wilt u zelf graag testen met onze webservice? Wij helpen u graag verder
            Meer informatie over onze bestaande integratie partners kunt u ook terugvinden op onze website


            ESWS

            Important!

            1. In order to a company to be able to use the webservice, the Webservice "ESWS I3" must be linked to the company in question from manager.i3.identysoft.com

            2. p_companyID is the security code each company will be provided with

            3. Error messages we send from all SOAP calls:

            'CONNECT_ERROR_INVALID_SECURITY_HASH' - the security provided is not valid, we don't know to which company to connect
            'ESWS_I3_NOT_ACTIVE_ERROR_FOR_COMPANY' - the Webservice "ESWS I3" is not linked to the company from manager

            4. We are able to export any special character from the I3 database with our webservice, however we are able to import only special characters for which the ASCII code is less or equal with 255 (for a complete list check the link at https://dev.w3.org/html5/html-author/charref). This restriction is only related to the updateUser function. The special characters which can not be imported will be replaced with a ? sign.

            Test client

            Online php test client:  http://ws.i3.identysoft.com/webservicesesws/test-client (login required)

            PHP example of our online test client: http://wiki.identysoft.com/files/identysoft_i3/webservices/esws/testClient.txt

            wsdl link:  http://ws.i3.identysoft.com/webservicesesws?wsdl

            Get the logs from a specified time-interval

            getLogs(p_companyID, p_exportTimeFrom, p_exportTimeTo, p_locationId, p_userId, p_infoFieldName, p_infoFieldValue)

            p_companyID (required) – the security code you have been provided with, string (32)
            p_exportTimeFrom (required) – the start of the periode, datetime formatted string (yyyy-mm-dd hh:ii:ss)
            p_exportTimeTo (required) – the end of the periode, datetime format string (yyyy-mm-dd hh:ii:ss)
            p_locationId (optional) – for which location get the logs, integer
            p_userId (optional) – for which user get the logs for, integer
            p_infoFieldName (optional) – we can filter the logs to certain users looking based on this field, possible values: info1, info2, ..., info14 (string)
            p_infoFieldValue (optional) – we can filter the logs to certain users looking for this value in the p_infoFieldName field (string)

            Note:
            If p_infoFieldName is not one of the info1, ..., info14 values than the search based on user info fields will not take place

            Return values:

            getLogsObjectArray (array), containing structs (arrays) of <getLogsObject> with the following keys:

            scanID – the id of from the module_logs table, the id of the actual scan, integer
            Terminal – on which device the action has been taken place on, string - this field is also used to return possible error message when the case
            TerminalKey – what type of the action was: IN, OUT, DUTY IN, DUTY OUT, TNA_1, TNA_2, TNA_3, TNA_4, string
            UserID – to which user the action is related to, string
            Time – when the action took place, datetime formatted string (yyyy-mm-dd hh:ii:ss)
            LocationId – the id of the location where the event occured, integer
            LocationName – the name of the location, string
            Success – 1 in case of identify OK, else 0 (Access Not Granted, Verify Fail)

            Note:

            1. In case there is no result set to be returned, we send a "-1 NO RECORD" message in the Terminal field.

            2. In case there is > 4000 records to be returned by our wsdl, we display a warning message in the Terminal field, asking the user to use a smaller time frame to filter the logs.

            Get the logs from a specified scanId-interval

            getLogsById(p_companyID, p_exportIdFrom, p_exportIdTo)

            p_companyID (required) – the security code you have been provided with, string (32)
            p_ exportIdFrom (required) – the string first unique scanId, string
            p_ exportIdTo (required) – the last unique scanId, string

            Return values:

            getLogsObjectArray (array), containing structs (arrays) of <getLogsObject> with the following keys:

            scanID – the id of from the module_logs table, the id of the actual scan, integer
            Terminal – on which device the action has been taken place on, string - this field is also used to return possible error message when the case
            TerminalKey – what type of the action was: IN, OUT, DUTY IN, DUTY OUT, TNA_1, TNA_2, TNA_3, TNA_4, string
            UserID – to which user the action is related to, string
            Time – when the action took place, datetime formatted string (yyyy-mm-dd hh:ii:ss)
            LocationId – the id of the location where the event occured, integer
            LocationName – the name of the location, string
            Success – 1 in case of identify OK, else 0 (Access Not Granted, Verify Fail)

            Get all users

            getUsers(p_companyID)

            p_companyID (required) – the security code you have been provided with, string (32)

            Return values:

            getUsersObjectArray (array), containing structs (arrays) of <getUsersObject> with the following keys:

            UserId – the Id of the user, string - this field is also used to return possible error message when the case
            PIN – PIN value of the user, string
            Achternaam- lastname, string
            Voornaam – firstname, string
            Admin – if the user is admin 1, if the user is not admin 0, string
            Security – possible values: 0 or 1, string
            StartDate – starting which day the user is accepted to enroll, datetime formatted string (yyyy-mm-dd hh:ii:ss)
            ExpireDate – the last day the user can use Identysoft, datetime formatted string (yyyy-mm-dd hh:ii:ss)
            info1, string
            info2, string
            info3, string
            info4, string
            info5, string
            info6, string
            info7, string
            info8, string
            info9, string
            info10, string
            info11, string
            info12, string
            info13, string
            info14, string
            GroupS – a list of all the group names the user belongs to, string

            Update/Insert one user from/to the database

            updateUser(p_companyID, p_Id , p_PIN, p_Achternaam, p_Voornaam, p_Admin, p_Security, p_StartDate, p_ExpireDate, p_infoFields, p_groupName)

            p_companyID (required) – the security code you have been provided with, string (32)
            p_ID (required) – the Id of the user from the Identysoft database, string
            p_PIN (required) – the PIN of the user, string
            p_Achternaam (required) – the lastname of the user, string
            p_Voornaam (required) – the firstname of the user, string
            p_Admin (required) – 0 if not admin, 1 if admin, string
            p_Security (required) – 0 or 1, string
            p_StartDate (required) – starting with this date the user is active within Identysoft, datetime format string (yyyy-mm-dd hh:ii:ss)
            p_ExpireDate (required) – when the user becomes unavailable for Identysoft actions, datetime format string (yyyy-mm-dd hh:ii:ss)
            p_infoFields (required) – an associative array of type <updateUserInfosObject>, with the keys info1, info2, ..., info14.
            p_groupName (optional) – the name of the group the user belongs to, string

            Return values:

            'NO_ID_RECEIVED' / 'INCORRECT_ID_RECEIVED' / 'UPDATED' / 'NOT_UPDATED_ERROR' / 'INSERTED' / 'NOT_INSERTED_ERROR' - any of these strings

            How it works:

            We are checking if a p_Id was provided, if it wasn't we return a 'NO_ID_RECEIVED' message
            We are checking if the p_Id provided is valid or not (must be between 1 and 400000000 inclusive), if it is not valid we return a 'INCORRECT_ID_RECEIVED' message
            We are checking if a user with the provided p_Id exists within our database already, or not. If exists, we just make an update to the fields provided within the parameters (in this case, we ignore everything that is related to the group of the user)
            If the user is not yet in our database, we insert it
            If no p_groupName was provided, we search in the Identysoft database if we have a default group defined or not. If we do, we assign the user to that group
            If a p_groupName is provided, we check if a group with that name exists or not. If exists, we assign the user to the existing group, if doesn't, we create a new group and assign the user to it

            Helpful?  
            Help us to make this article better
            0 0