Documentation

Everything you need to connect and sync

A practical guide to Collectify: connecting your Shopify store, what syncs and how webhooks keep it current, integrating mobile storefronts, and the REST API.

01

Platform Overview

Collectify sits between Shopify and the store owner. You connect your Shopify store once; Collectify imports your store data, keeps it current through Shopify webhooks, and gives you one calm dashboard to manage it — with every change you make sent back to Shopify.

  • Shopify stays the source of truth; Collectify is the place you work from.
  • Catalog, orders, customers, content, files and metafields in a single dashboard.
  • Real-time updates through verified Shopify webhooks, plus on-demand re-syncs.
  • Outbound sync pushes the edits you make in Collectify back to your store.
  • Arabic and English, light and dark, on desktop and mobile.

02

Why Collectify

Collectify is designed for merchants and teams who want a clearer, faster view of their store than the Shopify admin alone provides — without replacing Shopify.

  • One place for day-to-day operations: products, stock, orders and customers.
  • Structured sync pipelines with logs, retries and a visible outbound queue.
  • Store-level isolation: every store only ever sees its own data.
  • Clean REST APIs so your storefront or mobile app can read the same data.
  • A calm, bilingual interface built for long working sessions.

03

Core Workflows

Everything below is imported from your store through the Shopify Admin API and kept current by webhooks.

Catalog

  • Products, variants, collections, tags, vendors and product types.
  • Product media, files and metafields.
  • Selling plans for subscriptions and pre-orders.

Inventory & pricing

  • Variant-level stock across locations.
  • Bulk and targeted price updates, queued and pushed back to Shopify.
  • Markets and price lists.

Orders & customers

  • Orders, draft orders, fulfillments and refunds.
  • Customers and their marketing consent.
  • Discounts and shipping zones.

Content

  • Blogs and articles.
  • Pages and navigation menus.
  • Files uploaded to your store.

04

How To Connect A Store

Connecting takes a few minutes. You need your store's myshopify.com domain and an Admin API access token from a custom app in your Shopify admin.

  1. In Shopify admin, open Settings → Apps and sales channels → Develop apps, and create a custom app for Collectify.
  2. Grant the Admin API read and write scopes for the data you want Collectify to manage (products, inventory, orders, customers, content, and so on), then install the app.
  3. Copy the Admin API access token — Shopify shows it only once.
  4. In Collectify, add your store with its domain (your-store.myshopify.com) and paste the token. It is encrypted before it is saved.
  5. Run the initial sync. Collectify imports your catalog, orders, customers and content, then registers the webhooks that keep them current.
  6. Check the connection status and sync logs on the dashboard before inviting your team.

Use one connection per store and never reuse an access token across stores. If a token is ever exposed, revoke it in Shopify, generate a new one and update it in Collectify.

05

Mobile & Storefront Integration

Collectify exposes storefront endpoints under /mobile so a Flutter or web app can read the same synced data. Every request needs store context: always send store_id, and optionally warehouse_name for channel-specific product feeds.

  • Call the bootstrap endpoint first to preload store branding, featured products and payment methods.
  • warehouse_name filtering returns items for that warehouse plus global items (null, empty or all).
  • Call the quote endpoint before placing a draft order so customers see exact totals.
Code
GET  https://api.collectify.sbs/api/mobile/bootstrap?store_id={uuid}&warehouse_name=BRAND VIP WEB
GET  https://api.collectify.sbs/api/mobile/products?store_id={uuid}&warehouse_name=BRAND VIP WEB&per_page=20
GET  https://api.collectify.sbs/api/mobile/collections?store_id={uuid}&warehouse_name=BRAND VIP WEB
GET  https://api.collectify.sbs/api/mobile/search?store_id={uuid}&warehouse_name=BRAND VIP WEB&q=lip
POST https://api.collectify.sbs/api/mobile/checkout/quote
POST https://api.collectify.sbs/api/mobile/checkout/place-draft-order

06

REST API Guide

All endpoints accept and return JSON. Storefront routes require store_id in the request; protected routes require a Bearer token in the Authorization header.

Base URLhttps://api.collectify.sbs/api

  • GET/mobile/bootstrap

    Store profile, featured catalog blocks and payment method references.

  • GET/mobile/navigation

    Navigation menus synced from Shopify.

  • GET/mobile/products

    Paginated product listing with optional search and warehouse filter.

  • GET/mobile/products/{id}

    Product details with variants, collections and tags.

  • GET/mobile/collections

    Collections for the current store.

  • GET/mobile/collections/{id}

    Collection details with its products.

  • GET/mobile/pages

    Published pages for the storefront app.

  • GET/mobile/blogs

    Published blogs.

  • GET/mobile/blogs/{blogId}/articles

    Articles of a blog, for content screens.

  • GET/mobile/payment-methods

    Enabled payment options and supported method references.

  • POST/mobile/checkout/quote

    Calculate totals from variant lines.

  • POST/mobile/checkout/place-draft-order

    Create a draft order as the pre-checkout step.

Sample request
POST https://api.collectify.sbs/api/mobile/checkout/quote

{
  "store_id": "your-store-uuid",
  "warehouse_name": "BRAND VIP WEB",
  "lines": [
    { "variant_id": 1201, "quantity": 2 },
    { "variant_id": 1202, "quantity": 1 }
  ]
}
Sample response
{
  "status": "success",
  "data": {
    "totals": {
      "subtotal": 45.0,
      "tax": 0,
      "shipping": 0,
      "discount": 0,
      "grand_total": 45.0
    }
  }
}

07

Sync & Webhooks

After the initial import, Shopify sends webhooks to Collectify whenever something changes in your store. Each webhook is verified with its HMAC signature before it is processed in the background. You can also trigger a re-sync of any area from the dashboard.

Base URLhttps://api.collectify.sbs/api

  • POST/shopify/webhooks

    Receives Shopify webhooks. Requests with an invalid signature are rejected.

  • POST/admin/sync/bootstrap

    Run the initial sync for the connected store, or for a chosen set of areas.

  • POST/admin/sync/products

    Re-sync products and variants.

  • POST/admin/sync/orders

    Re-sync orders.

  • POST/admin/sync/webhook-subscriptions

    Re-register and refresh the store's webhook subscriptions.

  • GET/admin/sync/outbound

    List changes queued to be pushed back to Shopify.

  • POST/admin/sync/outbound/{id}/retry

    Retry a failed outbound change.

  • PUT/admin/shopify/webhook-secret

    Save the webhook signing secret used to verify incoming webhooks.

The /admin routes require an authenticated merchant account (Bearer token) and always act on your own store only.

08

Security & Best Practices

  • Access tokens are encrypted at rest and only ever used server-side — never expose them in a browser or mobile app.
  • Every incoming webhook is verified against its HMAC signature before it is trusted.
  • Store scope is enforced on the server; never rely on a client-supplied tenant alone.
  • Use HTTPS only, and rotate your Admin API token if you suspect it has leaked.
  • Grant your Shopify custom app only the scopes you need.
  • Keep sync failures visible: review sync logs and retry outbound changes from the dashboard.

09

Troubleshooting

The connection fails when I add my store.

Check that the domain is your myshopify.com domain (not a custom domain) and that the access token was copied in full. If the app was uninstalled or the token revoked in Shopify, generate a new token and update it in Collectify.

Some data is missing after the first sync.

The custom app probably lacks a read scope for that data. Add the missing scope in Shopify, reinstall the app if prompted, then re-run the sync for that area.

Changes in Shopify are not appearing in Collectify.

Re-register webhook subscriptions from the dashboard and make sure the webhook secret saved in Collectify matches your app's signing secret. Webhooks with a wrong signature are rejected.

An edit I made in Collectify did not reach Shopify.

Open the outbound sync queue. Failed items show the error returned by Shopify (often a missing write scope or a validation rule) and can be retried once fixed.

Products are missing in one mobile channel.

Check the warehouse_name sent by the app and confirm the products are assigned to that warehouse or to all warehouses.