In a previous post, I was complaining a bit about the Sigfox API. At this time Sigfox was already working on a new version of the APIs.
Today Sigfox released the API version 2 for managing devices, subscriptions, messages… And this new version based on REST and JSON standards is a really positive rupture compared to the previous one.
More than a new version of the API set it’s also the full deployment of some of the new backend components now accessible by the API deployment. As part of this the 2018 deployed new Group entity, the asynchronous device creation/edition processing and the coming replacement of the callback duplicates to the equivalent with API.
As part of this APIs also some coming features like different level of geolocation precision, payload encryption and many more…
The first API was made at the early Sigfox beginning and it was visible with a lake of structure, url consistency and a quickly made documentation. The new released version brink us back to 2018 with a modern REST like API using the different http verbs and accessible swagger file as a modern, standard documentation reference.
The different API categories are the following:
- Users / Api Users – manage user profiles & api access
- Certificates – device certificates
- Contract – all about contracts
- Coverage – multiple ways to verify coverage
- Device – all about managing devices
- Device-Type – all about managing device-type & callbacks
- Group – group management
- Messages – all about the messages & associated meta-data
The api provides more than 70 different endpoint for managing your Sigfox account & device life-cycle. This is associated to 100+ different data structures for communicating with the API. As a consequence migrating to the v2 or starting with these API can require a long time for coding all of this. But the good news are: from the swagger file you can automatically generate most of the client structure and associated data structure. And for the one using SpringBoot or Java for developing backend, I’m proposing an open-source implementation of the API v2 you can find on this GitHub repo.
The Api access and right management is following the same system as for the v1 with a BasicAuth authentication. The rights are managed by the Sigfox User’s Rights as I have documented in a previous post.
For quickly getting started with the new Sigfox API, I’ve written a API proxy as for the v1 to quickly access the documentation and making live testing on the API. You can find it on sigfox-api.ingeniousthings.fr or fork it from the Sigfox Api Github repository and run-it locally.