Qu'est-ce qu'une API ?
Une API signifie interface de programmation d'application. C'est un moyen pour vous d'obtenir les données dont vous avez besoin en créant votre propre programme pour y accéder et les utiliser. Un excellent article de UPWork explique simplement et en détail ce qu'est une API.
Introduction aux API : qu'est-ce que c'est
Que proposons-nous pour les API ?
Mise à jour d'octobre 2025 : vous n'êtes plus tenu de passer à Premium pour accéder à l'API. Elle est ouverte à tous.

Mise à jour d'octobre 2025 : vous pouvez maintenant générer votre propre jeton d'API dans votre compte.
Nous vous proposons plusieurs façons d'accéder aux données de votre PTDevice à l'aide de vos propres logiciels. La principale est notre API REST, qui utilise OAuth2.0 pour un accès sécurisé au serveur et qui permet d'accéder aux données de votre appareil et de votre compte. Si vous êtes un « gestionnaire » d'appareils, vous pouvez aussi accéder à toutes les données de vos clients. Nous proposons ensuite un accès par jeton, qui vous permet d'accéder uniquement aux données de votre appareil par l'intermédiaire de nos serveurs. Une fois le jeton obtenu, vous pouvez simplement effectuer des requêtes GET à l'aide d'une URL contenant le jeton. Une troisième option consiste à utiliser l'« URL publique » : dans votre compte, vous pouvez activer le partage public de chaque appareil. Vous pouvez ainsi intégrer les données de niveau à votre propre site Web ou permettre à d'autres personnes de consulter une URL sans avoir à se connecter. Cette option offre également une simple requête GET JSON pour récupérer uniquement les données de votre appareil. Enfin, vous pouvez accéder directement aux données de votre appareil. La seule difficulté de cette API est que vous devez savoir utiliser les données brutes du capteur pour obtenir le résultat recherché. Vous trouverez plus de détails sur chaque type d'API ci-dessous.
API REST
La documentation de cette API est actuellement disponible ici :
DocumentationDes exemples de clients API se trouvent sur
GitHub. D'autres seront ajoutés au fil du temps.
Vous devez savoir utiliser une API REST et OAuth2.0 avec le flux de code d'autorisation. Une fois que vous avez compris cette API, vous pouvez demander l'identifiant client et la clé secrète en créant un billet ici :
Créer un billet.
API de jeton
Ce type d'API est plus simple que le précédent; cependant, vous n'avez accès qu'aux informations de votre appareil.
Pour créer un jeton, accédez à « Mon compte » dans votre compte PTDevices en ligne ou via les applications. Sélectionnez ensuite l'onglet « Paramètres », puis générez votre jeton.
Une fois votre jeton obtenu, vous devez trouver l'identifiant de votre appareil. Cet identifiant est inscrit physiquement sur votre appareil, figure dans vos instructions ou se trouve dans l'onglet « Paramètres » de la configuration de votre appareil en ligne ou dans les applications.
Effectuez ensuite une requête GET sur l'URL suivante. Elle peut être en https ou en http.
https://api.ptdevices.com/token/v1/device/{deviceId}?api_token={given_token}
Les données JSON renvoyées seraient les suivantes :
{
"data": {
"id": 2773,
"device_id": "CC50E36CF496",
"created": "2020-02-10 23:16:32",
"user_id": 1,
"device_type": "level",
"title": "Large Antenna (Pond)",
"version": "210",
"lat": null,
"lng": null,
"address": null,
"status": "Working",
"delivery_notes": null,
"units": "Metric",
"reported": "2020-11-11 15:47:37",
"tx_reported": "2020-11-11 03:14:47",
"wifi_signal": "100%",
"tx_signal": "-101.00dBm",
"device_data": {
"battery_voltage": 5.05,
"battery_status": "Good",
"percent_level": 86,
"volume_level": 0
},
"device_setup": {
"shape": "rectangle",
"depth": 3,
"width": null,
"length": null,
"diameter": null,
"power_x": 20,
"power_y": 6,
"power_z": 40
}
}
}
API de partage public
Cet accès à l'API consiste simplement en une requête GET pour des données JSON, mais il ne nécessite ni jeton ni autre élément de ce genre. La condition est d'avoir activé l'option « Partage public » pour chaque appareil dans votre compte.
Une fois cette option activée, vous devez trouver l'identifiant de votre appareil. Pour ce faire, connectez-vous à votre compte ptdevices, cliquez sur le bouton « Fonctions » de l'appareil souhaité et observez l'URL. À la fin de l'URL se trouve un nombre, qui correspond à l'identifiant de votre appareil à utiliser dans cette API.
Vous pouvez maintenant effectuer une requête GET sur l'URL suivante :
https://www.mypt.in/device/{deviceId}
Elle renvoie ensuite les données JSON suivantes :
{
"id": 2773,
"updated_at": "Nov 11th 2020, 10:56 AM",
"mac_address": "CC50E36CF496",
"device_type": "level",
"depth": 3,
"width": null,
"length": null,
"diameter": null,
"units": "metric",
"percentLevel": 86,
"volumeLevel": 0,
"title": "Large Antenna (Pond)",
"description": null,
"lat": null,
"lng": null,
"address": null,
"batteryStatus": "<span class=\"text-success\">Good</span>",
"status": "<span class=\"text-success\"><i class=\"icon-check\"></i> Working</span>",
"tx_reported_at": "Nov 10th, 10:14 PM",
"power_x": 20,
"power_y": 6,
"power_z": 40,
"delivery_notes": null,
"reported": "Nov 11th, 10:56 AM",
"wifi_rssi": "-42.00",
"tx_rssi": "-101.00",
"temperature": 7.12,
"sensor_data": "[{\"1\": 314, \"z\": 60, \"low_history\": [0], \"low_implied\": true}, {\"2\": 5.83}, {\"3\": 7.12}, {\"2\": 5.05, \"v\": 3.39}]"
}
API directe vers l'appareil
Cet accès à l'API vous donne directement les données brutes de votre appareil sur votre propre réseau, sans passer par notre système de serveurs. L'élément principal de cette API est que vous n'obtenez que les données brutes du capteur, que vous devez interpréter vous-même pour en tirer des informations utiles, par exemple en gérant l'étalonnage. Toutefois, cette option convient à ceux qui ne veulent pas dépendre de notre système de serveurs. De plus, il n'y a aucune méthode d'authentification à gérer ici.
PTLevel longue portée sans fil
{
"free_space": "667648",
"rx_id": "210",
"tx_id": "110",
"tx_rssi": "-101",
"rx_rssi": "-42",
"firmware_version": "210",
"hardware_version": "4",
"id": "CC50E36CF496",
"ip": "192.168.0.202",
"subnet": "255.255.255.0",
"gateway": "192.168.0.1",
"dns": "unknown",
"tx_firmware_version": "7",
"tx_hardware_version": "5",
"fails": "0",
"rx_sensors": "[]",
"tx_sensors": "[{\"1\":314,\"z\":60},{\"2\":5.83},{\"3\":7.12}]"
}
Le {2:5.83} correspond à la tension des piles, qui est de 5.83v dans ce cas.
PTLevel Wi-Fi
{
"local_s": "[{\"1\":68,\"z\":68}]"
}
Les deux appareils renvoient les mêmes valeurs de capteur, simplement de différentes manières. Pour expliquer les données du capteur de niveau, le 1:{value} correspond à la valeur analogique-numérique (a/n) du capteur et le z:{value} correspond à la valeur du point zéro. Le point zéro est la valeur a/n du capteur lorsqu'aucune pression n'est appliquée. Vous devez utiliser cette valeur comme limite basse de la plage linéaire. Vous devez ensuite déterminer le point haut de la plage, calculé en fonction de la taille de votre réservoir ou en effectuant un test de pression lorsque le réservoir est plein (étalonnage de base). Vous obtenez alors votre plage et pouvez calculer le niveau actuel en fonction de celle-ci, qu'il soit exprimé en pourcentage, en pouces, en volume, etc.
niveau_pourcentage = ((lecture du capteur - point zéro) / (point plein - point zéro)) * 100