MessageMedia connector — notification lifecycle
A notification is the connector's one stateful resource, tracked in the connector's local notification store. This page covers its states and the scheduling rules. How each step is implemented is in the architecture; how to call each one is in endpoints.
States
The connector records a status when a notification is created (the send call) and changes it
only on cancel. There is no delivery-status webhook, so a row does not advance from NEW
to DELIVERED/ERROR on its own after the initial send
(see the connector notes).
Purge is orthogonal to status. POST …/purge marks the record purged and
reports isPurged: true; it does not change the notification's status.
Status mapping
The stored MessageMedia status is normalised to the Ark NotificationStatus returned by the API:
| MessageMedia status(es) | Ark status |
|---|---|
queued, processing, processed | NEW |
delivered | DELIVERED |
scheduled | SCHEDULED_DELIVERY |
cancelled | CANCELLED |
expired, undeliverable, failed | ERROR |
| (any other) | NEW (default) |
Scheduling
A send with scheduledDateTime sets the MessageMedia message's scheduled time. The connector
validates the window before calling MessageMedia:
- More than 5 minutes in the future, and
- No more than 35 days in the future.
Outside that window → 422 NOT022003. Scheduled messages (and messages still queued/processing)
can be cancelled (DELETE) until MessageMedia sends them.