Adobe Campaign · AsyncAPI Specification

Adobe Campaign Transactional Messaging Events

Version 1.0.0

Event-driven transactional messaging system for Adobe Campaign. Supports triggering personalized messages across email, SMS, and push notification channels in response to real-time customer events. Events follow an asynchronous lifecycle from submission through delivery or failure. Covers both Campaign Standard REST event triggers and Campaign Classic SOAP PushEvent patterns.

View Spec View on GitHub Campaign ManagementCustomer ExperienceEmail MarketingMarketing AutomationMulti-Channel MarketingAsyncAPIWebhooksEvents

Channels

transactionalEvent/email
publish triggerEmailEvent
Trigger a transactional email event
Channel for triggering transactional email messages. Events submitted here are processed asynchronously by the Campaign transactional messaging engine and result in personalized email delivery to the specified recipient.
transactionalEvent/sms
publish triggerSmsEvent
Trigger a transactional SMS event
Channel for triggering transactional SMS messages. Events submitted here result in personalized SMS delivery to the specified mobile phone number.
transactionalEvent/push
publish triggerPushEvent
Trigger a transactional push notification event
Channel for triggering transactional push notifications. Events submitted here result in push notification delivery to the specified device via Apple Push Notification service (APNs) or Firebase Cloud Messaging (FCM).
transactionalEvent/status
subscribe receiveEventStatus
Receive event processing status updates
Channel for receiving transactional event status updates. After an event is submitted, its status transitions through the processing lifecycle and can be polled to determine the outcome.
batchEvent
publish submitBatchEvents
Submit a batch of transactional events
Channel for submitting batches of real-time events via Campaign Classic SOAP interface. More efficient than individual event submission when processing high volumes of transactional events.

Messages

TransactionalEmailEvent
TransactionalEmailEvent
Transactional email event
TransactionalSmsEvent
TransactionalSmsEvent
Transactional SMS event
TransactionalPushEvent
TransactionalPushEvent
Transactional push notification event
EventStatusUpdate
EventStatusUpdate
Event processing status
BatchEventSubmission
BatchEventSubmission
Batch event submission

Servers

https
standard https://mc.adobe.io/{ORGANIZATION}/campaign
Campaign Standard transactional event endpoint. Events are triggered via REST POST and status is polled via GET.
https
classic https://{instance}.campaign.adobe.com
Campaign Classic SOAP-based event endpoint. Events are pushed via nms:rtEvent#PushEvent and nms:batchEvent#PushEvents SOAP methods.

AsyncAPI Specification

Raw ↑
asyncapi: 2.0.0
info:
  title: Adobe Campaign Transactional Messaging Events
  description: >-
    Event-driven transactional messaging system for Adobe Campaign. Supports
    triggering personalized messages across email, SMS, and push notification
    channels in response to real-time customer events. Events follow an
    asynchronous lifecycle from submission through delivery or failure. Covers
    both Campaign Standard REST event triggers and Campaign Classic SOAP
    PushEvent patterns.
  version: 1.0.0
  contact:
    name: Adobe Developer Support
    url: https://developer.adobe.com/
  license:
    name: Proprietary
    url: https://www.adobe.com/legal/terms.html
servers:
  standard:
    url: https://mc.adobe.io/{ORGANIZATION}/campaign
    protocol: https
    description: >-
      Campaign Standard transactional event endpoint. Events are triggered
      via REST POST and status is polled via GET.
  classic:
    url: https://{instance}.campaign.adobe.com
    protocol: https
    description: >-
      Campaign Classic SOAP-based event endpoint. Events are pushed via
      nms:rtEvent#PushEvent and nms:batchEvent#PushEvents SOAP methods.
channels:
  transactionalEvent/email:
    description: >-
      Channel for triggering transactional email messages. Events submitted
      here are processed asynchronously by the Campaign transactional
      messaging engine and result in personalized email delivery to the
      specified recipient.
    publish:
      summary: Trigger a transactional email event
      operationId: triggerEmailEvent
      message:
        $ref: '#/components/messages/TransactionalEmailEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
              Authorization:
                type: string
                description: Bearer token from Adobe IMS OAuth.
              X-Api-Key:
                type: string
                description: Adobe Developer Console API Key.
  transactionalEvent/sms:
    description: >-
      Channel for triggering transactional SMS messages. Events submitted
      here result in personalized SMS delivery to the specified mobile
      phone number.
    publish:
      summary: Trigger a transactional SMS event
      operationId: triggerSmsEvent
      message:
        $ref: '#/components/messages/TransactionalSmsEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
  transactionalEvent/push:
    description: >-
      Channel for triggering transactional push notifications. Events
      submitted here result in push notification delivery to the specified
      device via Apple Push Notification service (APNs) or Firebase Cloud
      Messaging (FCM).
    publish:
      summary: Trigger a transactional push notification event
      operationId: triggerPushEvent
      message:
        $ref: '#/components/messages/TransactionalPushEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
  transactionalEvent/status:
    description: >-
      Channel for receiving transactional event status updates. After an
      event is submitted, its status transitions through the processing
      lifecycle and can be polled to determine the outcome.
    subscribe:
      summary: Receive event processing status updates
      operationId: receiveEventStatus
      message:
        $ref: '#/components/messages/EventStatusUpdate'
      bindings:
        http:
          type: request
          method: GET
  batchEvent:
    description: >-
      Channel for submitting batches of real-time events via Campaign
      Classic SOAP interface. More efficient than individual event
      submission when processing high volumes of transactional events.
    publish:
      summary: Submit a batch of transactional events
      operationId: submitBatchEvents
      message:
        $ref: '#/components/messages/BatchEventSubmission'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - text/xml
              SOAPAction:
                type: string
                enum:
                  - 'nms:batchEvent#PushEvents'
components:
  messages:
    TransactionalEmailEvent:
      summary: Transactional email event
      description: >-
        Event payload for triggering a transactional email message with
        personalization context data.
      payload:
        $ref: '#/components/schemas/EmailEvent'
    TransactionalSmsEvent:
      summary: Transactional SMS event
      description: >-
        Event payload for triggering a transactional SMS message.
      payload:
        $ref: '#/components/schemas/SmsEvent'
    TransactionalPushEvent:
      summary: Transactional push notification event
      description: >-
        Event payload for triggering a transactional push notification.
      payload:
        $ref: '#/components/schemas/PushEvent'
    EventStatusUpdate:
      summary: Event processing status
      description: >-
        Status update for a previously submitted transactional event,
        indicating its current position in the processing lifecycle.
      payload:
        $ref: '#/components/schemas/EventStatus'
    BatchEventSubmission:
      summary: Batch event submission
      description: >-
        SOAP payload containing multiple real-time events for batch
        processing by Campaign Classic Message Center.
      payload:
        $ref: '#/components/schemas/BatchEvent'
  schemas:
    EmailEvent:
      type: object
      required:
        - email
        - ctx
      properties:
        email:
          type: string
          format: email
          description: Recipient email address for the transactional message.
        ctx:
          type: object
          description: >-
            Context data for message personalization. Fields must match
            the variables defined in the transactional message template.
          additionalProperties: true
        scheduled:
          type: string
          format: date-time
          description: Optional scheduled send time for delayed delivery.
        expiration:
          type: string
          format: date-time
          description: >-
            Optional expiration time after which the event will not be
            processed.
    SmsEvent:
      type: object
      required:
        - mobilePhone
        - ctx
      properties:
        mobilePhone:
          type: string
          description: Recipient mobile phone number in international format.
        ctx:
          type: object
          description: Context data for SMS message personalization.
          additionalProperties: true
        scheduled:
          type: string
          format: date-time
          description: Optional scheduled send time.
        expiration:
          type: string
          format: date-time
          description: Optional event expiration time.
    PushEvent:
      type: object
      required:
        - ctx
      properties:
        registrationToken:
          type: string
          description: >-
            Device registration token for push notification delivery
            (APNs or FCM token).
        pushPlatform:
          type: string
          enum:
            - apns
            - gcm
          description: >-
            Target push platform. apns for Apple Push Notification service,
            gcm for Firebase Cloud Messaging (Google).
        ctx:
          type: object
          description: Context data for push notification personalization.
          additionalProperties: true
        scheduled:
          type: string
          format: date-time
          description: Optional scheduled send time.
        expiration:
          type: string
          format: date-time
          description: Optional event expiration time.
    EventStatus:
      type: object
      properties:
        PKey:
          type: string
          description: Unique PKEY identifier of the event.
        eventId:
          type: string
          description: Unique event identifier.
        status:
          type: string
          enum:
            - pending
            - processing
            - paused
            - processed
            - ignored
            - deliveryFailed
            - routingFailed
            - targetingFailed
            - tooOld
          description: >-
            Current processing status. pending = queued for processing,
            processing = currently being handled, paused = temporarily
            held, processed = successfully delivered, ignored = skipped
            by rules, deliveryFailed = delivery attempt failed,
            routingFailed = could not route to execution instance,
            targetingFailed = recipient targeting failed, tooOld = event
            exceeded its expiration time.
        reason:
          type: string
          description: >-
            Human-readable reason for failure status. Only present when
            status indicates a failure condition.
        channel:
          type: string
          enum:
            - email
            - sms
            - push
          description: The delivery channel used for the event.
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the last status update.
    BatchEvent:
      type: object
      description: >-
        Container for multiple real-time events submitted via Campaign
        Classic SOAP PushEvents method.
      properties:
        events:
          type: array
          description: Array of individual transactional events.
          items:
            type: object
            properties:
              type:
                type: string
                description: >-
                  Event type name matching the Message Center event
                  configuration.
              email:
                type: string
                format: email
                description: Recipient email address.
              mobilePhone:
                type: string
                description: Recipient mobile phone number.
              origin:
                type: string
                description: Origin identifier for tracking the event source.
              wishedChannel:
                type: integer
                description: >-
                  Preferred delivery channel. 0 = email, 1 = mobile (SMS),
                  2 = phone, 3 = push notification.
              externalId:
                type: string
                description: External identifier for deduplication.
              ctx:
                type: object
                description: Context data for message personalization.
                additionalProperties: true
    EventMetadata:
      type: object
      description: Metadata about the event publication.
      properties:
        topic:
          type: string
          description: The event topic or channel.
        schemaVersion:
          type: string
          description: Schema version for the event payload.
        publishDate:
          type: string
          format: date-time
          description: Timestamp when the event was published.