Partner Integration Guide - Subscriptions
Data Access
The fastest way to integrate with Source Medium is via a direct data connection via one of the following methods:
- Pipe data directly into BigQuery tables or other accessible GCP storage methods. (GCS, Cloud SQL)
- Provide us access to a read-only replica of your product database that scopes to only our mutual customers.
- Replicate data to AWS S3 in parquet file format.
If you have a public-facing API and would like us to integrate that way, we may need to have sizable customer-base using the platform before justifying the integration efforts.
Tables & Schemas
The easiest way is to mirror the ReCharge data schema. The schemas are by no means perfect, which is why we’ve added some suggestions and ideas below on how to improve them.
Please see here for schema details and the brief explanation below for specific tables.
Customer Identifier
- slug: Ideally, each row in all tables contains the merchant’s Shopify slug —
{{SLUG}}.myshopify.com
for us to easily pinpoint the exact merchant. - If this is not possible, then it’s at least good to include the
shop_id
through which we can join on theshops
table for the merchant’s metadata.
subscriptions
This can be subscription lines to mirror Shopify’s data structure. Subscription lines belonging to the same subscription should have the same subscription_id
.
orders_line_items
Provided this table contains enough info, we will not need the orders
table.
shop
Contains the merchant’s Shop info, such as their myshopify.com
URL and reporting_timezone
.
customers
Subscriber info. Each customer here should match with an actual Shopify Customer.
onetimes
These are add-on orders that are not part of a subscription. If you leverage Shopify native checkout, this may not be necessary at all.
orders, products, discounts
These tables may be entire unnecessary.
- orders: if sufficient data is contained within the
order_line_items
table, this table will not be needed. - products & discounts: if your data mirrors Shopify, then these tables are not necessary.