Get started with a free trial today
Already have an account? Sign in
Stitch’s Shippo integration replicates data using theShippo API. Refer to theSchema section for a list of objects available for replication.
A high-level look at Stitch's Shippo (v1) integration, including release status, useful links, and the features supported in Stitch.
| STITCH | |||
| Release status | Released on March 1, 2017 | 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 |
Locate theAPI LIve Token field in theTokens section:

Leave this page open for now - you’ll need it to complete the setup.
On the Stitch Dashboard page, click theAdd Integration button.
Click theShippo 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 Shippo” would create a schema calledstitch_shippo 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 Shippo 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 Shippo’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.
Shippo 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 Shippo, 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.
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 Shippo 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.
Theaddresses table contains info about address objects. These are used to create shipments, obtain rates, and print labels.
Key-based Incremental | |
Primary Key | object_id |
Replication Key | object_updated |
| Useful links |
| Join addresses with | on |
|---|---|
| shipments | addresses.object_id = shipments.object_from addresses.object_id = shipments.object_to addresses.object_id = shipments.object_return |
city STRING |
company STRING |
country STRING |
STRING |
is_residential BOOLEAN |
messages ARRAY |
metadata STRING |
name STRING |
object_created DATE-TIME |
object_id STRING |
object_owner STRING |
object_purpose STRING |
object_source STRING |
object_state STRING |
object_updated DATE-TIME |
phone STRING |
state STRING |
street1 STRING |
street2 STRING |
test BOOLEAN |
zip STRING |
Theparcels table contains info about parcel objects. Parcels are used to create shipments, obtain rates, and print labels.
Key-based Incremental | |
Primary Key | object_id |
Replication Key | object_updated |
| Useful links |
| Join parcels with | on |
|---|---|
| shipments | parcels.object_id = shipments.object_parcel |
distance_unit STRING |
extra OBJECT |
height STRING |
length STRING |
mass_unit STRING |
metadata STRING |
object_created DATE-TIME |
object_id STRING |
object_owner STRING |
object_state STRING |
object_updated DATE-TIME |
template STRING |
test BOOLEAN |
weight STRING |
width STRING |
Therefunds table contains info about refunds, which are reimbursements for successfully created butunused transactions.
If the data in this table doesn’t look like you’d expect it to, keep in mind that refunds can take up to 14 days to be processed.
Key-based Incremental | |
Primary Key | object_id |
Replication Key | object_updated |
| Useful links |
| Join refunds with | on |
|---|---|
| transactions | refunds.transaction = transactions.object_id |
object_created DATE-TIME |
object_id STRING |
object_owner STRING |
object_status STRING |
object_updated DATE-TIME |
test BOOLEAN |
transaction STRING |
Theshipments table contains info about shipment objects. Shipment objects are made up of to and from addresses and the parcel to be shipped.
Key-based Incremental | |
Primary Key | object_id |
Replication Key | object_updated |
| Useful links |
carrier_accounts ARRAY |
customs_declaration STRING |
extra OBJECT |
insurance_amount STRING |
insurance_currency STRING |
messages ARRAY |
metadata STRING |
object_created DATE-TIME |
object_from STRING |
object_id STRING |
object_owner STRING |
object_parcel STRING |
object_purpose STRING |
object_return STRING |
object_state STRING |
object_status STRING |
object_to STRING |
object_updated DATE-TIME |
rates_list ARRAY |
rates_url STRING |
reference1 STRING |
reference2 STRING |
submission_date DATE-TIME |
test BOOLEAN |
Thetransactions table contains info about transactions, which are the purchases of shipping labels from a shipping provider for a specific service.
Key-based Incremental | |
Primary Key | object_id |
| Useful links |
| Join transactions with | on |
|---|---|
| refunds | transactions.object_id = refunds.transaction |
commercial_invoice_url STRING |
label_url STRING |
messages ARRAY |
metadata STRING |
object_created DATE-TIME |
object_id STRING |
object_owner STRING |
object_state STRING |
object_status STRING |
object_updated DATE-TIME |
rate STRING |
test BOOLEAN |
tracking_history ARRAY |
tracking_number STRING |
tracking_status STRING |
tracking_url_provider STRING |
| 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.