Webhooks

Webhooks allow you to subscribe to events from your vivenu account in order to build near-real-time integrations.

In order to integrate an external system with vivenu via webhooks, you need to provide a publicly accessible HTTP POST endpoint for the webhook to call, and set up a webhook configuration in vivenu specifying the endpoint to call and the events to subscribe to.

It's possible to specify hmacKey for webhook and we will add a x-vivenu-signature header in order to enable you to verify that the request is authentic and signed with your webhook secret.

The available events and payload formats are listed below. Note that the payload schema is fixed and not user-configurable on vivenu, so any listeners need to adhere to the same schema.

Creating Webhooks

You can configure webhooks via the API or in the dashboard under "Developer" > "Webhooks". If you do not see the webhooks section in the dashboard, ensure you have the "Developer" or "Admin" user role, and that the "Webhooks" feature has been enabled for your seller account.

A webhook configuration defines the listener URL to call, which events to send to the listener, and an optional hmacKey for signing requests. You can set up a single configuration to send multiple types of events to the same listener.

Logs and Debugging

For each configured webhook, you can see the following metrics in the dashboard:

  • Number of calls in the last 24 hours
  • Delivery rate over the last 24 hours
  • Average response time over the last 24 hours

Webhook attempts are logged and shown in the dashboard under the respective webhook configuration. For each webhook event triggered, you can see the following information:

  • Full JSON payload
  • Timestamp, HTTP status, and response body for each attempt

You can trigger a retry for failed webhook attempts manually in the dashboard, however you can't automatically replay a range of events.

There is no option to trigger test events on webhooks. In order to test a webhook endpoint, the corresponding event must be triggered on the vivenu platform, e.g. by creating a test booking. We recommend carrying out tests in our dev environment.

Security

When setting up a webhook, you can provide an hmacKey to sign calls made from vivenu. The signature is computed by calculating the HMAC of the raw JSON payload with the provided key and the sha256 algorithm, encoded as a hex string. The signature is added to the request in the x-vivenu-signature header.

We strongly recommend you verify the signature in order to prevent malicious users from sending webhook requests to your listeners.

HTTP endpoints are allowed, for HTTPS endpoints we implement strict certificate validation. Endpoint URLs pointing to internal/development hostnames are rejected. Source IPs for webhook calls are not guaranteed to be stable, and must not be used for verification/access control purposes.

Example Verification Code

const HMAC_KEY = "4f1f83b5-b4..."
const signature = crypto
  .createHmac("sha256", HMAC_KEY)
  .update(req.rawPayload).digest("hex")

const requestSignature = req.headers["x-vivenu-signature"]
const isValid = signature.toLowerCase() === requestSignature.toLowerCase()

Timing and Rate Limits

Webhook calls are scheduled immediately after the respective event happens on the vivenu platform. While there is no rate limit on outgoing webhooks, calls are made asynchronously and may experience a slight lag under high-load scenarios.

Outgoing webhook calls have a timeout of ten seconds.

Retry Policy

If an outgoing webhook call by vivenu does not receive a 2xx or 3xx response, it is retried up to six additional times with a progressive backoff delay ranging from 30 seconds to two hours. The response body is logged in either case, but not evaluated by vivenu.

Failed calls can be inspected and manually re-triggered in the corresponding webhook configuration in the dashboard.

Ordering and Idempotency

Webhooks are not guaranteed to be called in the same order as the events causing them. Webhook calls are sent following an at-least-once approach, and can be de-duplicated based on the id field in the payload body.


POST/api/webhooks

Create a new webhook

Create a new webhook

Payload

Required attributes

  • Name
    name
    Type
    string
    Description

    An internal name to identify the webhook listener

  • Name
    url
    Type
    string
    Description

    An HTTPS URL to post the webhook data

Optional attributes

  • Name
    enabled
    Type
    boolean
    Description

    Whether this listener should be notified.

  • Name
    events
    Type
    object
    Description

    An object with the subscription status to the webhook event types.

    Optional nested attributes (45)
    • Name
      transaction.complete
      Type
      boolean
      Description
    • Name
      transaction.reservedBySystem
      Type
      boolean
      Description
    • Name
      transaction.canceled
      Type
      boolean
      Description
    • Name
      transaction.partiallyCanceled
      Type
      boolean
      Description
    • Name
      checkout.completed
      Type
      boolean
      Description
    • Name
      checkout.aborted
      Type
      boolean
      Description
    • Name
      checkout.detailsSubmitted
      Type
      boolean
      Description
    • Name
      ticket.created
      Type
      boolean
      Description
    • Name
      ticket.updated
      Type
      boolean
      Description
    • Name
      purchaseIntent.created
      Type
      boolean
      Description
    • Name
      purchaseIntent.approved
      Type
      boolean
      Description
    • Name
      purchaseIntent.rejected
      Type
      boolean
      Description
    • Name
      purchaseIntent.updated
      Type
      boolean
      Description
    • Name
      purchaseIntent.expired
      Type
      boolean
      Description
    • Name
      purchaseIntent.completed
      Type
      boolean
      Description
    • Name
      purchaseIntent.cancelled
      Type
      boolean
      Description
    • Name
      customer.created
      Type
      boolean
      Description
    • Name
      customer.updated
      Type
      boolean
      Description
    • Name
      event.created
      Type
      boolean
      Description
    • Name
      event.updated
      Type
      boolean
      Description
    • Name
      event.deleted
      Type
      boolean
      Description
    • Name
      job.started
      Type
      boolean
      Description
    • Name
      job.failed
      Type
      boolean
      Description
    • Name
      job.completed
      Type
      boolean
      Description
    • Name
      support.assignedToSeller
      Type
      boolean
      Description
    • Name
      ticketTransfer.created
      Type
      boolean
      Description
    • Name
      ticketTransfer.rejected
      Type
      boolean
      Description
    • Name
      ticketTransfer.transferred
      Type
      boolean
      Description
    • Name
      ticketTransfer.expired
      Type
      boolean
      Description
    • Name
      scan.created
      Type
      boolean
      Description
    • Name
      bundle.created
      Type
      boolean
      Description
    • Name
      bundle.updated
      Type
      boolean
      Description
    • Name
      product.created
      Type
      boolean
      Description
    • Name
      product.updated
      Type
      boolean
      Description
    • Name
      product.deleted
      Type
      boolean
      Description
    • Name
      subscription.created
      Type
      boolean
      Description
    • Name
      subscription.updated
      Type
      boolean
      Description
    • Name
      subscription.payment.succeeded
      Type
      boolean
      Description
    • Name
      subscription.payment.failed
      Type
      boolean
      Description
    • Name
      fund.created
      Type
      boolean
      Description
    • Name
      fund.updated
      Type
      boolean
      Description
    • Name
      campaign.created
      Type
      boolean
      Description
    • Name
      campaign.updated
      Type
      boolean
      Description
    • Name
      donation.created
      Type
      boolean
      Description
    • Name
      pledge.created
      Type
      boolean
      Description
  • Name
    hmacKey
    Type
    string
    Description

    The HMAC key used to validate webhooks.

Request

POST
/api/webhooks
const response = await fetch('https://vivenu.com/api/webhooks', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {token}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(  {
    "name": "Example Name",
    "url": "https://example.com",
    "enabled": true,
    "events": {
      "transaction.complete": true,
      "transaction.reservedBySystem": true,
      "transaction.canceled": true,
      "transaction.partiallyCanceled": true,
      "checkout.completed": true,
      "checkout.aborted": true,
      "checkout.detailsSubmitted": true,
      "ticket.created": true,
      "ticket.updated": true,
      "purchaseIntent.created": true,
      "purchaseIntent.approved": true,
      "purchaseIntent.rejected": true,
      "purchaseIntent.updated": true,
      "purchaseIntent.expired": true,
      "purchaseIntent.completed": true,
      "purchaseIntent.cancelled": true,
      "customer.created": true,
      "customer.updated": true,
      "event.created": true,
      "event.updated": true,
      "event.deleted": true,
      "job.started": true,
      "job.failed": true,
      "job.completed": true,
      "support.assignedToSeller": true,
      "ticketTransfer.created": true,
      "ticketTransfer.rejected": true,
      "ticketTransfer.transferred": true,
      "ticketTransfer.expired": true,
      "scan.created": true,
      "bundle.created": true,
      "bundle.updated": true,
      "product.created": true,
      "product.updated": true,
      "product.deleted": true,
      "subscription.created": true,
      "subscription.updated": true,
      "subscription.payment.succeeded": true,
      "subscription.payment.failed": true,
      "fund.created": true,
      "fund.updated": true,
      "campaign.created": true,
      "campaign.updated": true,
      "donation.created": true,
      "pledge.created": true
    },
    "hmacKey": "string"
  }),
})

const data = await response.json()

Response (201)

{
  "_id": "507f191e810c19729de860ea",
  "name": "Example Name",
  "url": "https://example.com",
  "enabled": true,
  "events": {
    "transaction.complete": true,
    "transaction.reservedBySystem": true,
    "transaction.canceled": true,
    "transaction.partiallyCanceled": true,
    "checkout.completed": true,
    "checkout.aborted": true,
    "checkout.detailsSubmitted": true,
    "ticket.created": true,
    "ticket.updated": true,
    "purchaseIntent.created": true,
    "purchaseIntent.approved": true,
    "purchaseIntent.rejected": true,
    "purchaseIntent.updated": true,
    "purchaseIntent.expired": true,
    "purchaseIntent.completed": true,
    "purchaseIntent.cancelled": true,
    "customer.created": true,
    "customer.updated": true,
    "event.created": true,
    "event.updated": true,
    "event.deleted": true,
    "job.started": true,
    "job.failed": true,
    "job.completed": true,
    "support.assignedToSeller": true,
    "ticketTransfer.created": true,
    "ticketTransfer.rejected": true,
    "ticketTransfer.transferred": true,
    "ticketTransfer.expired": true,
    "scan.created": true,
    "bundle.created": true,
    "bundle.updated": true,
    "product.created": true,
    "product.updated": true,
    "product.deleted": true,
    "subscription.created": true,
    "subscription.updated": true,
    "subscription.payment.succeeded": true,
    "subscription.payment.failed": true,
    "fund.created": true,
    "fund.updated": true,
    "campaign.created": true,
    "campaign.updated": true,
    "donation.created": true,
    "pledge.created": true
  },
  "hmacKey": "string",
  "createdBy": {
    "type": "USER",
    "id": "507f191e810c19729de860ea"
  }
}

PUT/api/webhook/:id

Update a webhook

Update a webhook

Payload

Required attributes

  • Name
    name
    Type
    string
    Description

    An internal name to identify the webhook listener

  • Name
    url
    Type
    string
    Description

    An HTTPS URL to post the webhook data

Optional attributes

  • Name
    enabled
    Type
    boolean
    Description

    Whether this listener should be notified.

  • Name
    events
    Type
    object
    Description

    An object with the subscription status to the webhook event types.

    Optional nested attributes (45)
    • Name
      transaction.complete
      Type
      boolean
      Description
    • Name
      transaction.reservedBySystem
      Type
      boolean
      Description
    • Name
      transaction.canceled
      Type
      boolean
      Description
    • Name
      transaction.partiallyCanceled
      Type
      boolean
      Description
    • Name
      checkout.completed
      Type
      boolean
      Description
    • Name
      checkout.aborted
      Type
      boolean
      Description
    • Name
      checkout.detailsSubmitted
      Type
      boolean
      Description
    • Name
      ticket.created
      Type
      boolean
      Description
    • Name
      ticket.updated
      Type
      boolean
      Description
    • Name
      purchaseIntent.created
      Type
      boolean
      Description
    • Name
      purchaseIntent.approved
      Type
      boolean
      Description
    • Name
      purchaseIntent.rejected
      Type
      boolean
      Description
    • Name
      purchaseIntent.updated
      Type
      boolean
      Description
    • Name
      purchaseIntent.expired
      Type
      boolean
      Description
    • Name
      purchaseIntent.completed
      Type
      boolean
      Description
    • Name
      purchaseIntent.cancelled
      Type
      boolean
      Description
    • Name
      customer.created
      Type
      boolean
      Description
    • Name
      customer.updated
      Type
      boolean
      Description
    • Name
      event.created
      Type
      boolean
      Description
    • Name
      event.updated
      Type
      boolean
      Description
    • Name
      event.deleted
      Type
      boolean
      Description
    • Name
      job.started
      Type
      boolean
      Description
    • Name
      job.failed
      Type
      boolean
      Description
    • Name
      job.completed
      Type
      boolean
      Description
    • Name
      support.assignedToSeller
      Type
      boolean
      Description
    • Name
      ticketTransfer.created
      Type
      boolean
      Description
    • Name
      ticketTransfer.rejected
      Type
      boolean
      Description
    • Name
      ticketTransfer.transferred
      Type
      boolean
      Description
    • Name
      ticketTransfer.expired
      Type
      boolean
      Description
    • Name
      scan.created
      Type
      boolean
      Description
    • Name
      bundle.created
      Type
      boolean
      Description
    • Name
      bundle.updated
      Type
      boolean
      Description
    • Name
      product.created
      Type
      boolean
      Description
    • Name
      product.updated
      Type
      boolean
      Description
    • Name
      product.deleted
      Type
      boolean
      Description
    • Name
      subscription.created
      Type
      boolean
      Description
    • Name
      subscription.updated
      Type
      boolean
      Description
    • Name
      subscription.payment.succeeded
      Type
      boolean
      Description
    • Name
      subscription.payment.failed
      Type
      boolean
      Description
    • Name
      fund.created
      Type
      boolean
      Description
    • Name
      fund.updated
      Type
      boolean
      Description
    • Name
      campaign.created
      Type
      boolean
      Description
    • Name
      campaign.updated
      Type
      boolean
      Description
    • Name
      donation.created
      Type
      boolean
      Description
    • Name
      pledge.created
      Type
      boolean
      Description
  • Name
    hmacKey
    Type
    string
    Description

    The HMAC key used to validate webhooks.

Request

PUT
/api/webhook/:id
const response = await fetch('https://vivenu.com/api/webhook/507f191e810c19729de860ea', {
  method: 'PUT',
  headers: {
    Authorization: 'Bearer {token}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(  {
    "name": "Example Name",
    "url": "https://example.com",
    "enabled": true,
    "events": {
      "transaction.complete": true,
      "transaction.reservedBySystem": true,
      "transaction.canceled": true,
      "transaction.partiallyCanceled": true,
      "checkout.completed": true,
      "checkout.aborted": true,
      "checkout.detailsSubmitted": true,
      "ticket.created": true,
      "ticket.updated": true,
      "purchaseIntent.created": true,
      "purchaseIntent.approved": true,
      "purchaseIntent.rejected": true,
      "purchaseIntent.updated": true,
      "purchaseIntent.expired": true,
      "purchaseIntent.completed": true,
      "purchaseIntent.cancelled": true,
      "customer.created": true,
      "customer.updated": true,
      "event.created": true,
      "event.updated": true,
      "event.deleted": true,
      "job.started": true,
      "job.failed": true,
      "job.completed": true,
      "support.assignedToSeller": true,
      "ticketTransfer.created": true,
      "ticketTransfer.rejected": true,
      "ticketTransfer.transferred": true,
      "ticketTransfer.expired": true,
      "scan.created": true,
      "bundle.created": true,
      "bundle.updated": true,
      "product.created": true,
      "product.updated": true,
      "product.deleted": true,
      "subscription.created": true,
      "subscription.updated": true,
      "subscription.payment.succeeded": true,
      "subscription.payment.failed": true,
      "fund.created": true,
      "fund.updated": true,
      "campaign.created": true,
      "campaign.updated": true,
      "donation.created": true,
      "pledge.created": true
    },
    "hmacKey": "string"
  }),
})

const data = await response.json()

Response (201)

{
  "_id": "507f191e810c19729de860ea",
  "name": "Example Name",
  "url": "https://example.com",
  "enabled": true,
  "events": {
    "transaction.complete": true,
    "transaction.reservedBySystem": true,
    "transaction.canceled": true,
    "transaction.partiallyCanceled": true,
    "checkout.completed": true,
    "checkout.aborted": true,
    "checkout.detailsSubmitted": true,
    "ticket.created": true,
    "ticket.updated": true,
    "purchaseIntent.created": true,
    "purchaseIntent.approved": true,
    "purchaseIntent.rejected": true,
    "purchaseIntent.updated": true,
    "purchaseIntent.expired": true,
    "purchaseIntent.completed": true,
    "purchaseIntent.cancelled": true,
    "customer.created": true,
    "customer.updated": true,
    "event.created": true,
    "event.updated": true,
    "event.deleted": true,
    "job.started": true,
    "job.failed": true,
    "job.completed": true,
    "support.assignedToSeller": true,
    "ticketTransfer.created": true,
    "ticketTransfer.rejected": true,
    "ticketTransfer.transferred": true,
    "ticketTransfer.expired": true,
    "scan.created": true,
    "bundle.created": true,
    "bundle.updated": true,
    "product.created": true,
    "product.updated": true,
    "product.deleted": true,
    "subscription.created": true,
    "subscription.updated": true,
    "subscription.payment.succeeded": true,
    "subscription.payment.failed": true,
    "fund.created": true,
    "fund.updated": true,
    "campaign.created": true,
    "campaign.updated": true,
    "donation.created": true,
    "pledge.created": true
  },
  "hmacKey": "string",
  "createdBy": {
    "type": "USER",
    "id": "507f191e810c19729de860ea"
  }
}

DELETE/api/webhook/:id

Delete a Webhook

Delete a Webhook

Request

DELETE
/api/webhook/:id
const response = await fetch('https://vivenu.com/api/webhook/507f191e810c19729de860ea', {
  method: 'DELETE',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Response (200)

{
  "_id": "507f191e810c19729de860ea",
  "name": "Example Name",
  "url": "https://example.com",
  "enabled": true,
  "events": {
    "transaction.complete": true,
    "transaction.reservedBySystem": true,
    "transaction.canceled": true,
    "transaction.partiallyCanceled": true,
    "checkout.completed": true,
    "checkout.aborted": true,
    "checkout.detailsSubmitted": true,
    "ticket.created": true,
    "ticket.updated": true,
    "purchaseIntent.created": true,
    "purchaseIntent.approved": true,
    "purchaseIntent.rejected": true,
    "purchaseIntent.updated": true,
    "purchaseIntent.expired": true,
    "purchaseIntent.completed": true,
    "purchaseIntent.cancelled": true,
    "customer.created": true,
    "customer.updated": true,
    "event.created": true,
    "event.updated": true,
    "event.deleted": true,
    "job.started": true,
    "job.failed": true,
    "job.completed": true,
    "support.assignedToSeller": true,
    "ticketTransfer.created": true,
    "ticketTransfer.rejected": true,
    "ticketTransfer.transferred": true,
    "ticketTransfer.expired": true,
    "scan.created": true,
    "bundle.created": true,
    "bundle.updated": true,
    "product.created": true,
    "product.updated": true,
    "product.deleted": true,
    "subscription.created": true,
    "subscription.updated": true,
    "subscription.payment.succeeded": true,
    "subscription.payment.failed": true,
    "fund.created": true,
    "fund.updated": true,
    "campaign.created": true,
    "campaign.updated": true,
    "donation.created": true,
    "pledge.created": true
  },
  "hmacKey": "string",
  "createdBy": {
    "type": "USER",
    "id": "507f191e810c19729de860ea"
  }
}

GET/api/webhooks

Get all webhooks

Get all webhooks

Query parameters

Optional query parameters

  • Name
    top
    Type
    integer
    Description
  • Name
    skip
    Type
    integer
    Description

Request

GET
/api/webhooks
const response = await fetch('https://vivenu.com/api/webhooks?top=1&skip=1', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Response (200)

{
  "docs": [
    {
      "_id": "507f191e810c19729de860ea",
      "name": "Example Name",
      "url": "https://example.com",
      "enabled": true,
      "events": {
        "transaction.complete": true,
        "transaction.reservedBySystem": true,
        "transaction.canceled": true,
        "transaction.partiallyCanceled": true,
        "checkout.completed": true,
        "checkout.aborted": true,
        "checkout.detailsSubmitted": true,
        "ticket.created": true,
        "ticket.updated": true,
        "purchaseIntent.created": true,
        "purchaseIntent.approved": true,
        "purchaseIntent.rejected": true,
        "purchaseIntent.updated": true,
        "purchaseIntent.expired": true,
        "purchaseIntent.completed": true,
        "purchaseIntent.cancelled": true,
        "customer.created": true,
        "customer.updated": true,
        "event.created": true,
        "event.updated": true,
        "event.deleted": true,
        "job.started": true,
        "job.failed": true,
        "job.completed": true,
        "support.assignedToSeller": true,
        "ticketTransfer.created": true,
        "ticketTransfer.rejected": true,
        "ticketTransfer.transferred": true,
        "ticketTransfer.expired": true,
        "scan.created": true,
        "bundle.created": true,
        "bundle.updated": true,
        "product.created": true,
        "product.updated": true,
        "product.deleted": true,
        "subscription.created": true,
        "subscription.updated": true,
        "subscription.payment.succeeded": true,
        "subscription.payment.failed": true,
        "fund.created": true,
        "fund.updated": true,
        "campaign.created": true,
        "campaign.updated": true,
        "donation.created": true,
        "pledge.created": true
      },
      "hmacKey": "string",
      "createdBy": {
        "type": "USER",
        "id": "507f191e810c19729de860ea"
      }
    }
  ],
  "total": 1
}

Webhook Events

Transaction

EventTriggerPayload
transaction.completeWhen a transaction transitions to COMPLETELink
transaction.reservedBySystemWhen a transaction is created RESERVED_BY_SYSTEMLink
transaction.canceledWhen a transaction transitions to CANCELEDLink
transaction.partiallyCanceledWhen a transaction is partially canceledLink

Checkout

EventTriggerPayload
checkout.completedWhen a checkout transitions to COMPLETELink
checkout.abortedWhen a checkout transitions to ABORTEDLink
checkout.detailsSubmittedWhen a checkout receives customer detailsLink

Ticket

EventTriggerPayload
ticket.createdWhen a ticket is createdLink
ticket.updatedWhen a ticket is updatedLink

Purchase Intent

EventTriggerPayload
purchaseIntent.createdWhen a purchase intent is createdLink
purchaseIntent.updatedWhen a purchase intent is updatedLink
purchaseIntent.completedWhen a purchase intent is completedLink
purchaseIntent.approvedWhen a purchase intent is approvedLink
purchaseIntent.rejectedWhen a purchase intent is rejectedLink
purchaseIntent.expiredWhen a purchase intent expiresLink
purchaseIntent.cancelledWhen a purchase intent is cancelledLink

Customer

EventTriggerPayload
customer.createdWhen a customer is createdLink
customer.updatedWhen a customer is updatedLink

Event

EventTriggerPayload
event.createdWhen an event is createdLink
event.updatedWhen an event is updatedLink
event.deletedWhen an event is deletedLink

Job

EventTriggerPayload
job.startedWhen a job startsLink
job.failedWhen a job failsLink
job.completedWhen a job is completedLink

Support

EventTriggerPayload
support.assignedToSellerWhen a support ticket is assigned to sellerLink

Ticket Transfer

EventTriggerPayload
ticketTransfer.createdWhen a ticket transfer is createdLink
ticketTransfer.rejectedWhen a ticket transfer is rejectedLink
ticketTransfer.transferredWhen a ticket transfer is transferredLink
ticketTransfer.expiredWhen a ticket transfer is expiredLink

Scan

EventTriggerPayload
scan.createdWhen a scan is createdLink

Subscription

EventTriggerPayload
subscription.createdWhen a subscription is createdLink
subscription.updatedWhen a subscription is updatedLink
subscription.payment.succeededWhen a subscription payment succeededLink
subscription.payment.failedWhen a subscription payment failedLink

Bundle

EventTriggerPayload
bundle.createdWhen a bundle is createdLink
bundle.updatedWhen a bundle is updatedLink

Product

EventTriggerPayload
product.createdWhen a product is createdLink
product.updatedWhen a product is updatedLink
product.deletedWhen a product is deletedLink

Webhook Payload

The object posted to your listener server. Each event has an individual data object. Examples of these data objects are listed below.

Required attributes

  • Name
    mode
    Type
    enum(dev, prod)
    Description

    The mode of the service sending this webhook

Optional attributes

  • Name
    id
    Type
    string
    Description

    The unique ID of the HTTP transmission.

  • Name
    type
    Type
    enum(transaction.complete, transaction.reservedBySystem, transaction.canceled, transaction.partiallyCanceled, checkout.completed, checkout.aborted, checkout.detailsSubmitted, ticket.created, ticket.updated, purchaseIntent.created, purchaseIntent.approved, purchaseIntent.rejected, purchaseIntent.updated, purchaseIntent.expired, purchaseIntent.completed, purchaseIntent.cancelled, customer.created, customer.updated, event.created, event.updated, event.deleted, job.started, job.failed, job.completed, support.assignedToSeller, ticketTransfer.created, ticketTransfer.rejected, ticketTransfer.transferred, ticketTransfer.expired, scan.created, bundle.created, bundle.updated, product.created, product.updated, product.deleted, subscription.created, subscription.updated, subscription.payment.succeeded, subscription.payment.failed, fund.created, fund.updated, campaign.created, campaign.updated, donation.created, pledge.created)
    Description

    The event type of the webhook

  • Name
    data
    Type
    object
    Description

    The associated data for this webhook

Example

{
  "mode": "dev",
  "id": "507f191e810c19729de860ea",
  "type": "transaction.complete",
  "data": {}
}

transaction.complete

The data of the transaction complete webhook event.

Required attributes

  • Name
    transaction
    Type
    object
    Description
  • Name
    tickets
    Type
    array<object>
    Description

    An array of the tickets associated to this transaction

Example

{
  "tickets": []
}

transaction.reservedBySystem

The data of the transaction reserved by system webhook event.

Required attributes

  • Name
    transaction
    Type
    object
    Description
  • Name
    tickets
    Type
    array<object>
    Description

    An array of the tickets associated to this transaction

Example

{
  "tickets": []
}

transaction.canceled

The data of the transaction canceled webhook event.

Required attributes

  • Name
    transaction
    Type
    object
    Description
  • Name
    tickets
    Type
    array<object>
    Description

    An array of the tickets associated to this transaction

Example

{
  "tickets": []
}

transaction.partiallyCanceled

The data of the transaction partially canceled webhook event.

Required attributes

  • Name
    transaction
    Type
    object
    Description

Example

{}

checkout.completed

The data of the checkout completed webhook event.

Required attributes

  • Name
    checkout
    Type
    object
    Description

Example

{}

checkout.aborted

The data of the checkout aborted webhook event.

Required attributes

  • Name
    checkout
    Type
    object
    Description

Example

{}

checkout.detailsSubmitted

The data of the checkout details submitted webhook event.

Required attributes

  • Name
    checkout
    Type
    object
    Description

Example

{}

ticket.created

The data of the ticket created webhook event.

Required attributes

  • Name
    ticket
    Type
    object
    Description

Example

{}

ticket.updated

The data of the ticket updated webhook event.

Required attributes

  • Name
    ticket
    Type
    object
    Description

Example

{}

purchaseIntent.created

The data of the purchase intent created webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.updated

The data of the purchase intent updated webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.completed

The data of the purchase intent completed webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.approved

The data of the purchase intent approved webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.rejected

The data of the purchase intent rejected webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.expired

The data of the purchase intent expired webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

purchaseIntent.cancelled

The data of the purchase intent cancelled webhook event.

Required attributes

  • Name
    purchaseIntent
    Type
    object
    Description

Example

{}

customer.created

The data of the customer created webhook event.

Required attributes

  • Name
    customer
    Type
    object
    Description

Example

{}

customer.updated

The data of the customer updated webhook event.

Required attributes

  • Name
    customer
    Type
    object
    Description

Example

{}

event.created

The data of the event created webhook event.

Required attributes

  • Name
    event
    Type
    object
    Description

Example

{}

event.updated

The data of the event updated webhook event.

Required attributes

  • Name
    event
    Type
    object
    Description

Example

{}

event.deleted

The data of the event deleted webhook event.

Required attributes

  • Name
    event
    Type
    object
    Description

Example

{}

job.started

The data of the job started webhook event.

Required attributes

  • Name
    job
    Type
    oneOf
    Description

    The associated job which has been started

Example

{
  "job": {
    "_id": "507f191e810c19729de860ea",
    "sellerId": "507f191e810c19729de860ea",
    "type": "transformJob",
    "title": "string",
    "status": "SCHEDULED",
    "runAfter": "2030-01-23T23:00:00.123Z",
    "startedAt": "2030-01-23T23:00:00.123Z",
    "finishedAt": "2030-01-23T23:00:00.123Z",
    "payload": {
      "resource": "ticketRangeInvalidation",
      "csv": "string",
      "json": "string",
      "params": {
        "batch": "string",
        "groups": [
          [
            1
          ]
        ]
      }
    }
  }
}

job.failed

The data of the job failed webhook event.

Required attributes

  • Name
    job
    Type
    oneOf
    Description

    The associated job which has been failed

Example

{
  "job": {
    "_id": "507f191e810c19729de860ea",
    "sellerId": "507f191e810c19729de860ea",
    "type": "transformJob",
    "title": "string",
    "status": "SCHEDULED",
    "runAfter": "2030-01-23T23:00:00.123Z",
    "startedAt": "2030-01-23T23:00:00.123Z",
    "finishedAt": "2030-01-23T23:00:00.123Z",
    "payload": {
      "resource": "ticketRangeInvalidation",
      "csv": "string",
      "json": "string",
      "params": {
        "batch": "string",
        "groups": [
          [
            1
          ]
        ]
      }
    }
  }
}

job.completed

The data of the job completed webhook event.

Required attributes

  • Name
    job
    Type
    oneOf
    Description

    The associated job which has been completed

Example

{
  "job": {
    "_id": "507f191e810c19729de860ea",
    "sellerId": "507f191e810c19729de860ea",
    "type": "transformJob",
    "title": "string",
    "status": "SCHEDULED",
    "runAfter": "2030-01-23T23:00:00.123Z",
    "startedAt": "2030-01-23T23:00:00.123Z",
    "finishedAt": "2030-01-23T23:00:00.123Z",
    "payload": {
      "resource": "ticketRangeInvalidation",
      "csv": "string",
      "json": "string",
      "params": {
        "batch": "string",
        "groups": [
          [
            1
          ]
        ]
      }
    }
  }
}

support.assignedToSeller

The data of the support assigned to seller webhook event.

Required attributes

  • Name
    support
    Type
    object
    Description

    The associated support has been assigned

    Required nested attributes (9)
    • Name
      _id
      Type
      string
      Description

      The ID of the status

    • Name
      name
      Type
      string
      Description

      The name of the ticket

    • Name
      email
      Type
      string
      Description

      The email of the ticket creator

    • Name
      status
      Type
      enum(NEW, INPROGRESS, RESOLVED)
      Description

      The current status of the support ticket

    • Name
      priority
      Type
      enum(LOW, MEDIUM, HIGH)
      Description

      The priority of the support tickt

    • Name
      secret
      Type
      string
      Description

      The secret of the support ticket

    • Name
      lastInteraction
      Type
      string
      Description

      An ISO timestamp indicating the last interaction with the ticket

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the support ticket was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the support ticket was updated

    Optional nested attributes (12)
    • Name
      transactionId
      Type
      string
      Description

      The ID of the corresponding transaction

    • Name
      firstname
      Type
      string
      Description

      The firstname of the ticket creator

    • Name
      lastname
      Type
      string
      Description

      The lastname of the ticket creator

    • Name
      messages
      Type
      array<object>
      Description

      The sent messages associated with this ticket

      Required nested attributes (4)
      • Name
        _id
        Type
        string
        Description

        The ID of the support message

      • Name
        userId
        Type
        string
        Description

        The ID of the user who sent the message

      • Name
        senderName
        Type
        string
        Description

        The name of the message sender

      • Name
        message
        Type
        string
        Description

        The text content of the support message

      Optional nested attributes (1)
      • Name
        createdAt
        Type
        string
        Description

        An ISO timestamp indicating when the message was created

    • Name
      assignee
      Type
      string
      Description

      The userId of the assignee

    • Name
      assignedToSeller
      Type
      boolean
      Description

      Flag indicating whether the ticket is assigned to the seller

    • Name
      note
      Type
      string
      Description

      Some internal notes in this support ticket.

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the support ticket

    • Name
      preferredLanguage
      Type
      enum(de, de-CH, en, en-GB, en-AU, fr, es, es-MX, is, it, ru, pt, tr, nb, nl, pl, sv, sl, da, cs, lv, he, ar, th, ko, ja, zh-TW)
      Description
    • Name
      customerId
      Type
      string
      Description

      The ID of the customer

    • Name
      tags
      Type
      array<string>
      Description
    • Name
      context
      Type
      object
      Description

Example

{
  "support": {
    "_id": "507f191e810c19729de860ea",
    "name": "Example Name",
    "email": "example@vivenu.com",
    "status": "NEW",
    "priority": "MEDIUM",
    "secret": "string",
    "lastInteraction": "2030-01-23T23:00:00.123Z",
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z",
    "transactionId": "507f191e810c19729de860ea",
    "firstname": "string",
    "lastname": "string",
    "messages": [
      {
        "_id": "507f191e810c19729de860ea",
        "userId": "507f191e810c19729de860ea",
        "senderName": "string",
        "message": "string",
        "createdAt": "2030-01-23T23:00:00.123Z"
      }
    ],
    "assignee": "string",
    "assignedToSeller": true,
    "note": "string",
    "sellerId": "507f191e810c19729de860ea",
    "preferredLanguage": "de",
    "customerId": "507f191e810c19729de860ea",
    "tags": [
      "string"
    ],
    "context": {}
  }
}

ticketTransfer.created

The data of the ticket transfer created webhook event.

Required attributes

  • Name
    ticketTransfer
    Type
    object
    Description

Example

{}

ticketTransfer.rejected

The data of the ticket transfer rejected webhook event.

Required attributes

  • Name
    ticketTransfer
    Type
    object
    Description

Example

{}

ticketTransfer.transferred

The data of the ticket transfer transferred webhook event.

Required attributes

  • Name
    ticketTransfer
    Type
    object
    Description

Example

{}

ticketTransfer.expired

The data of the ticket transfer expired webhook event.

Required attributes

  • Name
    ticketTransfer
    Type
    object
    Description

Example

{}

scan.created

The data of the scan created webhook event.

Required attributes

  • Name
    scan
    Type
    object
    Description

    The associated scan which has been created

    Required nested attributes (6)
    • Name
      ticketId
      Type
      string
      Description

      The ID of the ticket

    • Name
      eventId
      Type
      string
      Description

      The ID of the event

    • Name
      barcode
      Type
      string
      Description

      The barcode

    • Name
      ticketTypeId
      Type
      string
      Description

      The ID of the ticket type

    • Name
      type
      Type
      enum(checkin, checkout)
      Description

      The scan type

    • Name
      scanResult
      Type
      enum(approved, declined)
      Description

      The scan result

    Optional nested attributes (6)
    • Name
      time
      Type
      string
      Description

      The date of the scan

    • Name
      parentEventId
      Type
      string
      Description

      The ID of parent event

    • Name
      name
      Type
      string
      Description

      The name on ticket

    • Name
      ticketName
      Type
      string
      Description

      The ticket type name

    • Name
      deviceId
      Type
      string
      Description

      The ID of the device

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller

Example

{
  "scan": {
    "ticketId": "507f191e810c19729de860ea",
    "eventId": "507f191e810c19729de860ea",
    "barcode": "string",
    "ticketTypeId": "507f191e810c19729de860ea",
    "type": "checkin",
    "scanResult": "approved",
    "time": "2030-01-23T23:00:00.123Z",
    "parentEventId": "507f191e810c19729de860ea",
    "name": "Example Name",
    "ticketName": "string",
    "deviceId": "507f191e810c19729de860ea",
    "sellerId": "507f191e810c19729de860ea"
  }
}

subscription.created

The data of the subscription created event.

Required attributes

  • Name
    subscription
    Type
    object
    Description

Example

{}

subscription.updated

The data of the subscription updated event.

Required attributes

  • Name
    subscription
    Type
    object
    Description

Example

{}

subscription.payment.succeeded

The data of the subscription payment succeeded event.

Required attributes

  • Name
    subscription
    Type
    object
    Description

Example

{}

subscription.payment.failed

The data of the subscription payment failed event.

Required attributes

  • Name
    subscription
    Type
    object
    Description

Example

{}

bundle.created

The data of the bundle created webhook event.

Required attributes

  • Name
    bundle
    Type
    object
    Description

    The associated bundle which has been created

    Required nested attributes (8)
    • Name
      _id
      Type
      string
      Description

      The ID of the bundle

    • Name
      active
      Type
      boolean
      Description

      Whether the bundle is active

    • Name
      name
      Type
      string
      Description

      The name of the bundle

    • Name
      description
      Type
      string
      Description

      The description of the bundle

    • Name
      components
      Type
      array<object>
      Description

      The components of the bundle

      Required nested attributes (4)
      • Name
        name
        Type
        string
        Description

        The ID of the bundle component

      • Name
        options
        Type
        array<oneOf>
        Description

        Options for the bundle component

      • Name
        minQuantity
        Type
        number
        Description

        Minimum quantity of the bundle component

      • Name
        maxQuantity
        Type
        number
        Description

        Maximum quantity of the bundle component

      Optional nested attributes (2)
      • Name
        _id
        Type
        string
        Description

        The ID of the bundle component

      • Name
        localization
        Type
        object
        Description

        Localization of the bundle component for multiple languages

    • Name
      triggers
      Type
      array<object>
      Description

      The triggers of the bundle

      Optional nested attributes (3)
      • Name
        _id
        Type
        string
        Description

        The ID of the bundle component

      • Name
        type
        Type
        string
        Description
      • Name
        target
        Type
        object
        Description
        Required nested attributes (1)
        • Name
          componentId
          Type
          string
          Description

          The component which should trigger the bundle

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the bundle

    • Name
      showOnlyTotalPrice
      Type
      boolean
      Description

      Whether to show the total only

    Optional nested attributes (4)
    • Name
      image
      Type
      string
      Description

      The image of the bundle

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was updated

    • Name
      localization
      Type
      object
      Description

      Localization of the bundle for multiple languages

Example

{
  "bundle": {
    "_id": "507f191e810c19729de860ea",
    "active": true,
    "name": "Example Name",
    "description": "string",
    "components": [
      {
        "name": "Example Name",
        "options": [
          {
            "type": "pricetype",
            "priceType": {
              "priceTableId": "507f191e810c19729de860ea",
              "priceTypeId": "507f191e810c19729de860ea"
            },
            "_id": "507f191e810c19729de860ea",
            "price": 10.5
          }
        ],
        "minQuantity": 10.5,
        "maxQuantity": 10.5,
        "_id": "507f191e810c19729de860ea",
        "localization": {}
      }
    ],
    "triggers": [
      {
        "_id": "507f191e810c19729de860ea",
        "type": "string",
        "target": {
          "componentId": "507f191e810c19729de860ea"
        }
      }
    ],
    "sellerId": "507f191e810c19729de860ea",
    "showOnlyTotalPrice": true,
    "image": "string",
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z",
    "localization": {}
  }
}

bundle.updated

The data of the bundle updated webhook event.

Required attributes

  • Name
    bundle
    Type
    object
    Description

    The associated bundle which has been updated

    Required nested attributes (8)
    • Name
      _id
      Type
      string
      Description

      The ID of the bundle

    • Name
      active
      Type
      boolean
      Description

      Whether the bundle is active

    • Name
      name
      Type
      string
      Description

      The name of the bundle

    • Name
      description
      Type
      string
      Description

      The description of the bundle

    • Name
      components
      Type
      array<object>
      Description

      The components of the bundle

      Required nested attributes (4)
      • Name
        name
        Type
        string
        Description

        The ID of the bundle component

      • Name
        options
        Type
        array<oneOf>
        Description

        Options for the bundle component

      • Name
        minQuantity
        Type
        number
        Description

        Minimum quantity of the bundle component

      • Name
        maxQuantity
        Type
        number
        Description

        Maximum quantity of the bundle component

      Optional nested attributes (2)
      • Name
        _id
        Type
        string
        Description

        The ID of the bundle component

      • Name
        localization
        Type
        object
        Description

        Localization of the bundle component for multiple languages

    • Name
      triggers
      Type
      array<object>
      Description

      The triggers of the bundle

      Optional nested attributes (3)
      • Name
        _id
        Type
        string
        Description

        The ID of the bundle component

      • Name
        type
        Type
        string
        Description
      • Name
        target
        Type
        object
        Description
        Required nested attributes (1)
        • Name
          componentId
          Type
          string
          Description

          The component which should trigger the bundle

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the bundle

    • Name
      showOnlyTotalPrice
      Type
      boolean
      Description

      Whether to show the total only

    Optional nested attributes (4)
    • Name
      image
      Type
      string
      Description

      The image of the bundle

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was updated

    • Name
      localization
      Type
      object
      Description

      Localization of the bundle for multiple languages

Example

{
  "bundle": {
    "_id": "507f191e810c19729de860ea",
    "active": true,
    "name": "Example Name",
    "description": "string",
    "components": [
      {
        "name": "Example Name",
        "options": [
          {
            "type": "pricetype",
            "priceType": {
              "priceTableId": "507f191e810c19729de860ea",
              "priceTypeId": "507f191e810c19729de860ea"
            },
            "_id": "507f191e810c19729de860ea",
            "price": 10.5
          }
        ],
        "minQuantity": 10.5,
        "maxQuantity": 10.5,
        "_id": "507f191e810c19729de860ea",
        "localization": {}
      }
    ],
    "triggers": [
      {
        "_id": "507f191e810c19729de860ea",
        "type": "string",
        "target": {
          "componentId": "507f191e810c19729de860ea"
        }
      }
    ],
    "sellerId": "507f191e810c19729de860ea",
    "showOnlyTotalPrice": true,
    "image": "string",
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z",
    "localization": {}
  }
}

product.created

The data of the product created webhook event.

Required attributes

  • Name
    product
    Type
    object
    Description
    Required nested attributes (4)
    • Name
      _id
      Type
      string
      Description

      The ID of the product

    • Name
      name
      Type
      string
      Description

      The name of the product

    • Name
      type
      Type
      enum(voucher, product, donation, membership, addOn)
      Description

      The type of the product

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the product

    Optional nested attributes (13)
    • Name
      active
      Type
      boolean
      Description

      Whether the product is active and can be distributed

    • Name
      isFulfillable
      Type
      boolean
      Description

      Whether the product can be delivered

    • Name
      image
      Type
      string
      Description

      The image of the product

    • Name
      description
      Type
      string
      Description

      The description of the product

    • Name
      variants
      Type
      array<object>
      Description

      An array of variants of the product

      Required nested attributes (2)
      • Name
        _id
        Type
        string
        Description

        The ID of the product variant of the product

      • Name
        taxable
        Type
        boolean
        Description

        Whether the product is taxable or not

      Optional nested attributes (10)
      • Name
        name
        Type
        string
        Description

        The Name of the product variant, defaults to product name if not specified

      • Name
        description
        Type
        string
        Description

        A description of the variant

      • Name
        priceType
        Type
        enum(fixed, range)
        Description
      • Name
        price
        Type
        number
        Description

        The price of the product

      • Name
        priceRange
        Type
        object
        Description
        Optional nested attributes (2)
        • Name
          min
          Type
          number
          Description

          The minimum price of the product

        • Name
          max
          Type
          number
          Description

          The maximum price of the product

      • Name
        taxRate
        Type
        number
        Description

        The tax rate of the product

      • Name
        compareAtPrice
        Type
        number
        Description

        The recommended retail price to compare with the actual price.

      • Name
        taxServiceTypeId
        Type
        string
        Description

        The ID of the tax service of the product

      • Name
        gtin
        Type
        string
        Description
      • Name
        localization
        Type
        object
        Description

        Localization of the product for multiple languages

    • Name
      categoryIds
      Type
      array<string>
      Description

      An array of categories to which the product belongs

    • Name
      voucherSettings
      Type
      object
      Description

      If the product is of type voucher

      Optional nested attributes (5)
      • Name
        limitedValidityPeriod
        Type
        boolean
        Description

        Whether the voucher should expire

      • Name
        validityConfig
        Type
        object
        Description
        Optional nested attributes (3)
        • Name
          amount
          Type
          number
          Description
        • Name
          type
          Type
          number
          Description
        • Name
          untilEndOfPeriod
          Type
          boolean
          Description
      • Name
        pdfImage
        Type
        string
        Description

        A marketing image printed onto voucher pdf

      • Name
        disclaimer
        Type
        string
        Description

        A disclaimer text printed onto voucher pdf

      • Name
        documentTemplateSettings
        Type
        object
        Description
        Optional nested attributes (1)
        • Name
          templates
          Type
          array<object>
          Description
          Required nested attributes (4)
          • Name
            templateId
            Type
            string
            Description

            The ID of the document template

          • Name
            format
            Type
            enum(A4, LETTER, LEGAL, BOARDING-PASS, PLASTIC-CARD, CARD, LABEL, CUSTOM, APPLE, GOOGLE)
            Description

            The format of document template for the dimensions.

          • Name
            target
            Type
            enum(thermal, digital, wallet)
            Description

            The target of document template for which targets it should be used.

          • Name
            type
            Type
            enum(ticket, invoice, voucher, member-card, header-card)
            Description

            The type of document template for which document it should be used. ticket = The document template will be used on tickets. invoice = The document template will be used on invoices.

    • Name
      addOnSettings
      Type
      object
      Description
      Optional nested attributes (2)
      • Name
        optOutDescription
        Type
        string
        Description

        The description that is shown to the user if he decides to not buy the addOn

      • Name
        localization
        Type
        object
        Description

        Localization of the addOnSettings for multiple languages

    • Name
      donationSettings
      Type
      object
      Description

      Settings for donation products

      Required nested attributes (2)
      • Name
        campaignId
        Type
        string
        Description

        The ID of the fundraise campaign

      • Name
        fundId
        Type
        string
        Description

        The ID of the donation fund

    • Name
      meta
      Type
      object
      Description

      Custom key-value data. Metadata is useful for storing additional, structured information on an object.

    • Name
      localization
      Type
      object
      Description

      Localization of the product for multiple languages

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was updated

Example

{
  "product": {
    "_id": "507f191e810c19729de860ea",
    "name": "Example Name",
    "type": "voucher",
    "sellerId": "507f191e810c19729de860ea",
    "active": true,
    "isFulfillable": true,
    "image": "string",
    "description": "string",
    "variants": [
      {
        "_id": "507f191e810c19729de860ea",
        "taxable": true,
        "name": "Example Name",
        "description": "string",
        "priceType": "fixed",
        "price": 10.5,
        "priceRange": {
          "min": 10.5,
          "max": 10.5
        },
        "taxRate": 10.5,
        "compareAtPrice": 10.5,
        "taxServiceTypeId": "507f191e810c19729de860ea",
        "gtin": "string",
        "localization": {}
      }
    ],
    "categoryIds": [
      "string"
    ],
    "voucherSettings": {
      "limitedValidityPeriod": true,
      "validityConfig": {
        "amount": 10.5,
        "type": 10.5,
        "untilEndOfPeriod": true
      },
      "pdfImage": "string",
      "disclaimer": "string",
      "documentTemplateSettings": {
        "templates": [
          {
            "templateId": "507f191e810c19729de860ea",
            "format": "A4",
            "target": "thermal",
            "type": "ticket"
          }
        ]
      }
    },
    "addOnSettings": {
      "optOutDescription": "string",
      "localization": {}
    },
    "donationSettings": {
      "campaignId": "507f191e810c19729de860ea",
      "fundId": "507f191e810c19729de860ea"
    },
    "meta": {},
    "localization": {},
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z"
  }
}

product.updated

The data of the product updated webhook event.

Required attributes

  • Name
    product
    Type
    object
    Description
    Required nested attributes (4)
    • Name
      _id
      Type
      string
      Description

      The ID of the product

    • Name
      name
      Type
      string
      Description

      The name of the product

    • Name
      type
      Type
      enum(voucher, product, donation, membership, addOn)
      Description

      The type of the product

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the product

    Optional nested attributes (13)
    • Name
      active
      Type
      boolean
      Description

      Whether the product is active and can be distributed

    • Name
      isFulfillable
      Type
      boolean
      Description

      Whether the product can be delivered

    • Name
      image
      Type
      string
      Description

      The image of the product

    • Name
      description
      Type
      string
      Description

      The description of the product

    • Name
      variants
      Type
      array<object>
      Description

      An array of variants of the product

      Required nested attributes (2)
      • Name
        _id
        Type
        string
        Description

        The ID of the product variant of the product

      • Name
        taxable
        Type
        boolean
        Description

        Whether the product is taxable or not

      Optional nested attributes (10)
      • Name
        name
        Type
        string
        Description

        The Name of the product variant, defaults to product name if not specified

      • Name
        description
        Type
        string
        Description

        A description of the variant

      • Name
        priceType
        Type
        enum(fixed, range)
        Description
      • Name
        price
        Type
        number
        Description

        The price of the product

      • Name
        priceRange
        Type
        object
        Description
        Optional nested attributes (2)
        • Name
          min
          Type
          number
          Description

          The minimum price of the product

        • Name
          max
          Type
          number
          Description

          The maximum price of the product

      • Name
        taxRate
        Type
        number
        Description

        The tax rate of the product

      • Name
        compareAtPrice
        Type
        number
        Description

        The recommended retail price to compare with the actual price.

      • Name
        taxServiceTypeId
        Type
        string
        Description

        The ID of the tax service of the product

      • Name
        gtin
        Type
        string
        Description
      • Name
        localization
        Type
        object
        Description

        Localization of the product for multiple languages

    • Name
      categoryIds
      Type
      array<string>
      Description

      An array of categories to which the product belongs

    • Name
      voucherSettings
      Type
      object
      Description

      If the product is of type voucher

      Optional nested attributes (5)
      • Name
        limitedValidityPeriod
        Type
        boolean
        Description

        Whether the voucher should expire

      • Name
        validityConfig
        Type
        object
        Description
        Optional nested attributes (3)
        • Name
          amount
          Type
          number
          Description
        • Name
          type
          Type
          number
          Description
        • Name
          untilEndOfPeriod
          Type
          boolean
          Description
      • Name
        pdfImage
        Type
        string
        Description

        A marketing image printed onto voucher pdf

      • Name
        disclaimer
        Type
        string
        Description

        A disclaimer text printed onto voucher pdf

      • Name
        documentTemplateSettings
        Type
        object
        Description
        Optional nested attributes (1)
        • Name
          templates
          Type
          array<object>
          Description
          Required nested attributes (4)
          • Name
            templateId
            Type
            string
            Description

            The ID of the document template

          • Name
            format
            Type
            enum(A4, LETTER, LEGAL, BOARDING-PASS, PLASTIC-CARD, CARD, LABEL, CUSTOM, APPLE, GOOGLE)
            Description

            The format of document template for the dimensions.

          • Name
            target
            Type
            enum(thermal, digital, wallet)
            Description

            The target of document template for which targets it should be used.

          • Name
            type
            Type
            enum(ticket, invoice, voucher, member-card, header-card)
            Description

            The type of document template for which document it should be used. ticket = The document template will be used on tickets. invoice = The document template will be used on invoices.

    • Name
      addOnSettings
      Type
      object
      Description
      Optional nested attributes (2)
      • Name
        optOutDescription
        Type
        string
        Description

        The description that is shown to the user if he decides to not buy the addOn

      • Name
        localization
        Type
        object
        Description

        Localization of the addOnSettings for multiple languages

    • Name
      donationSettings
      Type
      object
      Description

      Settings for donation products

      Required nested attributes (2)
      • Name
        campaignId
        Type
        string
        Description

        The ID of the fundraise campaign

      • Name
        fundId
        Type
        string
        Description

        The ID of the donation fund

    • Name
      meta
      Type
      object
      Description

      Custom key-value data. Metadata is useful for storing additional, structured information on an object.

    • Name
      localization
      Type
      object
      Description

      Localization of the product for multiple languages

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was updated

Example

{
  "product": {
    "_id": "507f191e810c19729de860ea",
    "name": "Example Name",
    "type": "voucher",
    "sellerId": "507f191e810c19729de860ea",
    "active": true,
    "isFulfillable": true,
    "image": "string",
    "description": "string",
    "variants": [
      {
        "_id": "507f191e810c19729de860ea",
        "taxable": true,
        "name": "Example Name",
        "description": "string",
        "priceType": "fixed",
        "price": 10.5,
        "priceRange": {
          "min": 10.5,
          "max": 10.5
        },
        "taxRate": 10.5,
        "compareAtPrice": 10.5,
        "taxServiceTypeId": "507f191e810c19729de860ea",
        "gtin": "string",
        "localization": {}
      }
    ],
    "categoryIds": [
      "string"
    ],
    "voucherSettings": {
      "limitedValidityPeriod": true,
      "validityConfig": {
        "amount": 10.5,
        "type": 10.5,
        "untilEndOfPeriod": true
      },
      "pdfImage": "string",
      "disclaimer": "string",
      "documentTemplateSettings": {
        "templates": [
          {
            "templateId": "507f191e810c19729de860ea",
            "format": "A4",
            "target": "thermal",
            "type": "ticket"
          }
        ]
      }
    },
    "addOnSettings": {
      "optOutDescription": "string",
      "localization": {}
    },
    "donationSettings": {
      "campaignId": "507f191e810c19729de860ea",
      "fundId": "507f191e810c19729de860ea"
    },
    "meta": {},
    "localization": {},
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z"
  }
}

product.deleted

The data of the product deleted webhook event.

Required attributes

  • Name
    product
    Type
    object
    Description
    Required nested attributes (4)
    • Name
      _id
      Type
      string
      Description

      The ID of the product

    • Name
      name
      Type
      string
      Description

      The name of the product

    • Name
      type
      Type
      enum(voucher, product, donation, membership, addOn)
      Description

      The type of the product

    • Name
      sellerId
      Type
      string
      Description

      The ID of the seller of the product

    Optional nested attributes (13)
    • Name
      active
      Type
      boolean
      Description

      Whether the product is active and can be distributed

    • Name
      isFulfillable
      Type
      boolean
      Description

      Whether the product can be delivered

    • Name
      image
      Type
      string
      Description

      The image of the product

    • Name
      description
      Type
      string
      Description

      The description of the product

    • Name
      variants
      Type
      array<object>
      Description

      An array of variants of the product

      Required nested attributes (2)
      • Name
        _id
        Type
        string
        Description

        The ID of the product variant of the product

      • Name
        taxable
        Type
        boolean
        Description

        Whether the product is taxable or not

      Optional nested attributes (10)
      • Name
        name
        Type
        string
        Description

        The Name of the product variant, defaults to product name if not specified

      • Name
        description
        Type
        string
        Description

        A description of the variant

      • Name
        priceType
        Type
        enum(fixed, range)
        Description
      • Name
        price
        Type
        number
        Description

        The price of the product

      • Name
        priceRange
        Type
        object
        Description
        Optional nested attributes (2)
        • Name
          min
          Type
          number
          Description

          The minimum price of the product

        • Name
          max
          Type
          number
          Description

          The maximum price of the product

      • Name
        taxRate
        Type
        number
        Description

        The tax rate of the product

      • Name
        compareAtPrice
        Type
        number
        Description

        The recommended retail price to compare with the actual price.

      • Name
        taxServiceTypeId
        Type
        string
        Description

        The ID of the tax service of the product

      • Name
        gtin
        Type
        string
        Description
      • Name
        localization
        Type
        object
        Description

        Localization of the product for multiple languages

    • Name
      categoryIds
      Type
      array<string>
      Description

      An array of categories to which the product belongs

    • Name
      voucherSettings
      Type
      object
      Description

      If the product is of type voucher

      Optional nested attributes (5)
      • Name
        limitedValidityPeriod
        Type
        boolean
        Description

        Whether the voucher should expire

      • Name
        validityConfig
        Type
        object
        Description
        Optional nested attributes (3)
        • Name
          amount
          Type
          number
          Description
        • Name
          type
          Type
          number
          Description
        • Name
          untilEndOfPeriod
          Type
          boolean
          Description
      • Name
        pdfImage
        Type
        string
        Description

        A marketing image printed onto voucher pdf

      • Name
        disclaimer
        Type
        string
        Description

        A disclaimer text printed onto voucher pdf

      • Name
        documentTemplateSettings
        Type
        object
        Description
        Optional nested attributes (1)
        • Name
          templates
          Type
          array<object>
          Description
          Required nested attributes (4)
          • Name
            templateId
            Type
            string
            Description

            The ID of the document template

          • Name
            format
            Type
            enum(A4, LETTER, LEGAL, BOARDING-PASS, PLASTIC-CARD, CARD, LABEL, CUSTOM, APPLE, GOOGLE)
            Description

            The format of document template for the dimensions.

          • Name
            target
            Type
            enum(thermal, digital, wallet)
            Description

            The target of document template for which targets it should be used.

          • Name
            type
            Type
            enum(ticket, invoice, voucher, member-card, header-card)
            Description

            The type of document template for which document it should be used. ticket = The document template will be used on tickets. invoice = The document template will be used on invoices.

    • Name
      addOnSettings
      Type
      object
      Description
      Optional nested attributes (2)
      • Name
        optOutDescription
        Type
        string
        Description

        The description that is shown to the user if he decides to not buy the addOn

      • Name
        localization
        Type
        object
        Description

        Localization of the addOnSettings for multiple languages

    • Name
      donationSettings
      Type
      object
      Description

      Settings for donation products

      Required nested attributes (2)
      • Name
        campaignId
        Type
        string
        Description

        The ID of the fundraise campaign

      • Name
        fundId
        Type
        string
        Description

        The ID of the donation fund

    • Name
      meta
      Type
      object
      Description

      Custom key-value data. Metadata is useful for storing additional, structured information on an object.

    • Name
      localization
      Type
      object
      Description

      Localization of the product for multiple languages

    • Name
      createdAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was created

    • Name
      updatedAt
      Type
      string
      Description

      An ISO timestamp indicating when the product was updated

Example

{
  "product": {
    "_id": "507f191e810c19729de860ea",
    "name": "Example Name",
    "type": "voucher",
    "sellerId": "507f191e810c19729de860ea",
    "active": true,
    "isFulfillable": true,
    "image": "string",
    "description": "string",
    "variants": [
      {
        "_id": "507f191e810c19729de860ea",
        "taxable": true,
        "name": "Example Name",
        "description": "string",
        "priceType": "fixed",
        "price": 10.5,
        "priceRange": {
          "min": 10.5,
          "max": 10.5
        },
        "taxRate": 10.5,
        "compareAtPrice": 10.5,
        "taxServiceTypeId": "507f191e810c19729de860ea",
        "gtin": "string",
        "localization": {}
      }
    ],
    "categoryIds": [
      "string"
    ],
    "voucherSettings": {
      "limitedValidityPeriod": true,
      "validityConfig": {
        "amount": 10.5,
        "type": 10.5,
        "untilEndOfPeriod": true
      },
      "pdfImage": "string",
      "disclaimer": "string",
      "documentTemplateSettings": {
        "templates": [
          {
            "templateId": "507f191e810c19729de860ea",
            "format": "A4",
            "target": "thermal",
            "type": "ticket"
          }
        ]
      }
    },
    "addOnSettings": {
      "optOutDescription": "string",
      "localization": {}
    },
    "donationSettings": {
      "campaignId": "507f191e810c19729de860ea",
      "fundId": "507f191e810c19729de860ea"
    },
    "meta": {},
    "localization": {},
    "createdAt": "2030-01-23T23:00:00.123Z",
    "updatedAt": "2030-01-23T23:00:00.123Z"
  }
}

Was this page helpful?