Integration: Sailthru Mobile

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 Mobile schema.

Key Topics

Click on the links below to take you to the section where you can learn more about this Integration

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:

  • Pro V2

NOTE: You are considered V2 if...

  • Your account says Pro V2 in the Daasity App

Not sure? Reach out to Support@Daasity.com

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:

Note:

  • 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.
  • Sailthru Mobile Events are only available for Pro V2.
  • To extract mobile events, reach out to Support@Daasity.com

Entity Relationship Diagram (ERD)

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

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

Related Resources

  • insert link to Sailthru integration here ***