Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.omneo.io/llms.txt

Use this file to discover all available pages before exploring further.

Omneo fires webhooks when events occur in the platform — a transaction is created, a profile is updated, a tier is achieved. Configure a webhook endpoint to receive these events and react in your own system.

What is a webhook?

An Omneo webhook is an HTTP POST from Omneo to a URL you provide. The request body is the Event Context for the triggering event — a richer payload than the standard API response, including aggregations, flattened tags, and related objects.

Configuring a webhook

Webhooks in Omneo are configured as Targets. A Target is an endpoint + Twig template combination. When a reaction fires a target.send action, Omneo renders the template with the event context and POSTs to your URL. To receive a raw event context payload without transformation, use an empty pass-through template or configure the template to forward the full context. See Targets for full configuration instructions.

Webhook events

EventFires when
profile.createdA new profile is created
profile.updatedA profile is updated
transaction.createdA transaction is recorded
transaction.updatedA transaction is updated
benefit.issuedA benefit is issued to a profile
benefit.redeemedA benefit is redeemed
reward.issuedA reward is issued
reward.redeemedA reward is redeemed
points.awardedPoints are awarded
tier.achievedA profile achieves a new tier
achievement.progressedAn achievement is incremented

Processing a webhook

Your endpoint should:
  1. Respond with 200 OK quickly — process asynchronously if needed
  2. Validate the payload structure matches your expected event context
  3. Identify the profile via the id field in the context
  4. Take the appropriate action in your system

Example: Transaction webhook context

{
  "id": "txn-uuid",
  "profile_id": "profile-uuid",
  "total": 149.95,
  "transacted_at": "2025-06-15 14:32:00",
  "profile": {
    "id": "profile-uuid",
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "jane@example.com",
    "tier_handle": "gold",
    "aggregations": {
      "spend_12m": 2450.00,
      "shop_count": 14
    }
  }
}

Security

Content needed: webhook signature verification details (secret key, header name, HMAC algorithm) if Omneo supports signed webhooks.

Retries and failure handling

Content needed: Omneo webhook retry behaviour, failure conditions, and dead letter queue handling.