From shopify-commerce
Implements Shopify webhooks with HTTP/GraphQL, EventBridge, Pub/Sub, SQS subscriptions; HMAC verification, GDPR webhooks, retries, idempotency for event-driven integrations.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin shopify-commerceThis skill is limited to using the following tools:
**Fetch live docs**:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Fetch live docs:
site:shopify.dev webhooks for webhook overviewsite:shopify.dev webhook topics for available event topicssite:shopify.dev gdpr mandatory webhooks for GDPR requirementsShopify POSTs JSON to your endpoint:
webhookSubscriptionCreateFor AWS-based architectures:
For GCP-based architectures:
For queue-based processing:
Every HTTP webhook includes X-Shopify-Hmac-SHA256 header:
import crypto from 'crypto';
function verifyWebhook(body: string, hmacHeader: string, secret: string): boolean {
const hash = crypto
.createHmac('sha256', secret)
.update(body, 'utf8')
.digest('base64');
return crypto.timingSafeEqual(
Buffer.from(hash),
Buffer.from(hmacHeader),
);
}
Always verify HMAC before processing — reject unverified webhooks with 401.
orders/create, orders/updated, orders/paid, orders/fulfilled, orders/cancelled, orders/delete
products/create, products/update, products/delete
customers/create, customers/update, customers/delete
carts/create, carts/update
checkouts/create, checkouts/update
inventory_levels/update, inventory_items/update
fulfillments/create, fulfillments/update
refunds/create
Every Shopify app MUST implement these three webhooks:
customers/data_request — customer requests their data (data portability)customers/redact — customer requests data deletionshop/redact — store uninstalls your app, delete all store data within 48 hoursFailure to implement these can result in app rejection or removal from the App Store.
X-Shopify-Triggered-At header to detect stale payloadswebhookSubscriptions querymutation WebhookSubscriptionCreate {
webhookSubscriptionCreate(
topic: ORDERS_CREATE
webhookSubscription: {
callbackUrl: "https://your-app.com/webhooks/orders"
format: JSON
}
) {
webhookSubscription {
id
topic
endpoint {
... on WebhookHttpEndpoint {
callbackUrl
}
}
}
userErrors { field message }
}
}
X-Shopify-Webhook-Id header) for deduplicationFetch the Shopify webhook documentation for exact topic names, payload schemas, and subscription patterns before implementing.