arazzo: 1.0.1
info:
title: Adobe Campaign Transactional Message
summary: Trigger a transactional message, then poll its delivery status until it leaves the pending state.
description: >-
Sends an event-driven transactional message through Adobe Campaign and
tracks it to delivery. The workflow triggers a transactional message to a
recipient using a message template, captures the returned event id, and then
polls the message status until it is no longer pending. Each step inlines the
bearer token and API key so the flow can be read and executed without opening
the underlying OpenAPI description.
version: 1.0.0
x-realizes-capability-ids:
- BC-400.60
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-400.60
capability_name: Digital Marketing Management
spec: adobe-experience-cloud-transactional-messages-api-openapi.yml
confidence: 0.7
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: transactionalMessagesApi
url: ../openapi/adobe-experience-cloud-transactional-messages-api-openapi.yml
type: openapi
workflows:
- workflowId: transactional-message
summary: Trigger a transactional message and poll its delivery status.
description: >-
Triggers a transactional message and polls the message status by event id
until it leaves the pending state.
inputs:
type: object
required:
- authorization
- apiKey
- transactionalMessageId
- email
properties:
authorization:
type: string
description: Bearer access token.
apiKey:
type: string
description: Adobe API key for the x-api-key header.
transactionalMessageId:
type: string
description: The transactional message template identifier.
email:
type: string
description: Recipient email address.
steps:
- stepId: sendMessage
description: Trigger the transactional message to the recipient.
operationId: sendTransactionalMessage
parameters:
- name: transactionalMessageId
in: path
value: $inputs.transactionalMessageId
- name: Authorization
in: header
value: $inputs.authorization
- name: x-api-key
in: header
value: $inputs.apiKey
requestBody:
contentType: application/json
payload:
email: $inputs.email
ctx: {}
successCriteria:
- condition: $statusCode == 200
outputs:
eventId: $response.body#/eventId
status: $response.body#/status
- stepId: pollStatus
description: >-
Poll the message status by event id. While the message is still pending the
step retries; once it reaches a terminal status the workflow ends.
operationId: getTransactionalMessageStatus
parameters:
- name: transactionalMessageId
in: path
value: $inputs.transactionalMessageId
- name: eventId
in: path
value: $steps.sendMessage.outputs.eventId
- name: Authorization
in: header
value: $inputs.authorization
- name: x-api-key
in: header
value: $inputs.apiKey
successCriteria:
- condition: $statusCode == 200
outputs:
finalStatus: $response.body#/status
onSuccess:
- name: stillPending
type: retry
retryAfter: 5
retryLimit: 10
criteria:
- context: $response.body
condition: $.status == "pending"
type: jsonpath
- name: delivered
type: end
criteria:
- context: $response.body
condition: $.status != "pending"
type: jsonpath
outputs:
eventId: $steps.sendMessage.outputs.eventId
finalStatus: $steps.pollStatus.outputs.finalStatus
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.