Skip to main content

Shopify

Purpose​

Orders, catalog, customers, and inventory for a channel whose type is SHOPIFY.

Authentication​

Client id and secret in the connection vault. The seed schema also has an optional webhook_secret.

Direction​

Pull on the sync scheduler. Inventory flush job flush-channel:SHOPIFY. Outbound order service is part of the capability regex, so status push is possible when manageState is on and the class was discovered.

Webhooks​

shopify-webhook.controller.ts is @PublicRoute and enqueues webhook_queue. Signature verification is implemented for this path. Do not copy that claim onto every courier.

Code​

src/integrations/shopify.

Failure​

Shared sync circuit breaker. Inventory partial success is per item. Idempotency of order ingestion is unknown beyond the outbox and ProcessedEvent tools.

Rate limiting​

Channel HTTP budgets for inventory are in inventory-publish.constant.ts. They were not copied onto this page.