This integration is powered by Singer's Revinate tap. For support, visit the GitHub repo or join the Singer Slack.
Revinate integration summary
Stitch’s Revinate integration replicates data using the Revinate Porter API. Refer to the Schema section for a list of objects available for replication.
Revinate feature snapshot
A high-level look at Stitch's Revinate (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on February 13, 2019 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Unsupported |
Column selection |
Unsupported |
Select all |
Unsupported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Revinate
Revinate setup requirements
To set up Revinate in Stitch, you need:
-
A Revinate account with API access. Reach out to your Revinate sales representative or account manager to obtain the correct permissions.
-
A Revinate API token and secret. To obtain these credentials, reach out to your Revinate sales representative or account manager.
Step 1: Add Revinate as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Revinate icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Revinate” would create a schema called
stitch_revinate
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Username field, enter your Revinate username.
- In the API Key field, paste your Revinate API key. Your Revinate API token must be obtained through your Revinate sales representative or account manager.
- In the API Secret field, paste your Revinate API secret. Your Revinate API secret must be obtained through your Revinate sales representative or account manager.
Step 2: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Revinate integration. This means that data equal to or newer than this date will be replicated to your data warehouse.
Change this setting if you want to replicate data beyond Revinate’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 3: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Revinate integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Initial and historical replication jobs
After you finish setting up Revinate, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Revinate replication
Extraction overview
When Stitch runs a replication job for Revinate, a few things will happen:
- First, Stitch will get all the hotels that the authenticating user has access to.
- Stitch will replicate review snapshot data (
hotel_reviews_snapshot
,hotel_reviews_snapshot_by_site
,hotel_reviews_snapshot_by_time
) for the hotel. - Stitch will replicate data about the hotel (
hotels
). - Stitch will repeat steps 2-3 until review snapshot and hotel data has been replicated for all accessible hotels.
- Stitch will replicate review data (
reviews
) based on the last savedupdated_at
value, which is the table’s Replication Key.
Replicating review snapshots
When Stitch extracts review snapshot data, it will do so using an Attribution Window of 1 week. This means that during each replication job, Stitch will replicate snapshot data for that last completed week. For example: If the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.
This is applicable to the hotel_reviews_snapshot
, hotel_reviews_snapshot_by_site
, and hotel_reviews_snapshot_by_time
tables.
Revinate table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Revinate integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
hotel_reviews_snapshot
The hotel_reviews_snapshot
table contains snapshot summary stats of reviews for the last completed week, segmented by hotel.
Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
Replication
During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.
Key-based Incremental |
|
Primary Keys |
hotel_id snapshot_start_date |
Replication Key |
snapshot_start_date |
Useful links |
Join hotel_reviews_snapshot with | on |
---|---|
hotel_reviews_snapshot_by_site |
hotel_reviews_snapshot.hotel_id = hotel_reviews_snapshot_by_site.hotel_id |
hotel_reviews_snapshot_by_time |
hotel_reviews_snapshot.hotel_id = hotel_reviews_snapshot_by_time.hotel_id |
hotels |
hotel_reviews_snapshot.hotel_id = hotels.hotel_id |
reviews |
hotel_reviews_snapshot.hotel_id = reviews.hotel_id |
aggregate_average_rating NUMBER |
aggregate_new_reviews NUMBER |
aggregate_pos_reviews_pct NUMBER |
aggregate_trip_advisor_marke_ranking_pctl NUMBER |
aggregate_trip_advisor_market_ranking INTEGER |
aggregate_trip_advisor_market_size INTEGER |
aggregate_values_json STRING |
hotel_id INTEGER |
hotel_reviews_snapshot_json STRING |
hotel_reviews_snapshot_url STRING |
links_json STRING |
snapshot_end_date INTEGER |
snapshot_start_date INTEGER |
values_by_review_site_json STRING |
values_by_time_json STRING |
hotel_reviews_snapshot_by_site
The hotel_reviews_snapshot_by_site
table contains snapshot summary stats of reviews for the last completed week, segmented by hotel and review site.
Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
Replication
During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.
Key-based Incremental |
|
Primary Keys |
hotel_id review_site_id snapshot_start_date |
Replication Key |
snapshot_start_date |
Useful links |
Join hotel_reviews_snapshot_by_site with | on |
---|---|
hotel_reviews_snapshot |
hotel_reviews_snapshot_by_site.hotel_id = hotel_reviews_snapshot.hotel_id |
hotel_reviews_snapshot_by_time |
hotel_reviews_snapshot_by_site.hotel_id = hotel_reviews_snapshot_by_time.hotel_id |
hotels |
hotel_reviews_snapshot_by_site.hotel_id = hotels.hotel_id |
reviews |
hotel_reviews_snapshot_by_site.hotel_id = reviews.hotel_id hotel_reviews_snapshot_by_site.review_site_id = reviews.review_site_id |
hotel_id INTEGER |
hotel_reviews_snapshot_url STRING |
review_site_id INTEGER |
review_site_json STRING |
review_site_main_url STRING |
review_site_name STRING |
review_site_slug STRING |
review_site_url STRING |
site_average_rating NUMBER |
site_json STRING |
site_new_reviews INTEGER |
site_pos_reviews_pct NUMBER |
site_trip_advisor_market_ranking INTEGER |
site_trip_advisor_market_ranking_pctl NUMBER |
site_trip_advisor_market_size INTEGER |
snapshot_end_date INTEGER |
snapshot_start_date INTEGER |
hotel_reviews_snapshot_by_time
The hotel_reviews_snapshot_by_time
table contains snapshot summary stats of reviews for the last completed week, segmented by hotel and time.
Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
Replication
During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.
Key-based Incremental |
|
Primary Keys |
hotel_id unix_time |
Useful links |
Join hotel_reviews_snapshot_by_time with | on |
---|---|
hotel_reviews_snapshot |
hotel_reviews_snapshot_by_time.hotel_id = hotel_reviews_snapshot.hotel_id |
hotel_reviews_snapshot_by_site |
hotel_reviews_snapshot_by_time.hotel_id = hotel_reviews_snapshot_by_site.hotel_id |
hotels |
hotel_reviews_snapshot_by_time.hotel_id = hotels.hotel_id |
reviews |
hotel_reviews_snapshot_by_time.hotel_id = reviews.hotel_id |
hotel_id INTEGER |
hotel_reviews_snapshot_url STRING |
snapshot_average_rating NUMBER |
snapshot_new_reviews NUMBER |
snapshot_pos_reviews_pct NUMBER |
snapshot_trip_advisor_market_ranking INTEGER |
snapshot_trip_advisor_market_ranking_pctl NUMBER |
snapshot_trip_advisor_market_size INTEGER |
time_period_json STRING |
unix_time INTEGER |
hotels
The hotels
table contains info about the hotels in your Revinate account.
Note: Stitch will only replicate data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
Full Table |
|
Primary Key |
hotel_id |
Useful links |
Join hotels with | on |
---|---|
hotel_reviews_snapshot |
hotels.hotel_id = hotel_reviews_snapshot.hotel_id |
hotel_reviews_snapshot_by_site |
hotels.hotel_id = hotel_reviews_snapshot_by_site.hotel_id |
hotel_reviews_snapshot_by_time |
hotels.hotel_id = hotel_reviews_snapshot_by_time.hotel_id |
reviews |
hotels.hotel_id = reviews.hotel_id |
account_type STRING |
address1 STRING |
address2 STRING |
city STRING |
country STRING |
hotel_id INTEGER |
hotel_json STRING |
hotel_reviews_snapshot_url STRING |
hotel_url STRING |
links_json STRING |
logo STRING |
name STRING |
postal_code STRING |
revinate_login_uri STRING |
revinate_purchase_uri STRING |
slug STRING |
state STRING |
trip_advisor_id INTEGER |
url STRING |
reviews
The table_name
table contains a subset of the latest reviews for the hotels in your Revinate account.
Note: Stitch will only replicate review data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
Key-based Incremental |
|
Primary Key |
review_id |
Replication Key |
updated_at |
Useful links |
Join reviews with | on |
---|---|
hotel_reviews_snapshot |
reviews.hotel_id = hotel_reviews_snapshot.hotel_id |
hotel_reviews_snapshot_by_site |
reviews.hotel_id = hotel_reviews_snapshot_by_site.hotel_id reviews.review_site_id = hotel_reviews_snapshot_by_site.review_site_id |
hotel_reviews_snapshot_by_time |
reviews.hotel_id = hotel_reviews_snapshot_by_time.hotel_id |
hotels |
reviews.hotel_id = hotels.hotel_id |
author STRING |
author_location STRING |
body STRING |
crawled_url STRING |
date_collected INTEGER |
date_review INTEGER |
guest_stay_json STRING |
hotel_id INTEGER |
hotel_url STRING |
language_english_name STRING |
language_id INTEGER |
language_json STRING |
language_name STRING |
language_slug STRING |
language_url STRING |
links_json STRING |
nps INTEGER |
rating NUMBER |
response_json STRING |
review_id INTEGER |
review_json STRING |
review_site_id INTEGER |
review_site_json STRING |
review_site_main_url STRING |
review_site_name STRING |
review_site_slug STRING |
review_site_url STRING |
review_url STRING |
subratings_cleanliness NUMBER |
subratings_hotel_condition NUMBER |
subratings_json STRING |
subratings_rooms NUMBER |
subratings_service NUMBER |
survey_topics_json STRING |
title STRING |
trip_type STRING |
updated_at INTEGER |
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.