Integration Specifications

This article will help you learn about how Daasity replicates data from Sailthru Mobile, limitations to the data we can extract and where the data is stored in the Sailthru Mobi schema.

Integration Overview

Sailthru Mobile is a marketing automation platform that allows business to engage their mobile app audiences through highly targeted and personalized messaging. It offers audience segmentation, messaging options, and in-depth app usage and messaging analytics.

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.

Integration Availability

This integration is available for:

  • Enterprise

API Endpoints

The Daasity Sailthru Mobile extractor is built based on this Sailthru Mobile API documentation. The following endpoints are used by Daasity to replicate data from Sailthru Mobile:

S3 Feed

The Daasity Sailthru Mobile extractor is also built based on this Sailthru Connect Documentation. The following is used by Daasity to replicate data from Sailthru Mobile:

  • Daasity uses the Sailthru Integration to extract mobile events from the S3 Feed.

  • Read more about the Sailthru Integration to see how Daasity extracts this info.

  • To extract mobile events, reach out to Support@Daasity.com

Entity Relationship Diagram (ERD)

Click here to view the ERD for the Daasity Sailthru Mobile integration illustrating the different tables and keys to join across tables.

Sailthru Mobile Schema

The Daasity Sailthru Mobile extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint and S3 Feed to the table based on the mapping logic outlined in each table.

Sailthru Mobile API

Audiences

  • Endpoint: Audiences

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile.audiences]

JSON ElementDatabase Column

id

audience_id

name

audience_name

created_at

created_at

updated_at

updated_date

test

is_test

Daasity: source_id

__source_id

Daasity: account_id

_account_id

Daasity: MD5(source_id + id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Devices

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile.devices]

JSON ElementDatabase Column

id

device_id

user_id, nullable: true

user_id

email, nullable: true

email

push_enabled

is_push_enabled

platform

platform

installed_at

installed_at

last_opened

last_opened

location::geoip::lat

latitude

location::geoip::lng

longitude

location::geoip::city, nullable: true

city

location::geoip::country, nullable: true

country

push_token, nullable: true

push_token

Daasity: source_id

__source_id

Daasity: account_id

_account_id

Daasity: MD5(source_id + id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Device Attributes

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile.device_attributes]

JSON ElementDatabase Column

id

device_id

attribute_name

attribute_name

attribute::value

attribute_value

Daasity: source_id

__source_id

Daasity: account_id

_account_id

Daasity: MD5(source_id + id + attribute_name)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Device Lifetime Events

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile.device_lifetime_events]

JSON ElementDatabase Column

id

device_id

event_name

event_name

event::first_happened_at

first_happened_at

event::last_happened_at

last_happened_at

event::count

event_count

Daasity: source_id

__source_id

Daasity: account_id

_account_id

Daasity: MD5(source_id + id + event_name)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Sailthru Mobile S3 Feed

Device Events

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile_staging.device_events]

CSV HeaderDatabase Column

client_id

client_id

app_id

app_id

type

event_type

event_time

event_time

profile_id

profile_id

device_id

device_id

user_id

user_id

platform

platform

token

token

installed_at

installed_at

deactivated_token

deactivated_token

reason

reason

notification_status

notification_status

previous_notification_status

previous_notification_status

latitude

latitude

longitude

longitude

city

city

country

country

Daasity: timestamp when loaded into DB

__synced_at

Notifications

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile_staging.notifications]

CSV HeaderDatabase Column

client_id

client_id

app_id

app_id

event_time

event_time

type

notification_type

status

status

platform

platform

profile_id

profile_id

device_id

device_id

user_id

user_id

flow_id

flow_id

step_id

step_id

group

group_id

message_id

message_id

notification_id

notification_id

transactional_notification_id

transactional_notification_id

token

token

title

title

alert

alert

custom_deeplink

custom_deeplink

custom_badge

custom_badge

custom_sound

custom_sound

payload

payload

Daasity: timestamp when loaded into DB

__synced_at

Sessions

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile_staging.sessions]

CSV HeaderDatabase Column

client_id

client_id

app_id

app_id

event_time

event_time

profile_id

profile_id

device_id

device_id

user_id

user_id

session_duration

session_duration

type

lifecycle_event_type

platform

platform

notification_id

notification_id

notification_attribution

notification_attribution

notification_action

notification_action

latitude

latitude

longitude

longitude

city

city

country

country

Daasity: timestamp when loaded into DB

__synced_at

Impressions

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile_staging.sessions]

CSV HeaderDatabase Column

client_id

client_id

app_id

app_id

event_time

event_time

type

impression_type

profile_id

profile_id

device_id

device_id

user_id

user_id

platform

platform

notification_id

notification_id

notification_attribution

notification_attribution

message_id

message_id

latitude

latitude

longitude

longitude

city

city

country

country

Daasity: timestamp when loaded into DB

__synced_at

Custom Events

  • Update Method: UPSERT

  • Table Name: [sailthru_mobile_staging.custom_events]

CSV HeaderDatabase Column

client_id

client_id

app_id

app_id

event_time

event_time

name

custom_event_name

profile_id

profile_id

device_id

device_id

user_id

user_id

platform

platform

notification_id

notification_id

notification_attribution

notification_attribution

message_id

message_id

source

source

vars

vars

latitude

latitude

longitude

longitude

city

city

country

country

Daasity: timestamp when loaded into DB

__synced_at

Last updated