Webhook

This type of distribution sends incoming data to an HTTP server.

Note that as live data can be very fast, we suggest the webhook server must be able to handle a high rate of incoming calls.

Type Name

The type name to use in your configuration is webhook.

Configuration

The following configuration options are accepted…

NameNotesPurpose
hostnameRequiredThe DNS name or IP of your HTTP server
portDefault 80/443The port number used to communicate to the HTTP server
resourceThe resource name to push data to (added after the hostname and port)
headersName/value pairs to be set as part of the request header
methodPOSTThe method of transmission

The final URL is built out of hostname, port and prefix. For example…

{
    "config": {
         "hostname": "https://myserver.com",
         "resource": "/api/submit"
    }
}

…will submit requests to https://myserver.com/api/submit.

Methods

All of the following methods will include examples where we are sending the value 'Main Oven.Temperature' to '192.0'.

The following methods are available…

GET

The request is made as a standard GET web request.

https://myserver.com/api/submit?Main Oven.Temperature=192.0
POST

The request is made as a standard POST web request, with the content encoded as form data.

https://myserver.com/api/submit
BODY: ...encoded form data...
POSTBODY

The request is made as a POST web request, with the content sent as a JSON-encoded object in the body..

https://myserver.com/api/submit
BODY: { "Main Oven.Temperature": 192.0 }
POSTBATCH

The request is made as a single. consolidated POST web request, with the content sent as a form…

https://myserver.com/api/submit
BODY: ...encoded form data with multiple values...
POSTBATCHBODY

The request is made as a single. consolidated POST web request, with the content sent as a JSON encoded body…

https://myserver.com/api/submit
BODY: { "Main Oven.Temperature": 192.0,"Main Oven.Target": 195.0 }