Skip to content

variant/price/added

Overview

PropertyValue
Webhook typevariant/price/added
Kafka topicvariant.price-added
DirectionPlatform → Your endpoint

Description

Fired when a catalog-specific price entry is added to a variant. Variant prices can be defined per catalog/collection, allowing different pricing for different sales channels.

Trigger Conditions

  • A price entry is added to a variant for a specific catalog or collection via the API

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

The body field contains the price entry with the parent variant nested.

Note on organizationId resolution: This event uses an organizationIdAccessor pattern — the organizationId is read from data.variant.organizationId.

Body — Property Table

Root Object (VariantPrice)

FieldTypeNullableDescription
idstring (uuid)NoUnique price entry identifier
pricefloatYesPrice amount (tax-exclusive)
currencystringYesISO 4217 currency code
collectionIdstring (uuid)NoThe catalog/collection this price applies to
variantVariantNoThe parent variant (see Variant 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
statusenumYesDRAFT, ACTIVE, ARCHIVED, DISABLED, HOLD
pricefloatYesDefault variant price
currencystringYesDefault currency
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/price/added",
    "date": "2024-03-15T10:23:45.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-15T10:23:45.000Z"
    }
  }
}

Notes

  • This event uses organizationIdAccessor: (data) => data.variant.organizationId.
  • The price on the root object is the catalog-specific price; variant.price is the default price.
  • collectionId identifies which catalog this price override applies to.

HappyColis API Documentation