Architecture of an endpoint
The endpoint can be seen as the interface between agrirouter and an App Instance. It receives messages from the app instance and can deliver messages to this app instance.
On the other side, it is part of the agrirouter and forwards messages to routing and addressing, receives addressed messages and can handle the subscriptions.
The terms "subscription" and "subscribing" are well known by MQTT addicted developers. In this document however, subscriptions describe a technique of the agrirouter endpoint. It works like an MQTT subscription, it’s however important to notice that MQTT is mostly not the context of these words in the document except for the relevant chapter for MQTT communication.
The inbox is used to receive messages or commands from an app instance.
The address of this inbox is delivered with the Response of the onboarding request as "measures".
In terms of agrirouter onboarding result, the inbox is called measures due to the used standardized gateway. In this integration guide, we call it inbox as this is, what it really is in terms of agrirouter
The outbox is used to deliver messages to an app instance.
The address of this outbox is delivered with the Response of the onboarding request as "commands".
In terms of agrirouter onboarding result, the outbox is called commands due to the used standardized gateway. In this integration guide, we call it outbox as this is, what it really is in terms of agrirouter
The feed receives all messages from the agrirouter due to addressing of messages and subscriptions of the endpoint, given there is a routing for that. Messages in the feed are stored for a maximum of 4 weeks before they are deleted. The user will be informed when there are messages that were not delivered for 3 weeks or more. An app instance can either request the messages to be forwarded to its outbox or request to delete the messages. If it requests the forwarding to the outbox, the messages are only deleted from the feed when the app instance confirms having received those messages.
The subscription list includes a list of all Message Types and DDIs, the endpoint is subscribed for. Whenever a message is published on the agrirouter account, this will lead to putting a copy of this message into the feed, given, there is a route for that.