Glossary
Delivery Receipt
The acknowledgement that a message arrived. Delivery receipts are the middle rung of the sent, delivered, read ladder that every modern chat app shows under a message.
General definition
Delivery Receipt is a signal returned to the sender when a message has been handed to the recipient’s device or, in some systems, to the recipient’s server. It answers the question did it get there, without saying whether anyone has looked at it. In most chat interfaces it appears as a second tick, a changed tick colour or a small status label under the message.
Message status is normally shown as a ladder, and each rung is a different acknowledgement:
- Sent: the sender’s server has accepted the message. Nothing is known about the recipient yet
- Delivered: the recipient’s client has received the message and acknowledged it, even if the app is in the background
- Read: the recipient has opened the conversation and the message has been displayed, which is what a read receipt reports
- Failed: the server could not deliver, usually because the recipient no longer exists or the sender was blocked
In XMPP, delivery receipts are defined by XEP-0184 (Message Delivery Receipts): the sender asks for a receipt, and the receiving client answers with a small stanza referencing the message id. XEP-0333 (Chat Markers) adds the received and displayed markers that drive the delivered and read rungs, and XEP-0198 (Stream Management) lets the server acknowledge stanzas so the client can retransmit after a dropped connection. SMS has an equivalent in carrier delivery reports, and email has never had a reliable one.
Delivery receipts are related to, but distinct from, the other live signals in a conversation: typing indicators show that a reply is being composed, and presence shows whether the person is online at all. Together they turn a message log into something that feels like a conversation.
In the Ethora ecosystem
Ethora runs on ejabberd, an XMPP server, so message acknowledgements follow the open standard rather than a proprietary scheme. The Chat SDK for React, React Native, iOS and Android provides read receipts, typing indicators and presence out of the box, together with server-side unread counts and last-message data, so status is consistent across a user’s devices instead of being reconstructed on each one.
For regulated deployments the acknowledgements matter beyond the interface. Because the server keeps a message archive and a compliance audit trail, the fact that a message was delivered and displayed can be established from server-side records, which is what a support team or a compliance officer needs when a patient or a client says they never received something.