¿Qué es una API?
API significa interfaz de programación de aplicaciones. Es una forma para que usted obtenga los datos que desea o necesita, creando su propio programa para acceder a ellos y usarlos. Hay un excelente artículo de UPWork aquí que explica en detalle qué es una API.
Introducción a las API: qué son
¿Qué ofrecemos para las API?
Actualizado en octubre de 2025: ya no es necesario que usted actualice a Premium para acceder a la API. Está abierta para todos.

Actualizado en octubre de 2025: ahora usted puede generar su propio token de API dentro de su cuenta.
Tenemos algunas formas que usted puede usar para acceder a los datos de su PTDevice con su propio software. La principal es nuestra API REST, que usa OAuth2.0 para un acceso seguro al servidor y le permite acceder a los datos de su dispositivo y de su cuenta. Además, si usted es "Administrador" de dispositivos, también puede acceder a los datos de todos sus clientes. Después tenemos un acceso basado en token, con el que solo puede acceder a los datos de su dispositivo a través de nuestros servidores. Una vez que tenga el token, simplemente puede hacer solicitudes GET usando una URL con el token. Una tercera opción es usar la "URL pública", donde en su cuenta puede habilitar el uso compartido público de cada dispositivo. Esto le permite incrustar los datos de nivel en su propio sitio web o permitir que otros accedan a una URL sin tener que iniciar sesión. También le ofrece una solicitud GET en JSON sencilla para obtener únicamente los datos de su dispositivo. Por último, puede acceder directamente a los datos de su dispositivo. La única desventaja de esta API es que usted debe saber cómo usar los datos brutos del sensor para obtener el resultado que busca. Más abajo encontrará más detalles sobre cada tipo de API.
API REST
La documentación de esta API está disponible actualmente aquí:
DocumentaciónPuede encontrar ejemplos de clientes de API en
GitHub. Se agregarán más con el tiempo.
Usted debe estar familiarizado con el uso de una API REST y de OAuth2.0 con el flujo de código de autorización. Una vez que comprenda esta API, puede solicitar el ID de cliente y la clave secreta creando un ticket aquí:
Crear ticket.
API de token
Este tipo de API es más sencillo que los anteriores; sin embargo, solo le da acceso a la información de su dispositivo.
Para crear un token, vaya a "Mi cuenta" en su cuenta de PTDevices en línea o desde las aplicaciones. Después seleccione la pestaña "Configuración" y, desde ahí, podrá generar su token.
Una vez que tenga su token, debe averiguar cuál es el ID de su dispositivo. Este ID es el que aparece impreso físicamente en el dispositivo, en sus instrucciones o en la pestaña "Configuración" de la configuración de su dispositivo en línea o en las aplicaciones.
Después simplemente haga una solicitud GET a la siguiente URL. Puede ser https o http.
https://api.ptdevices.com/token/v1/device/{deviceId}?api_token={given_token}
La siguiente sería la respuesta JSON devuelta:
{
"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 uso compartido público
Este acceso a la API es simplemente una solicitud GET de datos JSON, pero no requiere un token ni nada similar. El requisito es que en su cuenta haya habilitado la opción "Uso compartido público" para cada dispositivo.
Una vez habilitada esa opción, debe averiguar cuál es el ID de su dispositivo. Para ello, inicie sesión en su cuenta de ptdevices, haga clic en el botón "Características" del dispositivo elegido y observe la URL. Al final de la URL habrá un número, y ese número es el ID de su dispositivo que debe usar en esta API.
Ahora puede hacer una solicitud GET a la siguiente URL:
https://www.mypt.in/device/{deviceId}
Lo que devuelve la siguiente respuesta JSON:
{
"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 directa al dispositivo
Este acceso a la API le proporciona los datos brutos directamente desde su dispositivo, en su propia red, sin pasar por nuestro sistema de servidores. Lo principal de esta API es que solo obtiene los datos brutos del sensor y usted debe interpretarlos por su cuenta para convertirlos en información útil, es decir, encargarse de la calibración, etc.. Sin embargo, es buena opción para quienes no desean depender de nuestro sistema de servidores. Además, aquí no hay métodos de autenticación que manejar.
PTLevel Long Range Wireless
{
"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}]"
}
El {2:5.83} es el nivel de voltaje de las baterías, que en este caso es 5.83v.
PTLevel WiFi
{
"local_s": "[{\"1\":68,\"z\":68}]"
}
Ambos dispositivos devolverán los mismos valores de sensor, solo que de diferentes maneras. Para explicar los datos del sensor de nivel, básicamente el 1:{value} es el valor a/d del sensor y el z:{value} es el valor del punto cero. El punto cero es el valor a/d del sensor cuando no se aplica presión. Ese valor se usa como la parte baja del rango lineal. Luego debe determinar el punto alto del rango, que se calcula según el tamaño de su tanque o realizando una prueba de presión cuando el tanque esté lleno (calibración básica). Así tendrá su rango y podrá calcular el nivel actual con base en ese rango, ya sea en porcentaje, pulgadas, volumen, etc..
nivel_porcentaje = ((lectura del sensor - punto cero) / (punto completo - punto cero)) * 100