Skip to main content

EAS Integration

Cause

There was a need to exchange data between EAS and Skills Workflow


File Transfer Technology

The JSON files will be transferred via an SFTP server. The server must be set up by the Agency and credentials must be given to Skills Workflow. Files pertaining to data transfers are to be placed in the Data directory on the SFTP server. Files pertaining to process requests are to be placed in the Process directory on the SFTP server.


File Naming Conventions

Each JSON filename will have a prefix, body and suffix. The name will convey information to both Agency and Skills Workflow as to the intent and content of the file as described below. The file name format will be as follows: prefix_body_suffix.json

Prefix

The filename prefix will consist of two characters. The first character indicates the originator of the file. The second character indicates the type of information contained in the file.

First Character

  • A – Originated by Agency
  • S – Originated by Skills Workflow

Second Character

  • D – Data
  • P – Process Command
  • R – Data/Process Results

Body

The body of the filename is simply used to give a friendly name or to designate specific content.

Suffix

The filename suffix is used to ensure a unique file name and implies a process order when multiple files with the same prefix and body exist. The suffix is simply the date and time relevant to the content of the file in the following format: YYYYMMDDHHmmss.

  • YYYY – The four character year
  • MM – The two character month, left padded with a zero when necessary (01-12)
  • DD – The two character day of the month, left padded with zero when necessary (01-31)
  • HH – The two character hour, in 24 hour format, left padded with zero when necessary (00-23)
  • mm – The two character minute, left padded with zero when necessary (00-59)
  • ss – The two character second, left padded with zero when necessary (00-59)

File Naming Examples

The following are examples of file names. The JSON template details will follow.

  • AD_LeaveBalance_20180815090119.json – File originated by Agency, containing Leave Balance data to be consumed by Skills Workflow.
  • AD_LeaveBalance_20180815090119.json – File originated by Skills Workflow, containing the results of the Leave Balance data submitted in the AD_LeaveBalance_20180815090119.json file.
  • AD_TimeBatch_20180801000000.json – File originated by Agency, containing Time Batch data to be consumed by Skills Workflow.
  • SR_TimeBatch_20180801000000.json – File originated by Skills Workflow, containing the results of the Time Batch data submitted in the AD_TimeBatch_20180801000000.json file.
  • SP_CreateJobJacket_20180815144600.json – File originated by Skills Workflow with the process command to create a job jacket.
  • AR_CreateJobJacket_20180815144600.json – Results file from Agency in response to the command (SP_CreateJobJacket_20180815144600.json) request to create a job jacket

JSON Templates

This section will describe the JSON templates for the currently known exchange processes. The consumer of the JSON files will delete the file from the SFTP server when it has been processed regardless of the process results: success, failure or otherwise.

This will contain the user information requested by Skills Workflow. The frequency will be at least once per day but may be a few times per day. The user data is based on a combination of Reach and Active Directory information. Reach data is only captured once per day but Active Directory changes can occur at any time.

The integration does not preclude the creation of users manually.

In order for users not to be inactivated because they are not in the file, there is a field in the Integrator settings, that allows you to set how many days the user will have before be inactivated if it does not come in the file.

  • Expiration Days

File Name

The file name that will always be used for this file: AD_UserAccounts_YYYYMMDDHHmmss.json where the YYYYMMDDHHmmss suffix indicates the as of date. This overrides any previous files information.

File Directory

This file is to be placed in the Data directory on the SFTP server.

Template

{
{
"useraccounts": {
"asofdate": "[AS OF DATE]",
"recordcount": "[RECORD COUNT]",
"users": [
{
"userid": "[SAM ACCOUNT NAME]",
"personid": "[USER ID]",
"company": "[COMPANY]",
"fullname": "[FULL NAME]",
"divisionid": "[DIVISIONID]",
"departmentid": "[DEPARTMENTID]",
"position": "[POSITION]",
"directmanagerid": "[DIRECT MANAGER SAM ACCOUNT NAME]",
"timeapproverid": "[TIMESHEET APPROVER SAM ACCOUNT NAME]",
"workphone": "[WORK PHONE]",
"email": "[EMAIL]",
"username": "[SAM ACCOUNT NAME]",
"scheduledhours": "[REQUIRED WEEKLY HOURS]",
"contracttype": "[FULL-TIME/PART-TIME/FREELANCER]",
"hiredate": "[LATEST HIRE DATE/CREATE DATE]",
"enddate": "[TERM DATE/EXPIRATION DATE]"
},
{
"userid": "[SAM ACCOUNT NAME]",
"personid": "[USER ID]",
"company": "[COMPANY]",
"fullname": "[FULL NAME]",
"division": "[DIVISION]",
"position": "[POSITION]",
"directmanagerid": "[DIRECT MANAGER SAM ACCOUNT NAME]",
"timeapproverid": "[TIMESHEET APPROVER SAM ACCOUNT NAME]",
"workphone": "[WORK PHONE]",
"email": "[EMAIL]",
"username": "[SAM ACCOUNT NAME]",
"scheduledhours": "[REQUIRED WEEKLY HOURS]",
"contracttype": "[FULL-TIME/PART-TIME/FREELANCER]",
"hiredate": "[LATEST HIRE DATE/CREATE DATE]",
"enddate": "[TERM DATE/EXPIRATION DATE]"
}
]
}
}
}

useraccounts – Main object

  • asofdate – Date from which the data is relevant
  • recordcount – The number of user records contained in the users object list
  • users – Object that contains a list of user objects.
    • userid – (UID) - Unique string identifier for a user record - In this case is sent to Skills Workflow the SAM Account Name.
    • personalid - (UID) - Unique string identifier for a user record - The personalid of the user in EAS. -
    • company – The code of the company assigned to the user
    • fullname – The full name of the user
    • divisionid – The divisionid - will be checked with the SW Division Code
    • departmentid – The departmentid - will be checked with the SW Department Code
    • position – The title of the user
    • directmanagerid – The SAM Account Name of the direct manager
    • timeapproverid – The SAM Account Name of the time approver
    • workphone – Work phone number of the user
    • email – Email address of the user
    • username – SamAccountName (login name) of the user
    • scheduledhours – Number of hours the user is scheduled to work in a week
    • contracttype – Full-Time/Part-Time/Freelancer
    • hiredate – Actual Hire date for employees, Active Directory created date for Freelancers
    • enddate – Actual Term date for employees, Active Directory expires date for Freelancers

UserAccount file Skills Workflow Description

userid SAM Account Name User ExternalId (UID) - Unique string identifier for a user record personalid User Id User ExternalNumber (UID) - Unique string identifier for a user record - it changes everytime that the user change his contract type company CompanyCode Company CompanyCode The code of the company assigned to the user fullname User full name Employee Name The full name of the user divisionid Division Id Division DivisionCode The value must exist in Skills Workflow departmentid Department ID Department DepartmentCode The value must exist in Skills Workflow position User title User UserType The value must exist in Skills Workflow directmanagerid The SAM Account Name of the Direct Manager User ResponsibleExternalId timeapproverid Timesheet Approver N/a N/a workphone Work phone number of the user User Phone email Email address of the user User E-mail username SamAccountName (login name) of the user User SSOUsername scheduledhours Number of hours the user is scheduled to work in a week User Minimum Weekly Hours For minimum daily hours we split the value by 5 contracttype Full-Time/Part-Time/Freelancer User UserType hiredate Actual Hire date for employees, Active Directory created date for Freelancers User HireDate enddate Actual Term date for employees, Active Directory expires date for Freelancers User EndDate

Conclusion

The contents of this document create the foundation for data and process communication methodology between Skills Workflow and Agency. The current known data and process transfers are contained in this document but more may be created as additional data and process needs are discovered.