Get started with a free trial today
Already have an account? Sign in
Stitch’s Revinate integration replicates data using theRevinate Porter API. Refer to theSchema section for a list of objects available for replication.
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 |
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.
On the Stitch Dashboard page, click theAdd Integration button.
Click theRevinate 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 calledstitch_revinate in the destination.Note: Schema names cannot be changed after you save the integration.
The Sync Historical Data setting defines the starting date for your Revinate integration. This means that dataequal 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 of1 year. For a detailed look at historical replication jobs, check out theSyncing Historical SaaS Data guide.
In theReplication Frequency section, you’ll create the integration’sreplication 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 theUnderstanding and Reducing Your Row Usage guide for tips on reducing your usage.
After you finish setting up Revinate, itsSync Status may show asPending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, aPending 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 theAnchor Scheduling documentation for more information.
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.
When Stitch runs a replication job for Revinate, a few things will happen:
hotel_reviews_snapshot,hotel_reviews_snapshot_by_site,hotel_reviews_snapshot_by_time) for the hotel.hotels).reviews) based on the last savedupdated_at value, which is the table’s Replication Key.When Stitch extracts review snapshot data, it will do so using anAttribution Window of1 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 thehotel_reviews_snapshot,hotel_reviews_snapshot_by_site, andhotel_reviews_snapshot_by_time tables.
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 forversion 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 theLoading Guide for your destination for more info.
Thehotel_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 toauthenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
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 |
Thehotel_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 toauthenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
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 |
Thehotel_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 toauthenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.
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 |
Thehotels 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 toauthenticate 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 |
Thetable_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 toauthenticate 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 |
Did this article help? If you have questions or feedback, feel free tosubmit a pull request with your suggestions,open an issue on GitHub, orreach out to us.