Daasity Knowledge Base
Ask or search…
K

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 [email protected]

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 Element
Database 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

  • Endpoint: Audiences/Devices
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile.devices]
JSON Element
Database 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

  • Endpoint: Audiences/Devices
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile.device_attributes]
JSON Element
Database 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

  • Endpoint: Audiences/Devices
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile.device_lifetime_events]
JSON Element
Database 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

  • Endpoint: Mobile Event Stream
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile_staging.device_events]
CSV Header
Database 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

  • Endpoint: Mobile Event Stream
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile_staging.notifications]
CSV Header
Database 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

  • Endpoint: Mobile Event Stream
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile_staging.sessions]
CSV Header
Database 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

  • Endpoint: Mobile Event Stream
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile_staging.sessions]
CSV Header
Database 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

  • Endpoint: Mobile Event Stream
  • Update Method: UPSERT
  • Table Name: [sailthru_mobile_staging.custom_events]
CSV Header
Database 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