Implementing Smartrr on headless storefronts using the Shopify Plus API
Last updated: April 3, 2024
Note: before implementing Smartrr, it's important to review Shopify's subscription requirements to determine your eligibility for offering subscriptions on your storefront. You must also have inventory tracking enabled for a product to be subscription-eligible.
As of 2023, Shopify has begun offering New customer accounts as a setting option. New customer accounts are not compatible with apps; please ensure you are using Classic customer accounts with Smartrr in order to display our Modern Account Portal where your customers will be able to access and manage their subscriptions.
From the Shopify app store, install the Smartrr app.
In your Shopify admin ([your-store-name].myshopify.com), navigate to 'Apps'. The Smartrr app should now show on your app list.
Click on the Smartrr app to open. Navigate to the Integrations tab in the left-hand navigation and generate a new API token using the button that reads Add Key.
We recommend setting both your Token Nickname and your Application Name as the name of the platform you are authorizing for. We also recommend that Application Name specifically be in all capital letters, without spaces.
Important: Ensure that token's permissions for Selling Plan are left set at the default selection: Selling Plan: Read. If permissions are toggled to "None" you will not be able to read Selling Plans from the API.
Use the below endpoint to call for information about product Subscription Programs.
GET
https://api.smartrr.com/vendor/selling-plan-group
Subscription Programs are configured in the Subscription Programs tab in the left hand navigation of the Smartrr app.
From the call response, use the data provided in the sellingPlans[ ]
array to power the storefront display. Submit the shopifyNumericId
value for the field selling_plan
in the form POST submission in order to attach a Subscription Group alongside an item added to a customer’s cart.
POST
https://<shopify domain>/cart/add
Be sure to replace <shopify domain> with your store's shopify domain. Note, this is required to be a part of cart workflow and not checkout workflow as Shopify does not support subscriptions within the checkout workflow.
For more information on this POST method, visit Shopify's documentation on Cart API References.
Important: The product/variant will need to be enabled for the respective Subscription Program in the Smartrr admin portal. These can be detected with the productIds[ ]
and/or variantIds[ ]
array.
There are three methods for brands to display the Smartrr's Shopify liquid account portal on a headless shop.
We still recommend completing Smartrr's in-app Setup instructions up to the step 3. Smartrr Installation – part 1. Install Snippets onto a dummy theme for developers to see how Smartrr renders the account portal, or if your developers would like to duplicate a piece of liquid functionality to headless.
Forward /account –related URLs to your {your-store}.myshopify.com domain. This is our recommended method as it allows Shopify to continue handling all account actions (Login/Logout/Register/Checkout).
Create an account page on your site using the code found in your Shopify theme customers/account.liquid
and use <iframe>
to display it. This works for headless shops using React.
Duplicate smartrr-account.liquid
in HTML, replacing the liquid code with the corresponding HTML Code. This works for headless shops not using React.
Name | Type | Description |
---|---|---|
cache
true/false
Available values : true, false