Skip to content

Webhooks

StockrHub receives signed Shopify webhook events to update order and installation records. These are incoming Shopify events. StockrHub does not currently offer a merchant-facing service for registering external callback URLs or subscribing to StockrHub events.

The installation process reconciles the following shop-scoped subscriptions:

Shopify topic StockrHub endpoint Purpose
app/uninstalled /webhooks/app-uninstalled Verify the installation has ended and remove ordinary store data.
orders/create /webhooks/orders-create Ingest sales rows and refresh order financials.
orders/updated /webhooks/orders-updated Refresh edited order quantities and financial records.
orders/paid /webhooks/orders-paid Refresh payment-related financial records.
orders/cancelled /webhooks/orders-cancelled Remove cancelled sales rows and refresh financials.
order_transactions/create /webhooks/order-transactions-create Refresh transaction-related financial records.
refunds/create /webhooks/refunds-create Refresh refund-related financial records.
shop/update /webhooks/shop-update Update the store’s currency settings.

Each endpoint accepts POST. There is no single generic POST /webhooks dispatcher. Product and inventory-level webhook subscriptions are not part of the current subscription list; their absence does not mean those events are being received. Use the app’s sync controls when investigating stale inventory.

The backend verifies Shopify’s signature against the raw body and validates the shop and expected topic for the endpoint. It checks signed store identity for privacy and installation events. For order events, it verifies ownership with the authenticated store’s Shopify API before using the data. Invalid signatures or mismatched identities return 401; malformed bodies can return 400.

Successful ordinary event receipts are recorded for the current installation to suppress duplicate processing. An old uninstall event must not erase a later working installation. Cleanup checks current installation state and returns a retryable error when that state cannot be verified.

Uninstall cleanup is permanent for ordinary operational records; there is no restoration period. Minimal installation and supplier-reference records remain to prevent old events and duplicate references from affecting later installations. See the Privacy Policy.

Shopify’s app-scoped compliance topics have separate endpoints:

Topic Endpoint
customers/data_request /webhooks/customers-data-request
customers/redact /webhooks/customers-redact
shop/redact /webhooks/shop-redact

These topics must be configured at the Shopify app level; the shop-scoped registration action does not create them. Shopify requires requested customer data to be supplied directly to the store owner, and requires privacy actions within 30 days, subject to legal retention obligations. A successful webhook acknowledgement is not the completed export. See Shopify’s privacy compliance requirements.

The current customer-redaction handler clears the shipping-address field on matching dropship POs. Complete requests can also require review of line-item addresses, documents, and history. Merchant-facing privacy exports and a complete automated redaction workflow are not currently available in the production interface. Contact StockrHub to coordinate a request; customers should start with the store where they placed their order.

  1. Check that you are in the intended Shopify store and inspect StockrHub’s installation status.
  2. Review the relevant order or inventory sync state. Delivery and downstream processing can be delayed.
  3. Use Settings → Reconcile Shopify to reconcile store subscriptions when needed. Merely opening an already-installed app does not guarantee a registration repair.
  4. Contact support with the store domain, affected order identifier, approximate time, and visible error. Do not include credentials or full customer details.

The backend can return 503 if verification or processing cannot finish. Shopify manages delivery retries; developer delivery logs are available in Shopify’s Dev Dashboard. Do not assume all work is acknowledged before processing or that repeated deliveries can be ignored without checking state. See Shopify’s webhook troubleshooting guide.