# Shopify

## Prerequisites

You must have a minimum Shopify plan of `Basic` to be able to connect with Violet.

{% hint style="success" %}
**Shopify Plan Changes**

Shopify subscription plan upgrades and downgrades can happen in place without any interruptions, so long as a minimum plan of `Basic` is maintained.
{% endhint %}

{% hint style="info" %}
**API Version Change Notices from Shopify**

If you receive a notice from Shopify about future changes to the Shopify API that may impact Violet's connection to your store, you can ignore those. Shopify sends these out well in advance of deprecations and Violet will always ensure that the connection to your store remains in a healthy state.
{% endhint %}

***

{% hint style="warning" %}
**Important: Channel Pre-Registration Now Available**

As of January 2026, Shopify requires all new merchant connections to use single-merchant custom apps. Many channel partners now **pre-register** merchants, which means:

* **If you received a Violet Connect link from your channel partner**: Your app is likely already created! Click the link and follow the simple authorization process (2 minutes).
* **If you haven't received a link**: Contact your channel partner first - they may need to pre-register you.
* **Only follow the manual setup below if**: Your channel partner specifically instructed you to create your own app.

[Learn more about the pre-registration process →](https://github.com/violetio/docs/blob/main/channel-docs/ecom-platforms/shopify/merchant-onboarding.md)
{% endhint %}

## Quick Start: Pre-Registered Merchants

If your channel partner has pre-registered your store, onboarding takes just 2 minutes:

1. **Click the Violet Connect link** provided by your channel partner
2. **Verify your email** with the verification code sent to you

![Violet Connect Login](https://3416876096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU56rBTO20v6lVxmGUVMK%2Fuploads%2Fgit-blob-d879387ec2a92526bd132f1c15e27ea07cd29f27%2Fvc-login.png?alt=media)

![Violet Connect 6-digit Code Authentication](https://3416876096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU56rBTO20v6lVxmGUVMK%2Fuploads%2Fgit-blob-7a7a1c89ce150293e30f859ff8dced00da16713c%2Fvc-code-auth.png?alt=media)

3. **Confirm your store URL** is correct

![Violet Connect Pre-registration Detected](https://3416876096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU56rBTO20v6lVxmGUVMK%2Fuploads%2Fgit-blob-72ced414e6bbe8035c5474afee9d2d6c832c6cc6%2Fvc-prereg-store-found.png?alt=media)

4. **Click "Connect to Shopify"** and authorize the app

![Shopify Install App OAuth Handshake](https://3416876096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU56rBTO20v6lVxmGUVMK%2Fuploads%2Fgit-blob-c2ce0b2ca831b65c267e550217a13b399b0ce4f2%2Fvc-shopify-oauth-handshake.png?alt=media)

![Shopify OAuth Handshake Redirect to Violet Connect](https://3416876096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU56rBTO20v6lVxmGUVMK%2Fuploads%2Fgit-blob-e3ede29f2aa21d3bbbf67f0c80735e9480a83355%2Fvc-prereg-install-redirect.png?alt=media)

5. **Complete payout setup** if required

That's it! Your store is now connected. The manual setup below is only needed if not pre-registered.

***

## Manual Setup Guide (Advanced)

This guide is for merchants who need to manually create a Custom App in their Shopify dashboard. **Most merchants should use the pre-registration method above instead.** During this process, you will create a Custom App in your Shopify dashboard and then provide the generated credentials to Violet through the Violet Connect onboarding tool. You will retain full control of the created Custom App and can modify or remove it at any time from within your Shopify dashboard. *Total time for completion is around 5 minutes.*

{% embed url="<https://vimeo.com/1103615230?share=copy#t=0>" %}

***

### Step 1: Creating the Custom App

1. From your Shopify dashboard navigate to Settings → Apps and sales channels → Develop Apps.
2. Click the green Create an app button.
3. In the modal that appears, enter an app name (ex. Violet) and select the user in your system who should be the owner of this app. Typically this is the default selected user.

***

### Step 2: Configuring Scopes

From the `App development` view click on the **Configuration** tab.

{% hint style="info" %}
Any topics with a `write_*` scope will automatically include the equivalent `read_*` scope. This is by design from Shopify.
{% endhint %}

#### Admin API Scopes

Click **Configure** or **Edit** in the `Admin API integration` section.

The following Admin access scopes are the minimum required for Violet to perform all necessary functions against your store. If any additional scopes are required by certain channels within Violet, these will be communicated to you when you enable the channel.

`write_customers` and `read_customers` - used to add new customers when perform non-guest checkouts.

`read_discounts` - used to understand the combination policies of your discounts.

`write_draft_orders` and `read_draft_orders` - used to populate and submit orders into your system.

`read_fulfillments` - used to read and communicate order fulfillment statuses to the channel.

`read_inventory` - used to read inventory data related to your products.

`read_locations` - used to read inventory location data related to your products.

`write_merchant_managed_fulfillment_orders` - used to alert you when an order placed through Violet requires additional review before being fulfilled. This can be useful in mitigating fraud.

`write_orders` and `read_orders` - used to update and read orders previously submitted by Violet into your system.

`read_price_rules` - used to understand the pricing rules related to your discounts.

`read_products` - used to read your product catalog.

`read_shipping` - used to understand your shipping policies.

`read_markets` - used to understand the regions you ship to.

**Optional Admin API Scopes**

`read_legal_policies` - used to understand your refund and return policies.

`read_returns` - used to discover when a Violet sourced order has been returned.

{% hint style="info" %}
Webhook subscriptions should be left in the default state with the latest version being selected.
{% endhint %}

#### Storefront API Scopes (Optional)

Click **Configure** or **Edit** in the `Storefront API integration` section.

`unauthenticated_write_checkouts` - used to create carts without being subjected to Shopify's rate limits.

`unauthenticated_read_product_listings` - used to read basic product data when creating carts without being subjected to Shopify's rate limits.

`unauthenticated_read_product_inventory` - used to read product inventory data when creating carts without being subjected to Shopify's rate limits.

***

### Step 3: API Credentials

From the app view click **API credentials** then click **Install App**

**Access Token**

This token is used to authenticate requests made by Violet when interacting with your store. Important: this value can only be viewed once. It’s recommended that you copy and paste it into a temporary location until you finish the Violet onboarding process. If you lose this value before completing the Violet onboarding process you must uninstall the create app and start over.

**API Key**

This key is used in combination with the API Secret Key to verify and authenticate certain actions or events.

**API Secret Key**

This key is used in combination with the API Key to verify and authenticate certain actions or events.

**Storefront API Access Token (Optional)**

{% embed url="<https://vimeo.com/1103617170?share=copy>" %}

An optional key used for authenticating requests to the Storefront API once you've enabled Storefront API access.

Pass the `Private access token` generated into Violet Connect's `Storefront API Access Token` field

***

### Step 4: Provide Configured App Credentials to Violet

Once your app is fully configured, it’s time to return to the Violet Connect onboarding tool and enter the following credentials created in the previous steps:

* Access Token
* API Key
* API Secret Key

Once entered, click the **Next** button to validate the credentials and complete the connection between your store and Violet. If the credentials are invalid you should check for any spaces or other copy/paste errors and try again.

Upon success you will be redirected back to the channel who first sent you to Violet.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://merchant-help.violet.io/platform-guides/shopify.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
