0% found this document useful (0 votes)
272 views12 pages

Availo API Integration Guide

This document provides summaries and sample requests/responses for three APIs available from Availo: 1. Get Daily Attendance Report which returns all transactions for an employee on a given date. 2. Get Working Report All Employee which returns all transaction sessions for all employees in a given date range. 3. Securing Requests which describes including an API key in requests for security and authentication purposes.

Uploaded by

Mohammed Abdin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
272 views12 pages

Availo API Integration Guide

This document provides summaries and sample requests/responses for three APIs available from Availo: 1. Get Daily Attendance Report which returns all transactions for an employee on a given date. 2. Get Working Report All Employee which returns all transaction sessions for all employees in a given date range. 3. Securing Requests which describes including an API key in requests for security and authentication purposes.

Uploaded by

Mohammed Abdin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Availo Integration Document

1
Content

1. About 2
2. Securing Requests 4
3. Get Daily Attendance Report 5
4. Get Working Report All Employee 9

2
1. Securing Requests
For security reasons, you should include API key in each request header to make sure that
request coming from your side, otherwise request will be discarded.

To verify the request that comes from your side, You need to do the following:
1- You will get service_key for your service from service provider(Availo team).
2- Every request to Availo will contain header with name service_key.

3
2. Get Daily Attendance Report

Link: {Base_Url}/api/ExternalReports/GetDailyAttendanceReport
Method Type: POST
Content Type: Application/Json
Description: Return all transactions (getting in and getting out) of an employee in a specific date.

Request object:

Field Required Type Description

[Link] The date of returning


Yes Date
the employee movements

The employee job number


[Link] Yes string to return her/his
movements

KSA (-180)
[Link] Yes int UAE (-240)
Jordan (-120)

PageNumber Yes int The current Page number

The number of rows per


PageSize Yes int
page

4
Sample Request:

{
"pageNumber": 1,
"pageSize": 10,
"data": {
"timeZoneOffset": -120,
"jobNumber": "0",
"date": "2020-11-22"
}
}

5
Response object:

Field Required type Description

List of all
List of
Data Yes employee’s
objects
movements

if the request is
Status Yes bool
a success or not

The error message


message No string that returns from
request

6
Sample Response:

{
"data": {
"list": [
{
"user": {
"firstName": "heba",
"lastName": " ",
"userName": "[Link]@[Link]",
"jobNumber": "0"
},
"accessGate": {
"nameAr": "heba",
"nameEn": "gps"
},
"resultStatus": "Confirmed",
"transactionType": "GetOut",
"transactionMethod": "Voice",
"transactionDate": "17:57"
}
],
"totalCount": 2
},
"status": true,
"message": ""
}

7
3. Get Working Report All Employee

Link: {Base_Url}/api/ExternalReports/GetWorkingReportAllEmployee
Method Type: POST
Content Type: Application/Json
Description: Return all transactions sessions of All employees during a period of dates.

Request object:

Field Required Type Description

Data. FromDate The start date of


Yes Date
period

Data. ToDate Yes Date The end date of period

The expected values are

(1) means that you need


to return the first
getting in and the last
getting out for each
[Link] Yes int
employee per day.
(2) means that you need
to return all employees
sessions (Getting in
and Getting out) in the
day

KSA (-180)
[Link] Yes int UAE (-240)
Jordan (-120)

PageNumber Yes int The current Page number

The number of rows per


PageSize Yes int
page

8
Sample Request:

{
"pageNumber": 1,
"pageSize": 50,
"data": {
"timeZoneOffset": -120,
"fromDate": "2020-11-22",
"toDate": "2020-11-23",
"displayType": 1
}
}

9
Response object:

Field Required type Description

List of all
List of
Data Yes employees with
objects
their movements

if the request is
Status Yes bool
a success or not

The error message


message No string that returns from
request

Sample Response:

10
11
{
"data": {
"list": [
{
"jobNumber": "0",
"userName": "[Link]@[Link]",
"fullName": "heba ",
"totalPlanWorkHourDuringInterval": "00:00",
"totalHoursWorkDuringInterval": "00:01",
"totalCheckInLateHoursDuringInterval": "00:00",
"totalCheckOutLateHoursDuringInterval": "00:00",
"workReportTransactions": {
"list": [
{
"selectedDate": "2020-11-22T[Link]",
"status": "Completed",
"workingHours": "-",
"checkInDate": "17:56",
"checkInAccessGateNameAr": "heba",
"checkInAccessGateNameEn": "gps",
"checkOutDate": "17:57",
"checkOutAccessGateNameAr": "heba",
"checkOutAccessGateNameEn": "gps",
"actualWorkingHours": "00:01",
"sessionTotalCheckInLateHours": "00:00",
"sessionTotalCheckOutLateHours": "00:00",
"sessionTotalShortesHours": "00:00",
"sessionTotalOverTimeHours": "00:00",
"sessionTotalOverTimeExtraHours": "00:00",
"sessionTotalHolidayOverTimeHours": "00:00"
}
],
"totalCount": 2
}
}
],
"totalCount": 3
},
"status": true,
"message": ""
}

12

You might also like