variant/price/removed
Overview
| Property | Value |
|---|---|
| Webhook type | variant/price/removed |
| Kafka topic | variant.price-removed |
| Direction | Platform → Your endpoint |
Description
Fired when a catalog-specific price entry is removed from a variant. After removal, the variant falls back to its default price.
Trigger Conditions
- A price entry is removed from a variant for a specific catalog/collection
Message Envelope
json
{
"header": {
"organizationId": "org_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"messageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"webhookId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "variant/price/removed",
"date": "2024-03-15T10:23:45.000Z"
},
"body": { ... }
}The body field contains the removed price entry with the parent variant nested.
Note on
organizationIdresolution: This event uses anorganizationIdAccessorpattern — theorganizationIdis read fromdata.variant.organizationId.
Body — Property Table
Root Object (VariantPrice)
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string (uuid) | No | Unique price entry identifier |
price | float | Yes | Price that was removed |
currency | string | Yes | ISO 4217 currency code |
collectionId | string (uuid) | No | The catalog/collection this price applied to |
variant | Variant | No | The parent variant (see Variant table) |
Variant Object
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string (uuid) | No | Unique variant identifier |
organizationId | string (uuid) | No | Organization that owns this variant |
productId | string (uuid) | No | Parent product identifier |
title | string | Yes | Variant display name |
reference | string | No | Internal reference code |
sku | string | No | Stock keeping unit |
model | enum | No | PRODUCT or BUNDLE |
status | enum | Yes | DRAFT, ACTIVE, ARCHIVED, DISABLED, HOLD |
price | float | Yes | Default variant price (now used as fallback) |
currency | string | Yes | Default currency |
createdAt | string (ISO 8601) | No | Creation timestamp |
updatedAt | string (ISO 8601) | No | Last update timestamp |
Full JSON Payload Sample
json
{
"header": {
"organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"messageId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"webhookId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"type": "variant/price/removed",
"date": "2024-03-15T11:00:00.000Z"
},
"body": {
"id": "f7a8b9c0-d1e2-3456-fabc-789012345678",
"price": 22.99,
"currency": "EUR",
"collectionId": "a8b9c0d1-e2f3-4567-bcde-890123456789",
"variant": {
"id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"productId": "e5f6a7b8-c9d0-1234-efab-345678901234",
"title": "Classic White T-Shirt — Size M",
"reference": "REF-TSHIRT-WHITE-M",
"sku": "TSHIRT-WHITE-M",
"model": "PRODUCT",
"status": "ACTIVE",
"price": 25.00,
"currency": "EUR",
"createdAt": "2024-03-15T09:00:00.000Z",
"updatedAt": "2024-03-15T11:00:00.000Z"
}
}
}Related Events
variant/price/added— fired when a price entry is added
Notes
- This event uses
organizationIdAccessor: (data) => data.variant.organizationId. - After price removal, the variant reverts to its default
pricefield for the affected catalog.