How to send messages to telematics hub from my custom solution via HTTP?

Putting the telemetry data from a third-party app into the flespi channel.

The entry point to the Telematics Hub is a channel. The HTTP channel is an HTTP server capable of accepting special requests with messages to the Telematics Hub. Let's look at how to configure one.

Step 1. Create an HTTP channel

  1. Navigate to the Channels section in the left-side menu

  2. Click the “+” button in the bottom right corner

  3. Give the protocol a meaningful name

  4. Select HTTP protocol from the protocol_id drop-down field

  5. Click Save

create http flespi channel

Step 2. Configure the request to your HTTP channel

HTTP request specifications:

  • Method: POST

  • URI: taken from your channel’s card. Looks like gw.flespi.io:{your dedicated port}

  • HTTP/HTTPS: optional, may be selected in the channel configuration

  • Authorization: not required as you use your dedicated URI

  • Data: JSON array of objects. Each object represents a single message. Each message must be identified by some field that will be treated by flespi as the message origin identifier. By default, you may use the “ident” name that is native for flespi. However, in channel configuration, you may specify any custom field name.

flespi http channel configuration

E.g. for the configuration above the valid curl request to send a message to flespi will look like:

curl -X POST -d '[{"vehicle_id":"1234", "timestamp":1234567890, "position.latitude":52, "position.longitude":48, "position.speed":55, "position.direction":75, "fuel.level":87}]' https://gw.flespi.io:27699

And the result will be displayed in the channel’s Logs & Messages tab:

flespi http channel toolbox

3. Valuable notes

If you want the parameter naming of your custom messages to be in sync with parameters accepted by other channels, use standard flespi parameter naming. E.g. if you want to pass the object’s latitude and longitude and see it properly in TrackIt, use the parameter names “position.latitude” and “position.longitude”.


See also
Obtain telematics data from eView devices via API in 5 easy steps.
Obtain telematics data from Ruptela devices via API in 6 easy steps.