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 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 | |
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 |
Last updated