APIs

Login

URL = {{api_url}}/account/login

Request Type = POST

Request Header

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Content-Type = application/json

Body

{

"username": {username},

"password": {password}

}

Response

{

"status": true,

"data": {

"token": "{AUTH_TOKEN}"

},

"message": "Successfully logged in"

}

Get current User details

URL = {{api_url}}/account

Request Type = GET

Request Header

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Authorization = Bearer {{AUTH_TOKEN}}

Content-Type = application/json

Response

{

"status": true,

...

}

Timecard - Add Punch

URL = {{api_url}}/webclock/punch_v2 (for add punches only)

URL = {{api_url}}/webclock/punch_v3 (for overwrite punch add/update punches)

Request Type = POST

Request Header

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Authorization = Bearer {{AUTH_TOKEN}}

Content-Type = application/json

Body

punch_source_id = 5 (required)

datetime = punch datetime (required) ex = YYYY-MM-DD HH:MM:SS

auto_status_update_flag = (required)

possible values = 0,1

Clock Wares auto checkout logic => Post 0 if you want run the logic, 1 if skip auto-checkout logic

os_clockin_type = (required)

possible values =

0 => checkIN,

1 => checkOut,

2 => BreakOut,

3 => BreakIN



os_emp_account_id = [optional] #1

timeclock_os_emp_pin = employee timeclock pin [optional] #2



us_user_site_profile_id = site ID [optional] #3

us_user_site_code = site code [optional] #4



timeclock_device_id = device ID [optional] #5

timeclock_name = timeclock name [optional] #6



os_department_id = department ID [optional]

department_code = department code [optional]

os_clockio_work_code = workcode ID [optional]

verified = 1

geo = geo location array {"lat": XXX, "long": XXX} [optional]


--------------------------------------------------

#1, #2 = at least one required from both

#3, #4 = at least one required from both

#5, #6 = at least one required from both

Response

{

"status": true,

...

}

Timecard - Get Punch

URL = {{api_url}}/webclock/punches_v2

Request Type = POST

Request Headers

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Content-Type = application/json

Authorization = Bearer {{AUTH_TOKEN}}


Body

payperiod = start_datetime & end_datetime for employee punches (required) ex: 2018/12/01 - 2018/12/07

os_emp_account_id = unique ID for employee from Clock Wares DB [optional]

timeclock_os_emp_pin = employee timeclock pin [optional]

timeclock_name = timeclock name [optional]

record_processed_flag = Record Process Flag [optional]

# 0 => processing,

-1 => failed,

1 => processed,

3 => pending


Response

{

"status": true,

"data": [

{

"os_emp_account_id": "21160",

"timeclock_os_emp_pin": "1234",

"os_clockin_type": "1",

"datetime": "2018-09-06 02:35:00",

"os_department_id": "0",

"os_clockio_work_code": "0",

"us_user_site_profile_id": "",

"record_processed_flag": "3",

"geo": null,

"other_info_json": null,

"clock_timeclock_attendance_raw_data_id": "2439809",

"raw_log_json": {"status":1,"data":{"id":"XXXX",...}},

"deviceuuid": null,

"site_id": 0

},

{ ... }

],

"message": "Punches"

}

Employee - Get List

URL = {{api_url}}/employee

Request Type = POST

Request Headers

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Content-Type = application/json

Authorization = Bearer {AUTH_TOKEN}


Body

os_emp_account_id = unique ID for employee from Clock Wares DB [optional]

timeclock_os_emp_pin = employee timeclock pin [optional]

employee_ext_system_id = employee partner-id from Humanity, Intuit, BambooHR etc. [optional]


is_active = employee status filter 0=>in-active, 1=>active (default = 1)

department_code = department code [optional]

us_user_site_code = site/location code [optional]

timeclock_name = timeclock device name [optional]


page = current page (used for pagination), in one request 1000 records can be retrieved


Response

{

"status": true,

"data": [

{

"os_emp_account_id": "xxx", #unique ID for employee from Clock Wares DB

"os_emp_first_name": "xxx", #employee first name

"os_emp_middle_name": NULL, #employee middle name

"os_emp_last_name": "xxx", #employee last name

"os_emp_email": "xxx", #employee email address

"os_emp_phone": null, #employee phone number

"os_emp_fax": null, #employee fax number

"os_emp_address1": null, #employee address1

"os_emp_address2": null, #employee address2

"os_emp_city": null, #employee city

"os_emp_state": null, #employee state

"os_emp_country": null, #employee country

"os_emp_zip": null, #employee address zip

"os_emp_gender": null, #employee gender

"os_emp_hire_date": null, #employee hire date

"os_emp_biz_employee_number": null, #employee biz number

"timeclock_os_emp_pin": "35", #employee timeclock pin

"department_code": null, #employee dept code

"os_emp_ssn": null, #employee ssn number

"ext_system_emp_id": "3911160" #employee partner id

},

{...},

{...}

],

"message": "Success"

}

Device/Timeclock - Get Status

URL = {{api_url}}/webclock/device_status

Request Type = GET

Request Headers

X-Requested-With = XMLHttpRequest

APPKEY = mobilekey

Content-Type = application/json

Authorization = Bearer {AUTH_TOKEN}


Body

timeclock_name = "test_name"


Response

{

"status": true,

"data": {

"last_synch_on": "2018-09-01 15:10:21",

"timezone": "PST"

},

"message": "device status"

}