Articles

Options d'API

20 oct. 2026

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. Il existe un excellent article sur UPWork ici qui explique simplement ce qu'est une API dans ...

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 ?

Info
Mise à jour d'octobre 2025 : vous n'êtes plus tenu de passer à Premium pour accéder à l'API. Elle est ouverte à tous. 
Notes
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

Idea
La documentation de cette API est actuellement disponible ici : Documentation
Des 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.
Quote
https://api.ptdevices.com/token/v1/device/{deviceId}?api_token={given_token}
Les données JSON renvoyées seraient les suivantes :
Notes
{
    "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 :
Quote
https://www.mypt.in/device/{deviceId}
Elle renvoie ensuite les données JSON suivantes :

Notes
{
  "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>&nbsp; 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
Quote
GET /config?json=true
Notes
{
  "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}]"
}
Info
Le {2:5.83} correspond à la tension des piles, qui est de 5.83v dans ce cas.


PTLevel Wi-Fi
Quote
GET /get_sensors
Notes
{
  "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

Nous accordons de l’importance à votre vie privée

Nous utilisons des témoins nécessaires au fonctionnement du site. Avec votre permission, nous aimerions également utiliser des témoins optionnels pour comprendre comment le site est utilisé et pour améliorer notre marketing. Vous pouvez modifier votre choix à tout moment à partir des « Paramètres des témoins » au bas de chaque page. Lisez notre politique de confidentialité