Overview

The Data feature allows any data to be uploaded to the platform. This data can then be linked to integration points - where applicable - on the platform. Typically, this data consists of measurable data to be used for graphing, data tracking and activation.

Data that is uploaded, should be analytical in nature and is not meant for mass data (see Limits, below). When planning integrations, it is recommended to provide summative data instead of transactional. For example:

Don't Upload transactional sales data with rows detailing each purchase.

Instead Upload total sales for a user per row.

Collections & Uploads

When data is uploaded it is assigned to a unique data collection. A collection could be considered a container of multiple buckets - and each upload is 1 bucket in the collection. A collection name is unique per account, and an upload is unique per collection.

The Data feature has been designed this way in order to create agility when integrating multiple collections to other features and to structure uploads clearly.

When accessing the API endpoints you will always need to provide the collection and upload parameter to target the specific data that you are managing.

Upload

Data Processing

Data is processed as it is received. This allows several things to occur in near real-time: Connects app users to data Processing scans the uploaded data to identify users and to connect them to data. This allows for uploaded data to be integrated on a user level. Connects data to locations Processes locations to assign a location ID to a row. This allows time location filtering to occur on integrations. Connects data to a timestamp Processes dates to assign a timestamp to a row. This allows time-based filtering to occur on integrations.

Optimizes Data After data has changed in a collection, the platform optimizes & organizes data into a structure that allows the best performance in indexing and scanning.

Notifies Integrations As new data is received, integrations in platform features are notified - which invokes any built-in hooks to update data points on graphs or activities.

Date Formats

Format

Example

Parsed As

DD/MM/YYYY

01/12/2020

01 December 2020

D/MM/YYYY

1/12/2020

01 December 2020

DD/M/YYYY

01/1/2020

01 January 2020

D/M/YYYY

1/1/2020

01 January 2020

DD MONTH YYYY

01 Feb 2020

01 February 2020

DD LONG_MONTH YYYY

01 February 2020

01 February 2020

YYYY-MM-DD

2020-03-01

01 March 2020

Limits

Type

Limit

Columns Per Upload

20

Rows Per Upload

2,000

Uploads Per Collection

20

Rows Per Collection

20,000

Collection Size

34 MB

Reserved Types and Words

Specifically named headers allows data to be treated differently from other columns. This allows you to use "User Identifiers" when mapping collections to integration points on the platform.

Header

Description

User Code

Processes the data in this column as a user code.

User Mobile

Processes the data in this column as a mobile ID.

User Email

Processes the data in this column as an email.

User Location

Process the data in this column as a location.

ISO Specifications

Type

Format

Location

ISO 3166-1 alpha-2 (e.g. Cape Town, ZA)

Email

Valid email address

Mobile Number

Benchmarks

Data uploads can be intensive and have a hard limit of 2,000 rows of data per upload. When planning your integration it is important to be aware of upload time so you can anticipate latency. Data uploading happens asynchronously so you will only be able to call the endpoint once, per upload.

To give you an idea of how long data takes to upload, we have provided benchmarks based on estimated upload times when using the API.

Data

Time (In Seconds)

10 Columns, 1 Row

0.76

10 Columns, 10 Rows

1.06

10 Columns, 100 Rows

3.64

10 Columns, 1000 Rows

31.06s

10 Columns, 2000 Rows

60.95s

Last updated