The Ditto Protocol represents acknowledgements in two forms: individual acknowledgements for a specific label, and aggregated acknowledgements that combine multiple results.
TL;DR: A single acknowledgement targets one label (e.g.,
twin-persisted) and carries a status code. Aggregated acknowledgements combine multiple acks into one message, with a combined status of 200 if all succeeded or 424 if any failed.Overview
Acknowledgements come in two protocol topic variants, described below.
Acknowledgement
A single acknowledgement addresses one specific acknowledgement label. The label appears as the last segment of the topic:
<namespace>/<thingName>/things/<channel>/acks/<ack-label>
The Ditto Protocol representation:
Acknowledgements (aggregated)
An aggregated acknowledgement combines several single acknowledgements into one message. The topic omits the label:
<namespace>/<thingName>/things/<channel>/acks
The Ditto Protocol representation:
Combined status code
Ditto derives the aggregated status code from the individual acks:
- If only one acknowledgement is included, its status code is used.
- If multiple acknowledgements are included:
- All successful (status
200-299): combined status is200(OK). - At least one failed (status
>299): combined status is424(Dependency failed).
- All successful (status
Examples
See the acknowledgement examples for complete protocol message samples.
Further reading
- Acknowledgements and QoS – concepts, requesting, and issuing acks
- Protocol specification – the full message format reference