Skip to content

variant/status_updated ​

Overview ​

PropertyValue
Webhook typevariant/status_updated
Kafka topicvariant.status-updated
DirectionPlatform → Your endpoint

Description ​

Fired when the status of a variant changes. Variant status controls whether it is available for ordering and fulfillment.

Trigger Conditions ​

  • A variant is published (ACTIVE)
  • A variant is archived or disabled
  • A variant's status is set to HOLD pending review

Status Values ​

StatusDescription
DRAFTNewly created, not yet published
ACTIVEPublished and orderable
ARCHIVEDRemoved from the active catalog
DISABLEDTemporarily disabled
HOLDOn hold pending review

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/status_updated",
    "date": "2024-03-15T10:23:45.000Z"
  },
  "body": { ... }
}

The body field contains the full variant object with the updated status.

Body — Property Table ​

Variant Object ​

FieldTypeNullableDescription
idstring (uuid)NoUnique variant identifier
organizationIdstring (uuid)NoOrganization that owns this variant
productIdstring (uuid)NoParent product identifier
titlestringYesVariant display name
referencestringNoInternal reference code
skustringNoStock keeping unit
modelenumNoPRODUCT or BUNDLE
statusenumYesUpdated status: DRAFT, ACTIVE, ARCHIVED, DISABLED, HOLD
sourceTypeenumNoCMS or APP
virtualProductbooleanNoVirtual product flag
publishedAtstring (ISO 8601)YesTimestamp when published
createdAtstring (ISO 8601)NoCreation timestamp
updatedAtstring (ISO 8601)NoLast 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/status_updated",
    "date": "2024-03-15T10:23:45.000Z"
  },
  "body": {
    "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",
    "description": null,
    "reference": "REF-TSHIRT-WHITE-M",
    "sku": "TSHIRT-WHITE-M",
    "barcode": "3760000000001",
    "model": "PRODUCT",
    "status": "ACTIVE",
    "sourceType": "CMS",
    "sourceId": null,
    "position": 1,
    "virtualProduct": false,
    "price": 25.00,
    "vatRate": 0.20,
    "currency": "EUR",
    "height": 2.0,
    "width": 20.0,
    "length": 30.0,
    "distanceUnit": "CM",
    "weight": 0.25,
    "weightUnit": "KG",
    "volume": null,
    "volumeUnit": null,
    "alcoholRate": null,
    "originCountry": "FR",
    "hsCode": "6109100010",
    "customsValue": "12.00",
    "customsDescription": "Cotton T-shirt",
    "publishedAt": "2024-03-15T10:23:45.000Z",
    "createdAt": "2024-03-15T09:00:00.000Z",
    "updatedAt": "2024-03-15T10:23:45.000Z"
  }
}

Notes ​

  • The organizationId is read directly from data.organizationId.
  • Both variant/status_updated and variant/updated are fired on status changes.
  • publishedAt is set when the variant first transitions to ACTIVE.

HappyColis API Documentation