  1. [    Home ](/)
2. [Integrations](/integrations)
3. Notification Dispatch Queue
 
  AMQP / RabbitMQ  

# Notification Dispatch Queue

 

  Overview  Channels 2   Messages 2  Connection 

 Notification Dispatch Queue accepts notification requests on the notifications.topic exchange and routes them by channel, so a producer publishes once and the per-channel workers pick up only what they handle. Messages are persistent and the queue is mirrored; a message that fails delivery three times is routed to the dead-letter queue for inspection rather than being dropped.



 

  Service type AMQP / RabbitMQ 

   ### Channels

 `notifications.dispatch` 

 Exchange`notifications.topic`

Routing keys`notification.email.*` 

 ###  Notification Dispatch Queue AsyncAPI 2.6.0 · v1.0.0 

RabbitMQ topic exchange that fans customer notification requests out to the email, SMS and push delivery workers.

- `uat` amqps://rabbit-uat.digitalapi.ai:5671 amqp
 
   notification.email.\* Notification requests routed by channel from the notifications.topic exchange into the notifications.dispatch queue.

  publish  Publish a notification request. `NotificationRequest`  

  

  

   message NotificationRequest application/json 

   FieldTypeRequiredDescription    `notificationId` `string (uuid)` yes Caller-generated id, used for deduplication.   `channel` `string` yes Delivery channel. Determines the routing key.   `recipient` `string` yes Email address, E.164 number, or device token.   `templateKey` `string` yes Template to render.   `locale` `string` no BCP 47 locale. Falls back to the account default.    Sample payload Example message — placeholder values 

 ```
{
    "notificationId": "00000000-0000-0000-0000-000000000000",
    "channel": "email",
    "recipient": "string",
    "templateKey": "string",
    "locale": "string"
}
```

 

 

### Inline message schema

 ```
{
  "type": "object",
  "properties": {
    "notificationId": { "type": "string", "format": "uuid" },
    "channel": { "type": "string", "enum": ["email", "sms", "push"] },
    "recipient": { "type": "string" },
    "templateKey": { "type": "string" },
    "locale": { "type": "string" }
  },
  "required": ["notificationId", "channel", "recipient", "templateKey"]
}
```

 Sample payload Example message — placeholder values 

 ```
{
    "notificationId": "00000000-0000-0000-0000-000000000000",
    "channel": "email",
    "recipient": "string",
    "templateKey": "string",
    "locale": "string"
}
```

 

    Brokers `amqps://rabbit-uat.digitalapi.ai:5671` 

Exchange`notifications.topic`

Routing keys`notification.email.*` 

 ### Specification files

- [ YAML notification-dispatch-queue.asyncapi.yaml ](/sites/default/files/service-specs/notification-dispatch-queue.asyncapi.yaml)