Send one or several messages
Send one or several messages through agrirouter to other endpoints, with automatic chunking for large payloads.
Send one or several messages through agrirouter to other endpoints. The payload goes in the request body as a binary stream. If it exceeds the internal chunk size, agrirouter splits it for you, so the client does not need to chunk on its own. Every delivered message lands in the feed of each recipient that a route points to.
Agrirouter OAuth2 authentication for QA environment.
In: header
Header Parameters
The size of the complete payload in bytes. This is used to determine if the payload needs to be split into chunks and how.
int64If set to true, the message will be sent as a published message and any endpoints that are subscribed to the message type would be able to receive it, provided other conditions for routing are met.
Comma-separated list of agrirouter endpoint IDs of the direct recipients. Allows specifying direct recipients of the message, which could receive it even if they are not subscribed to the message type.
Client side timestamp of sending the data.
date-timeThe agrirouter endpoint ID of the sender. This is the ID of the endpoint that is sending the message.
uuidA teamset is a set of connected machines that work and move together and are connected to the same (virtual) communication unit. The machines in the teamset are typically connected physically and informationally (for example via ISOBUS).
length <= 100Message type of the sent data. See available types here: https://docs.agrirouter.com/agrirouter-interface-documentation/latest/tmt/overview.html
length <= 100The farmer's tenant ID in relation to which communication is done.
uuidApplication-generated UUID identifying the sent payload. Required on every send. Generate a fresh UUID per payload; reuse the same UUID only when retrying the exact same payload after a failure, so agrirouter can deduplicate.
agrirouter exposes this value to the receiving endpoint as the
app_message_id field on MESSAGE_RECEIVED events, and uses it as
the chunk context id when the payload is split across chunks.
uuidOptional name of the file that is attached to messages as metadata.
length <= 100Request Body
application/octet-stream
TypeScript Definitions
Use the request body type in TypeScript.
binaryResponse Body
application/json
application/json
application/json
application/json
curl -X POST "https://api.agrirouter.com/messages" \ -H "content-length: 0" \ -H "x-agrirouter-is-publish: true" \ -H "x-agrirouter-sent-timestamp: 2019-08-24T14:15:22Z" \ -H "x-agrirouter-endpoint-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "x-agrirouter-message-type: iso:11783:-10:device_description:protobuf" \ -H "x-agrirouter-tenant-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "x-agrirouter-context-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/octet-stream" \ -d 'string'{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}