Read the eco system
To communicate with all the other endpoints in the eco system of the specific agrirouter account, it is required to read,
-
which endpoints are available
-
which TMT they can send
-
which TMT they can receive
-
which TMT they are subscribed for
Call for endpoints that support a technical message type
Definition
Every App Instance can call for a list of endpoints that are capable of receiving or sending specific messages. This command only takes into account capabilities of endpoints, but does not take into account any routes.
A complete list of endpoints in the connected agrirouter account is returned.
Only the message_types
list will be filtered according to the parameters.
Command
Command |
dke:list_endpoints_unfiltered |
Protobuf Schema |
agrirouter.request.payload.account.ListEndpointsQuery |
TypeURL |
types.agrirouter.com/agrirouter.request.payload.account.ListEndpointsQuery |
# | Name | Type | Description |
---|---|---|---|
1 |
technical_message_type |
String |
The technical message type the remote endpoint supports |
2 |
direction |
Direction |
The direction the remote endpoint supports (e.g. "Can the remote endpoint SEND this message type?") |
The direction describes if messages shall be sendable or receivable:
Nr | Direction |
---|---|
0 |
Send |
1 |
Receive |
2 |
Send or Receive |
Result
ResultCode |
ENDPOINTS_LISTING |
Protobuf Schema |
agrirouter.response.payload.account.ListEndpointsResponse |
TypeURL |
types.agrirouter.com/agrirouter.response.payload.account.ListEndpointsResponse |
The endpoint response includes a list of available endpoints:
# | Name | Type | Description |
---|---|---|---|
1 |
endpoint_id |
String |
The endpoint ID to address a message to |
2 |
endpoint_name |
String |
The name of the endpoint as displayed in the agrirouter UI |
3 |
endpoint_type |
String |
The type of Endpoint, see below |
4 |
status |
String |
The current activity status of the endpoint |
5 |
message_types |
MessageTypes |
See below |
6 |
external_id |
String |
The id provided as "id" in the onboarding request |
The endpoint Type can be one of the following Values:
Code | Description | Comment |
---|---|---|
application |
Software Application |
Software Application |
virtualCU |
Telemetry Platform |
Connection via Telemetry Platform |
The status can be one of the following values:
Status |
---|
active |
inactive |
The Message object describes technical message type and direction.
# | Name | Type | Description |
---|---|---|---|
1 |
technical_message_type |
String |
The technical message type the remote endpoint supports |
2 |
direction |
Direction |
The direction the remote endpoint supports (e.g. "Can the remote endpoint SEND this message type?") |
The direction describes if messages shall be sendable or receivable:
Nr | Direction |
---|---|
0 |
Send |
1 |
Receive |
2 |
Send and Receive |
|
Implementation advises If your application can send messages without user interaction, it is advised to update the endpoint list in a cyclic manor, e.g. every 5 minutes. If your application only sends messages if a user is present, it is advised to update the endpoint list depending on the user interaction, e.g. manually with an "update" button or integrated in another user interaction like opening the destination selection dialog. These are advises, not requirements |
Call for filtered list of endpoints that support a specific message type
Definition
This request is used for request a list of endpoints that support a technical message type and has corresponding routings to the requesting endpoint.
This command takes into account the routes between endpoints, which implicitly includes capabilities.
Command
Command |
dke:list_endpoints |
Protobuf Schema |
agrirouter.request.payload.account.ListEndpointsQuery |
TypeURL |
types.agrirouter.com/agrirouter.request.payload.account.ListEndpointsQuery |
# | Name | Type | Description |
---|---|---|---|
1 |
technical_message_type |
String |
The technical message type the remote endpoint supports |
2 |
direction |
Direction |
The direction the data can flow from the perspective of the requesting endpoint (e.g. "Can I SEND this specific data type to the other endpoint?") |
For further information, see Call for endpoints that support a technical message type
Result
ResultCode |
ENDPOINTS_LISTING |
Protobuf Schema |
agrirouter.response.payload.account.ListEndpointsResponse |
TypeURL |
types.agrirouter.com/agrirouter.response.payload.account.ListEndpointsResponse |
# | Name | Type | Description |
---|---|---|---|
1 |
technical_message_type |
String |
The technical message type the remote endpoint supports |
2 |
direction |
Direction |
The direction the data can flow from the perspective of the requesting endpoint (e.g. "Can I SEND this specific data type to the other endpoint?") |
For further information, see Call for endpoints that support a technical message type