Skip to content
Docs

Connect Shopify

Draft

This guide explains what velur asks for on Shopify and what happens after you approve it.

What velur asks for

velur installs as a Shopify app. You approve it on Shopify's own screen, and these are the only scopes it asks for:

  • read_orders
  • read_all_orders
  • read_customers

Every one of them is a read scope. There is no write scope in the app manifest, so there is nothing in velur that can change an order, a customer or a product in your store.

What happens after you approve

velur reads your orders and refunds into its own database and normalises them into the rows every figure is computed from. At that boundary a customer becomes a one-way 16-character reference, so the metrics, the brief and everything the model ever sees can say "the same customer" without holding a name, an email address or an address.

Each store connects to its own workspace. If you run a second store, you connect it as a second workspace.

When a source is stale

A source is stale when its newest successful sync does not cover the last complete day, or when its access stopped working. Sources names the source and what the brief did about it, and Flags carries a row for it. A brief is generated only when every connected source covers the day, so a stale source delays the brief rather than feeding it old numbers.

Disconnecting

Disconnecting a source deletes the token velur stored for it. Uninstalling the app in Shopify does the same from the other side: Shopify tells velur the app was uninstalled, the connection is disconnected and the stored token is destroyed.

DRAFT: re-approving after a scope change

Stores connected before read_all_orders was granted keep the earlier grant until they approve the app again. The walkthrough for that is not written yet.