Flespi offers a number of ways to deliver the data into your target platform or application. One of the options is via flespi streams — push-based message delivery method. The most widely used is the HTTP stream that generates an HTTP request to an arbitrary URL with custom headers and messages data payload in JSON.
Here we provide specific code samples in different programming languages to handle the HTTP requests from the flespi stream.
1. Create and configure an HTTP stream
We have to create a stream first. The stream will take the data from a channel or device and forward it to your platform.
Let’s create an HTTP stream in the flespi platform: pick http type in the configuration drop-down and populate the URI parameter with the path on your server, e.g. http://your-server:port/path-on-server.
Note: %ident% is the ident mask meaning that the messages from flespi will be sent via the stream with their original ident (IMEI). Usually, there's no need to change this parameter unless you want to distinguish the subset of devices coming from flespi. Then you can add a prefix like this "flespi-%ident%.
2. Subscribe the stream
Now that we have a stream, we need to feed some data into it. Click on the stream card. You’ll find yourself on the Subscriptions tab. Click the chain icon next to the item(s) you want to serve as the source for your stream.
Note: pick EITHER channel(s) OR device(s) — don’t mix up both — this may lead to duplicate messages.
3. Deploy script on your server
Pick one of the examples in the preferred programming language (we have PHP, NodeJS, and Python so far) and deploy it on your server or VPS at the location you specified on step 1 in the URI field.
4. Configure the script
Make the necessary changes to the script to instruct it to listen on your-server:port network endpoint and to handle a /path-on-server URI.
5. Get the data
Once the steps 1 to 4 are complete, you will start getting batches of messages from the flespi platform on your side. Now you are free to use the obtained telemetry data in your applications, projects, and platforms.
Streams are a fast and straightforward way to deliver telematics data from your tracking devices into any third-party platform using a small script to properly handle the dataflow.