Integration Types

A guide detailing the types of integrations we can set up.

Integration Types

There are two main types of user integration, differentiated by how the data should be
transferred. We call these File Integrations and API integrations respectively.


API Integration

The main difference between an API integration and a file integration is the process of data transferred. The API integration, as its name implies, is based on pulling data from your source system via their open API, if one is available. The data is then largely handled on our end in the same manner as stated below for the file integration.

The set up for an API integration will vary from source system to source system, so we can't really provide guidance for each specific case.

But, for the purposes of the logic itself on our side, an API integration will in large part work exactly like the File Integration. We simply get a hold of the data in a different manner.


File Integration

A File Integration is, as its name suggests, based on the transfer of a file with data. For our purposes, this would be a .csv-file transferred over SFTP.

Access to our SFTP-server is included in the supplementary integration agreement by default. Our SFTP is hosted in AWS eu-west-1 region (located in Dublin, Ireland). If this is not suitable for your organization, you may provide us with a self-hosted SFTP and we can pull the files from this source instead.
(Do note, access to our server can only be done via private key)

The .csv-file(s) should be UTF-8 encoded, with ; as column separator, and include a header row stating the title of each column.

Naming convention of the files themselves is flexible, but we recommend avoiding dates, and referring to the contents of each particular file, i.e: wt_users.csv, wt_groups.csv, etc.

Each file can only refer to one type of Data Object. So, assuming we’re setting up an integration where all objects are synced, we’d need a separate file for each of them:

  • A file containing all the User Data Objects, from here on called the User File.
  • A file containing the Group Data Objects, here on referred to as the Group File.
  • And finally, a file containing the Segment Data Objects, which we’ll call the Segment
    File.

The order of the columns in these files don’t have to follow the order listed under Syncable Values.

That being said, what value each column refers to in WT is based on the index of that column as determined prior to implementation.

So you should never adjust the order of the columns after the logic has been established.

Each file, each day, should be a snapshot of the entire state of all entities that should exist in Winningtemp. For example, the User File should contain all users that you want to exist in Winningtemp at any one time. Regardless of if there’s been a change to their data in the source system or not.

User File

The user file contains data pertaining to Users in Winningtemp. In this context, each row in the file can be considered a User Data Object according to the rules laid out above, with each column referring to one of the properties of that object. As such, the User Data Object as a whole refers to an actual user in Winningtemp. The user file then is used to create, update and remove users in Winningtemp.

User file example. The order of the data can be modified, also the name of the headers can be changed.

Unique ID;Firstname;Lastname;Username;Email;Phone;Title;Birthday;EmployedSince;EmployedUntil;Gender;Group member;Group admin;Segment;Status;Language
6efcd4bd-3539-4e75-a9d3-da106b2928b5;Mark;Johnson;[email protected];[email protected];08-111111;Developer;1966-01-28;2019-01-10;;M;Unique group ID;Unique group ID;Unique segment ID;Active;en-US

Group File

The group file contains data pertaining to Group in Winningtemp. In this context, each row in the file is a Group Data Object, with each column referring to one of the properties of that object. As such, the group file is used to create and maintain a group structure in Winningtemp.

Group file example. The order of the data can be modified, also the name of the headers can be changed.

Group name;GroupID;Parent groupID
Product;prod;
Team 1 Engineering;dev-team-1;prod
Research;research;prod
DevOps;dev-ops;prod
Sales;sales;
Sales London;sales-1;sales
Sales Stockholm;sales-2;sales
Sales London;Sales Stockholm;sales

Segment File

The segment file contains data pertaining to Segments in Winningtemp. In this context, each row in the file is a SegmentData Object, with each column referring to one of the properties of that object. As such, the segment file is used to create and maintain segments in Winningtemp.

Segment file example. The order of the data can be modified, also the name of the headers can be changed.

SegmentName;SegmentID
Sweden;swe
United Kingdom;uk
Developers;dev
Sales;sales