Description

This is an outbound call — Bigcity POSTs this payload to your registered webhook URL whenever a product's name and/or sku changes in the catalogue. Only the rows that changed are included (delta-only); unchanged products are never resent. Your endpoint should respond with a 2xx status to acknowledge receipt — Bigcity retries delivery on any non-2xx response.

Webhook URL registration is handled during onboarding (not via an API call).

Headers (sent by Bigcity)

X-Bigcity-Signature

HMAC-SHA256 signature of the raw request body, computed using your webhook secret. Verify this before trusting the payload.

Content-Type

application/json

Payload Fields

id type: integer

Catalogue item id.

product_type type: string

EGV or PHYSICAL.

old_name / new_name type: string

Present only when the product name changed.

old_sku / new_sku type: string

Present only when the SKU changed.

changed_at type: datetime

When the change was applied.

Example Payload (Bigcity → Client)

{
  "changes": [
    {
      "id": 4,
      "product_type": "PHYSICAL",
      "old_name": "Ceramic Mug",
      "new_name": "Ceramic Mug - Blue",
      "old_sku": "BC-MUG-01",
      "new_sku": "BC-MUG-BLUE-01",
      "changed_at": "2026-07-06T10:15:00+05:30"
    }
  ]
}
                

Expected Response (Client → Bigcity)

HTTP/1.1 200 OK