SFTP Integration

User data integration based on Secure File Transfer Protocol.

Introduction

This document's objective is to provide an elaboration of data requirements with reasoning, the approach to be followed for integration, guidelines, and details required.

Data Requirements

The following data fields need to be shared for all employees in a CSV format. The nomenclature for the file shared to be 'ClientName_DD_MM_YYYY'.

Data Fields are provided below:

Column

Data Fields

Required / Conditional

Data Type

A

Employee ID

Required

Varchar

B

Email

Required

Varchar

C

First Name

Required

Varchar

D

Last Name

Required

Varchar

E

Access Role*

Required

Varchar

F

Department

Conditional

Varchar

G

Department Head Email

Conditional

Varchar

H

Designation

Conditional

Varchar

I

Grade Name

Conditional

Varchar

J

HR Email

Conditional

Varchar

K

Manager Email

Conditional

Varchar

L

Cost Centre

Conditional

Varchar

M

Cost Centre Head

Conditional

Varchar

N

Business Unit

Conditional

Varchar

O

Site

Conditional

Varchar

P

Joining Date

Required

Date

Q

DOB

Required

Date

R

Contact

Conditional

Integer

S

Employee Status**

Required

Varchar

*Access Roles can be User, Manager, General Admin & Super Admin.

**Employee Status can be Active/Inactive.

The fields marked as conditional depend upon the modules available, the Rewards matrix, etc.

SFTP Integration Approach

Empuls uses the SFTP approach of data transfer, which follows the structure as provided in the image below.

Integration Process

1. Empuls team shall provide the SFTP folder setup details, namely the Folder link, Username & Password.

2. The client HRMS function is expected to push the CSV file to the SFTP folder. The data shall be of the sequence as provided in the Data Requirements section above. The first row should contain column headers, which shall be ignored while integrating. The system can set a daily scheduler to push the data at midnight.

3. The data shared will be pulled by the Empuls application at 1 am through a scheduled crone job. The system shall validate and process data as elaborated in the next section.

4. The system shall log the update status and send a mail communication to the client POC regarding the status of the data uploaded. Details of the mail are provided in the next section.

Data Validation and Processing

The data sharing shall follow the guidelines provided below.

  • The data shall be shared in a standard excel file with .csv extensions.

  • The data shall follow the format as provided in the data requirements section.

  • The system will validate the data with checks if

    • Mandatory fields are not empty.

    • The data shared matches the standard template wrt to columns.

    • The email id field has a valid email id.

    • The primary email id field has a valid domain (among the whitelisted domain names).

  • The data processing shall follow the sequence below:

    • The CSV data is read in rows wherein the email id in the first row is compared with the whole inactive list.

      • If the user exists in the inactive state, the data is updated as per the newly collected data. The user account is now flagged as active.

      • If the user does not exist, then the user account is created and flagged as active.

    • The process continues until the last row of the excel sheet is read.

    • Users who are marked "Inactive" under the Status column in the input CSV will be deactivated.