Partner Integration Guide - Subscriptions

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:

  1. Pipe data directly into BigQuery tables or other accessible GCP storage methods. (GCS, Cloud SQL)
  2. Provide us access to a read-only replica of your product database that scopes to only our mutual customers.
  3. 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}} 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 the shops table for the merchant’s metadata.


This can be subscription lines to mirror Shopify’s data structure. Subscription lines belonging to the same subscription should have the same subscription_id.


Provided this table contains enough info, we will not need the orders table.


Contains the merchant’s Shop info, such as their URL and reporting_timezone.


Subscriber info. Each customer here should match with an actual Shopify Customer.


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.