CrossEngage · AsyncAPI Specification

Crossenagage Webhooks

Version

View Spec View on GitHub CompanyCustomer Data PlatformMarketingCustomer EngagementMarketing AutomationCross-ChannelPersonalizationPredictive AnalyticsSegmentationCampaign ManagementProduct FeedData ExportWebhooksWeb TrackingGermanyAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
spec_type: null
asyncapi_published: false
source: https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/webhooks
  + https://userseventsexportapiv1.docs.apiary.io/api-description-document
note: 'CrossEngage publishes NO AsyncAPI document — searched the documentation host, the API reference
  host, the GitHub org and /asyncapi.yaml on every host. It does operate two real, documented outbound
  event surfaces, captured below as a webhook catalogue: an outbound WEBHOOK MESSAGE CHANNEL (campaigns
  deliver to a customer endpoint, and delivery outcomes are fed back as CrossEngage events) and an EXPORT
  COMPLETION CALLBACK. Both are provider-to-customer HTTP POSTs. There is no subscription API: both are
  configured inside the CrossEngage app as integrations, not through the REST API, which is why no operation
  in openapi/ creates or lists a webhook subscription.'
surfaces:
- name: Webhook message channel
  direction: outbound
  transport: HTTPS POST
  docs: https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/webhooks
  modes:
  - mode: Single Webhook
    note: One HTTP call per recipient, driven by a campaign message.
    docs: https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/webhooks/single-webhook
  - mode: Batch Webhook
    note: Recipients batched into a single call.
    docs: https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/webhooks/batch-webhook
  payload: Customer-defined — the campaign message body is authored in the CrossEngage template builder,
    so the schema is per-integration, not fixed by the provider.
  configuration: CrossEngage app -> Settings -> Integrations -> Add a new integration
  result_events:
  - event: Webhook Delivered
    trigger: 2xx response from the destination URL
  - event: Webhook Bounced
    trigger: 5xx response from the destination URL
  - event: Errors
    trigger: 4xx response from the destination URL
  result_events_note: These three are generated and stored by CrossEngage as campaign statistics events,
    viewable per campaign and queryable through the Statistics API.
  custom_events:
    supported: true
    ingest_operation: openapi/crossenagage-user-management-v1-openapi.yml#sendAnEvent
    fields:
    - campaignId
    - campaignExternalReferenceId
    - messageId
    - channelConfigExternalReferenceId
    - channelConfigId
    - event
    - properties
    note: Response data from a webhook destination can be posted back into CrossEngage as custom events,
      but the event and property names must be provisioned by CrossEngage support first.
  known_consumers:
  - Zenloop (survey response capture)
  - Google Analytics
  - Generic customer endpoints
- name: Export completion callback
  direction: outbound
  transport: HTTPS POST
  docs: https://userseventsexportapiv1.docs.apiary.io/
  requirements:
  - Method POST
  - Content type JSON
  - Basic authentication
  configuration: Registered as a destination of type CALLBACK in the CrossEngage app; discoverable through
    openapi/crossenagage-raw-export-v1-openapi.yml#getAllDestinationsAndTheirDetails
  payload_fields:
  - field: exportId
    description: ID of the export
  - field: exportDestinationId
    description: The (S)FTP destination the files were written to
  - field: callbackDestinationId
    description: The callback destination that was invoked
  - field: status
    description: 'Export status: FINISHED or FAILED'
  - field: finishedAt
    description: Export end time, ISO 8601 UTC
  example_documented:
    exportId: 5d90695a-c61f-453a-bd2d-7c4f0b8536cf
    exportDestinationId: c88c0ddf-d3e3-4190-b1f8-df3dfbc7238f
    callbackDestinationId: 9f86d4c8-d902-497d-8d78-53ce184ac3ce
    status: FINISHED
    finishedAt: '2019-08-07T12:24:06.772Z'
  note: This is the only machine-defined event payload CrossEngage publishes; the schema above is verbatim
    from the Raw Export contract.
inbound_ingest:
  name: Web Tracking SDK
  direction: inbound
  note: Browser-side event collection via ce.js (identify/update/page/track methods) feeding the same
    event store as POST /events. Not a webhook, recorded here because it is the other real-time event
    surface.
  docs: https://documentation.crossengage.io/data-and-engagement-platform/web-tracking/web-tracking-v2
gaps:
- No AsyncAPI document
- No signature/HMAC verification scheme documented for outbound webhook payloads
- No retry or redelivery policy documented
- No webhook subscription operations in the REST API