bc-webhooks

Implement BigCommerce webhooks — event topics, webhook management, payload handling, verification, retry logic, and event-driven architecture. Use when building real-time integrations that react to store events.

17 stars

Best use case

bc-webhooks is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Implement BigCommerce webhooks — event topics, webhook management, payload handling, verification, retry logic, and event-driven architecture. Use when building real-time integrations that react to store events.

Teams using bc-webhooks should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/bc-webhooks/SKILL.md --create-dirs "https://raw.githubusercontent.com/OrcaQubits/agentic-commerce-skills-plugins/main/bigcommerce-commerce/skills/bc-webhooks/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/bc-webhooks/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How bc-webhooks Compares

Feature / Agentbc-webhooksStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Implement BigCommerce webhooks — event topics, webhook management, payload handling, verification, retry logic, and event-driven architecture. Use when building real-time integrations that react to store events.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# BigCommerce Webhooks

## Before writing code

**Fetch live docs**:
1. Fetch `https://developer.bigcommerce.com/docs/integrations/webhooks` for webhooks guide
2. Web-search `site:developer.bigcommerce.com webhooks events reference` for event topics
3. Web-search `bigcommerce webhook payload format` for payload structure

## How Webhooks Work

### Event-Driven Notifications

When events occur in a BigCommerce store, HTTP POST requests are sent to your endpoint:
1. Register a webhook via the REST API (or admin)
2. BigCommerce fires the webhook when the event occurs
3. Your endpoint receives a POST with the event payload
4. Respond with 200 OK to acknowledge receipt
5. Use the event data to trigger your business logic

### Webhook Lifecycle

- Created via `POST /v3/hooks`
- Active immediately after creation
- BigCommerce retries on failure (non-2xx response)
- Deactivated after repeated failures
- Manageable via REST API (list, update, delete)

## Managing Webhooks

### Create

```
POST /v3/hooks
{
  "scope": "store/order/created",
  "destination": "https://your-app.com/webhooks/orders",
  "is_active": true,
  "headers": {
    "X-Custom-Header": "my-verification-value"
  }
}
```

### List

`GET /v3/hooks` — returns all registered webhooks.

### Update

`PUT /v3/hooks/{id}` — update destination, scope, or active status.

### Delete

`DELETE /v3/hooks/{id}` — remove a webhook.

## Event Topics

### Order Events

| Topic | When |
|-------|------|
| `store/order/created` | New order placed |
| `store/order/updated` | Order modified |
| `store/order/archived` | Order archived |
| `store/order/statusUpdated` | Order status changed |
| `store/order/message/created` | Order message added |
| `store/order/refund/created` | Refund issued |

### Product Events

| Topic | When |
|-------|------|
| `store/product/created` | New product created |
| `store/product/updated` | Product modified |
| `store/product/deleted` | Product deleted |
| `store/product/inventory/updated` | Stock level changed |
| `store/product/inventory/order/updated` | Inventory changed due to order |

### Customer Events

| Topic | When |
|-------|------|
| `store/customer/created` | New customer registered |
| `store/customer/updated` | Customer profile modified |
| `store/customer/deleted` | Customer deleted |
| `store/customer/address/created` | Address added |
| `store/customer/address/updated` | Address modified |

### Cart Events

| Topic | When |
|-------|------|
| `store/cart/created` | New cart created |
| `store/cart/updated` | Cart modified |
| `store/cart/deleted` | Cart deleted |
| `store/cart/converted` | Cart converted to order |
| `store/cart/abandoned` | Cart abandoned |
| `store/cart/lineItem/*` | Line item changes |

### Other Events

| Topic | When |
|-------|------|
| `store/shipment/created` | Shipment created |
| `store/shipment/updated` | Shipment modified |
| `store/subscriber/created` | Newsletter subscriber added |
| `store/category/created` | Category created |
| `store/category/updated` | Category modified |
| `store/sku/created` | SKU created |
| `store/sku/updated` | SKU modified |
| `store/app/uninstalled` | App uninstalled |

## Payload Format

### Standard Payload

```json
{
  "scope": "store/order/created",
  "store_id": "1234567",
  "data": {
    "type": "order",
    "id": 5678
  },
  "hash": "abc123def456...",
  "created_at": 1706140800,
  "producer": "stores/{store_hash}"
}
```

### Key Fields

- `scope` — the event topic
- `store_id` — the store's numeric ID
- `data.type` — resource type
- `data.id` — resource ID (use to fetch full details via API)
- `hash` — unique event hash for deduplication
- `created_at` — Unix timestamp

### Important: Lightweight Payloads

Webhook payloads contain **only the resource ID**, not the full resource. You must make a follow-up REST API call to fetch the complete data:

```
// Webhook says: order 5678 was created
// Fetch full order: GET /v2/orders/5678
```

## Retry Logic

### BigCommerce Retry Behavior

- Retries on non-2xx responses
- Exponential backoff between retries
- Deactivates webhook after consecutive failures (typically ~30 days of failures)
- `is_active` set to `false` when deactivated

### Your Handler Requirements

- Respond with 200 OK quickly (within a few seconds)
- Process the event asynchronously if it requires heavy computation
- Handle duplicate deliveries (use `hash` for idempotency)
- Handle out-of-order delivery (events may arrive out of sequence)

## Verification

### Custom Headers

Include custom headers in webhook registration for basic verification:
```json
{
  "headers": {
    "X-Webhook-Secret": "my-secret-value"
  }
}
```

Verify the header value in your handler to confirm the request is from BigCommerce.

## Best Practices

- Always respond with 200 OK quickly — process asynchronously
- Use the `hash` field for idempotency (deduplication)
- Implement custom header verification for security
- Fetch full resource data via API after receiving the webhook
- Handle webhook deactivation — monitor and re-register if needed
- Subscribe only to events you need — don't subscribe to everything
- Use a message queue (SQS, Redis, RabbitMQ) for reliable async processing
- Log all received webhooks for debugging

Fetch the BigCommerce webhooks documentation for the complete list of event topics, payload formats, and retry behavior before implementing.

Related Skills

ucp-orders-webhooks

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement UCP Order capability and webhook delivery — post-purchase order management with fulfillment tracking, adjustments (refunds/returns), and cryptographically signed webhook notifications. Use when building order management or webhook infrastructure.

spree-events-webhooks

17
from OrcaQubits/agentic-commerce-skills-plugins

Build with Spree's event bus and Webhooks 2.0 — `Spree::Events` publication, `Spree::Subscriber` DSL with `subscribes_to` and `on`, wildcard matching, lifecycle events (`{model}.created/.updated/.deleted` via `publishes_lifecycle_events`), the canonical event catalog (order.*, payment.*, shipment.*, product.*), Webhooks 2.0 endpoints, HMAC-SHA256 signing (`X-Spree-Webhook-Signature`), exponential-backoff retries, and Sidekiq job orchestration. Use when wiring event-driven business logic, building webhook consumers, or replacing ActiveSupport callback chains.

shopify-webhooks

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement Shopify webhooks — subscription methods (HTTP, EventBridge, Pub/Sub, SQS), HMAC verification, mandatory GDPR webhooks, delivery methods, retry policy, and idempotency. Use when building event-driven Shopify integrations.

saleor-webhooks

17
from OrcaQubits/agentic-commerce-skills-plugins

Configure Saleor webhooks — async and sync events, subscription payloads, JWS/HMAC signature verification, retry policy, and event types. Use when building webhook-driven integrations.

acp-orders-webhooks

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement ACP order lifecycle management and webhook event delivery. Use when building order creation, status tracking, fulfillment updates, post-purchase adjustments, and HMAC-signed webhook emission.

woo-testing

17
from OrcaQubits/agentic-commerce-skills-plugins

Test WooCommerce extensions — PHPUnit unit/integration tests, WP test suite, WooCommerce test helpers, E2E with Playwright, and WP-CLI test scaffolding. Use when writing tests for WooCommerce plugins or setting up a test environment.

woo-shipping

17
from OrcaQubits/agentic-commerce-skills-plugins

Build WooCommerce shipping methods — WC_Shipping_Method, shipping zones, shipping classes, rate calculation, tracking, and integration with carriers. Use when creating custom shipping integrations or configuring shipping logic.

woo-setup

17
from OrcaQubits/agentic-commerce-skills-plugins

Install WooCommerce, configure the development stack, and set up a local dev environment with WP-CLI, Docker, or wp-env. Use when setting up a new WooCommerce project or development environment.

woo-security

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement WooCommerce security — nonces, capabilities, input sanitization, output escaping, data validation, PCI compliance considerations, and WordPress security best practices. Use when hardening a WooCommerce store or reviewing security posture.

woo-plugin-dev

17
from OrcaQubits/agentic-commerce-skills-plugins

Create WooCommerce extensions/plugins — file structure, main plugin file, activation/deactivation hooks, custom database tables, autoloading, and WordPress plugin API. Use when building new WooCommerce extensions or structuring plugin code.

woo-performance

17
from OrcaQubits/agentic-commerce-skills-plugins

Optimize WooCommerce performance — object caching, transients, HPOS, database optimization, Action Scheduler, lazy loading, and query optimization. Use when improving store performance or diagnosing slowness.

woo-payments

17
from OrcaQubits/agentic-commerce-skills-plugins

Build WooCommerce payment gateways — WC_Payment_Gateway, direct/redirect/hosted integrations, tokenization, subscriptions support, refunds, and PCI compliance. Use when creating custom payment method integrations.