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