---
schema_version: "1"
id: 9c4fed4dc85bfd328fd237a1615a82b3d928367f527cb4a8494e3fbc711f8000
title: Transactional Messaging Message Disposition
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-apis/transactional-messaging-disposition.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/transactional-messaging-disposition.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5fee5001f01de07ccaa26bd24920c7a957024d66fd48e8bf48dfc3d045849193
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# Transactional Messaging Message Disposition

You can improve the functionality of your client applications by understanding the status of each request within the Marketing Cloud Engagement platform. Marketing Cloud Engagement provides webhooks through the [Event Notification Service](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/ens.md). ENS provides your applications with real-time notifications of significant status events, such as sends, bounces, opens, and clicks. For more information about the events that ENS supports, see [Supported Notification Events](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/ens-supported-events.md).

To receive events from ENS, your client application must establish a subscription and define the event types to receive. ENS directs the specified event types to a callback URL. A callback URL is a URL exposed from a listener service maintained by or accessible to the client application. If necessary, you can configure ENS to only emit events from that are associated with specific send definitions. A basic workflow for using ENS to monitor transactional messaging resembles this flow.

1. Create an Installed Package, message content, and other necessary assets.
2. Set up a third-party webhook listener service.
3. Download Postman, and then install the [Marketing Cloud Engagement Postman collection](https://www.postman.com/salesforce-developers/workspace/salesforce-developers/collection/14448118-2835a976-010c-4548-92f8-f42c0382758e).
4. In Postman, build requests to configure the transactional message.
   1. Create a new transactional messaging send definition in the email channel.
   2. Send an email message using the send definition.
5. Create a callback for the listener URL by sending an HTTP POST request to ENS. Note the `callbackId` value from the response.
6. The listener process receives the verification event from ENS. Examine the verification event in the listener and note the `verificationKey` value from the event.
7. Send an HTTP POST request to verify the callback using the `callbackId` and the `verificationKey`. If you receive a 200 response, the callback is ready to use.
8. Send an HTTP POST request using the `callbackId` value to create a subscription for Sent, NotSent, Bounce, and Open events. If you receive a 200 response, the subscription is configured.
9. Create a new send definition by sending an HTTP POST request to the transactional messaging API.
10. Send an email by sending an HTTP POST request to the transactional messaging API. Specify the same value for `definitionKey` that you used when you created the send definition. Note the `messageKey` value used in the request and the `jobId`, `batchId`, `listId`, `subscriberId` from the event.
11. The listener receives a Sent event from ENS. Review the Sent event response and confirm that the `messageKey` value matches the value that you used in the send request.
12. Open the email in your email client. Validate that images appear as expected and that links resolve correctly.
13. The listener receives an Open event from ENS. Review the Open event notification and confirm that the values for `jobId`, `batchId`, `listId`, and `subscriberId` match the values found in the Sent event notification.
