Skip to content

variant/updated

Overview

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

Description

Fired when any field on an existing variant is updated. This includes changes to dimensions, pricing, customs data, and catalog metadata.

Trigger Conditions

  • A variant's title, description, or barcode is edited
  • Pricing (price, vatRate, currency) is changed
  • Physical dimensions or weight are updated
  • Customs / shipping data (hsCode, originCountry, etc.) is modified
  • The variant position within its product is changed

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

The body field contains the full updated variant object.

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
descriptionstringYesVariant description
referencestringNoInternal reference code
skustringNoStock keeping unit
barcodestringYesEAN/UPC barcode
modelenumNoPRODUCT or BUNDLE
statusenumYesDRAFT, ACTIVE, ARCHIVED, DISABLED, HOLD
sourceTypeenumNoCMS or APP
sourceIdstring (uuid)YesExternal source identifier
positionintegerYesDisplay sort order
virtualProductbooleanNoVirtual product flag
pricefloatYesVariant price
vatRatefloatYesVAT rate as decimal
currencystringYesISO 4217 currency code
heightfloatYesHeight
widthfloatYesWidth
lengthfloatYesLength
distanceUnitenumYesUnit for dimensions
weightfloatYesWeight
weightUnitenumYesUnit for weight
volumefloatYesVolume
volumeUnitenumYesUnit for volume
alcoholRatefloatYesAlcohol percentage
originCountrystringYesCountry of origin (ISO 3166-1 alpha-2)
hsCodestringYesHarmonized System customs code
customsValuestringYesDeclared customs value
customsDescriptionstringYesCustoms description
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/updated",
    "date": "2024-03-15T14:45:00.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 (Organic)",
    "description": "Made from 100% organic cotton.",
    "reference": "REF-TSHIRT-WHITE-M",
    "sku": "TSHIRT-WHITE-M",
    "barcode": "3760000000001",
    "model": "PRODUCT",
    "status": "ACTIVE",
    "sourceType": "CMS",
    "sourceId": null,
    "position": 1,
    "virtualProduct": false,
    "price": 27.50,
    "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": "Organic cotton T-shirt",
    "publishedAt": "2024-03-12T08:00:00.000Z",
    "createdAt": "2024-03-15T10:23:45.000Z",
    "updatedAt": "2024-03-15T14:45:00.000Z"
  }
}

Notes

  • The organizationId is read directly from data.organizationId.
  • The payload always contains the full current state — not just the changed fields.

HappyColis API Documentation