Integration Specifications
Integration Overview
Iterable is a cross-channel marketing platform that powers unified customer experiences and empowers businesses to create, optimize, and measure every interaction across the entire customer journey. Iterable leverages real-time data to personalize email campaigns, dynamically segmenting users and triggers with relevant messaging using Workflow Studio.
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 Iterable extractor is built based on this Iterable API documentation. The following endpoint is used by Daasity to replicate data from Iterable:
Entity Relationship Diagram (ERD)
Click here to view the ERD for the Daasity Pepperjam integration illustrating the different tables and keys to join across tables.
Iterable Schema
The Daasity Iterable 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.
Campaigns
Endpoint: Campaigns
Update Method: UPSERT
Table Name: [
iterable.campaigns
]
JSON Element | Database Column |
---|---|
id | campaign_id |
createdAt | created_at |
updatedAt | updated_at |
startAt | started_at |
endedAt | ended_at |
name | campaign_name |
templateId | template_id |
messageMedium | message_medium |
createdByUserId | created_by |
campaignState | campaign_state |
workflowId | workflow_id |
sendSize | send_size |
type | campaign_type |
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 |
Campaign Lists
Endpoint: Campaigns
Update Method: UPSERT
Table Name: [
iterable.campaign_lists
]
JSON Element | Database Column |
---|---|
id | campaign_id |
listIds::listId | list_id |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + id + listIds::listId) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Campaign Suppression Lists
Endpoint: Campaigns
Update Method: UPSERT
Table Name: [
iterable.campaign_suppression_lists
]
JSON Element | Database Column |
---|---|
id | campaign_id |
suppressionListIds::listId | list_id |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + id + suppressionListIds::listId) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Campaign Labels
Endpoint: Campaigns
Update Method: UPSERT
Table Name: [
iterable.campaign_labels
]
JSON Element | Database Column |
---|---|
id | campaign_id |
labels::label | campaign_labels |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + id + labels::label) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Lists
Endpoint: Lists
Update Method: UPSERT
Table Name: [
iterable.lists
]
JSON Element | Database Column |
---|---|
id | list_id |
name | list_name |
createdAt | created_at |
listType | list_type |
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 |
Users
Endpoint: Users
Update Method: UPSERT
Table Name: [
iterable.users
]
JSON Element | Database Column |
---|---|
userId | user_id |
signupDate | sign_up_date |
profileUpdatedAt | profile_updated_at |
publicIdString | public_id_string |
verified_email | verified_email |
accepts_marketing | accepts_marketing |
phoneNumber, limit 64 | phone_number |
email_signup_location | email_signup_location |
tags, limit: 4095 | tags |
signupSource | sign_up_source |
timeZone | user_time_zone |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + userId) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
User Lists
Endpoint: Users
Update Method: UPSERT
Table Name: [
iterable.user_lists
]
JSON Element | Database Column |
---|---|
userId | user_id |
emailListIds::id | list_id |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + userId + emailListIds::id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Subscribes
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_subscribes
]
JSON Element | Database Column |
---|---|
messageId | message_id |
templateId | template_id |
camapaignId | campaign_id |
userAgent | user_Agent |
userAgentDevice | user_agent_device |
hrefIndex | href_index |
url, limi: 4095 | url |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId + hrefIndex + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Unsubscribes
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_unsubscribes
]
JSON Element | Database Column |
---|---|
email_unsubscribes::email | |
email_unsubscribes::unsubSource | unsub_source |
email_unsubscribes::campaignId | campaign_id |
email_unsubscribes::workflowId | workflow_id |
email_unsubscribes::templateId | template_id |
email_unsubscribes::createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + email + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Unsubscribe Lists
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_unsubscribe_lists
]
JSON Element | Database Column |
---|---|
emailListIds::email | |
emailListIds::id | list_id |
emailListIds::createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + email + createdAt + emailListIds::id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Channels
Endpoint: Channels
Update Method: UPSERT
Table Name: [
iterable.channels
]
JSON Element | Database Column |
---|---|
id | channel_id |
name | channel_name |
channelType | channel_type |
messageMedium | message_medium |
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 |
User Unsubscribed Channels
Endpoint: Users
Update Method: UPSERT
Table Name: [
iterable.user_unsubscribed_channels
]
JSON Element | Database Column |
---|---|
unsubscribedChanelIds::userId | user_id |
unsubscribedChanelIds::id | channel_id |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + unsubscribedChanelIds::userId + unsubscribedChanelIds::id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Unsubscribed Channels
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_unsubscribed_channels
]
JSON Element | Database Column |
---|---|
channelIds::email | |
channelIds::id | channel_id |
channelIds::createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + channelIds::email + channelIds::createdAt + channelIds::id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Message Types
Endpoint: MessageTypes
Update Method: UPSERT
Table Name: [
iterable.message_types
]
JSON Element | Database Column |
---|---|
id | message_type_id |
name | message_type_name |
channelId | channel_id |
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 |
User Unsubscribed Message Types
Endpoint: Users
Update Method: UPSERT
Table Name: [
iterable.user_unsubscribed_message_types
]
JSON Element | Database Column |
---|---|
user::userId | user_id |
unsubscribedMessageTypeIds::id | message_type_id |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + user::userId + unsubscribedMessageTypeIds::id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Sends
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_sends
]
JSON Element | Database Column |
---|---|
messageId | message_id |
messageBusId | message_bus_id |
templateId | template_id |
campaignId | campaign_id |
channelId | channel_id |
messageTypeId | message_type_id |
contentId | content_id |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Bounces
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_bounces
]
JSON Element | Database Column |
---|---|
messageId | message_id |
templateId | template_id |
campaignId | campaign_id |
recipientState | recipient_state |
status | bounce_status |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Complaints
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_complaints
]
JSON Element | Database Column |
---|---|
messageId | message_id |
templateId | template_id |
campaignId | campaign_id |
recipientState | recipient_state |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Opens
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_opens
]
JSON Element | Database Column |
---|---|
messageId | message_id |
templateId | template_id |
campaignId | campaign_id |
ip | ip_address |
userAgent | user_agent |
userAgentDevice | user_agent_device |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Email Clicks
Endpoint: Export Data to JSON
Update Method: UPSERT
Table Name: [
iterable.email_clicks
]
JSON Element | Database Column |
---|---|
messageId | message_id |
templateId | template_id |
campaignId | campaign_id |
userAgent | user_agent |
userAgentDevice | user_agent_device |
hrefIndex | href_index |
url, limit: 4095 | url |
createdAt | created_at |
Daasity: source_id | __source_id |
Daasity: account_id | _account_id |
Daasity: MD5(source_id + messageId + hrefIndex + createdAt) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Last updated