# Acknowledgements

Various messages that are part of Ability Edge Module API support acknowledgement delivery. The acknowledgement may be requested by adding &ack={acknowledgement level} to the topic that you're sending your message to.

The supported levels are:

  • none - acknowledgements are not delivered.
  • positive - only successful acknowledgements are delivered
  • negative- only failure acknowledgements are delivered
  • all - all acknowledgements are delivered

By default, if you do not specify your choice of ack, none is used.

TIP

The all level is very useful while developing any Edge module. It will help you to find issues in the messages that you're sending - the error descriptions often tell you exactly what is wrong.

The following topics support acknowledgements:

  • topics_model_out
  • topics_messages_out

# Correlation ID

It is also possible to add a correlation ID to your messages. This is useful if you require help of Ability Support in debugging of some specific issue that you might have. If you supply the correlation ID of your messages, it will be possile to track them down in the Ability Platform's logs.

To add the correlation ID to your messages, add the following:

&correlationId={your correlation ID (preferably UUID format)}

TIP

Correlation IDs are typically in UUID/GUID format to be unique. The unique nature of a GUID provides a key to search Platform's Application Insights (which is used for logging) for all steps associated with your request.
Correlation IDs can be extended with a prefix or suffix to group all requests from a device. For example, suppose a device sends a burst of delete operations. A unique string prefix could be added to the correlationId to allow searching for all activities associated with the burst of deletes. Each delete would have a unique GUID, but the prefix would be same the for all the deletes, e.g. TEST01.adf5d42d-9160-46d7-b4d1-e3482781ce01, TEST01.236cb401-3e98-4e0c-9b1a-ed1b5096a5a7, etc. You can then request Operations (via a ticket) to look for "TEST01" string in the correlationIds to find all the requests associated with your test scenario - and, eventually, to find the cause of problems that you might be having.

Here's an example of a topic with correlation ID attached:

modules/mymodule/model/reported/abb.ability.device&correlationId=adf5d42d-9160-46d7-b4d1-e3482781ce01

If a module (in this example "mymodule") sent a message to that topic, the whole Ability API communication chain would be annotated with the correlation ID adf5d42d-9160-46d7-b4d1-e3482781ce01.

Last updated: 1/10/2022, 11:05:26 AM
Feedback