API REST

Esta API REST permite integrar sensores QBIT a otros sistemas ya existentes, consultar registros recientes enviados por uno o varios dispositivos mediante idequipo y consultar una o varias suscripciones mediante idsuscrip, cuando esa modalidad se encuentre habilitada para el token.

La API REST está diseñada para ser utilizada por aplicaciones externas que necesiten interactuar con los datos de los sensores QBIT. Proporciona una interfaz sencilla y eficiente para acceder a la información de los sensores, permitiendo a los desarrolladores integrar fácilmente los datos en sus propias aplicaciones o sistemas.

Autenticación

Se utiliza autenticación mediante Bearer Token. Cada cliente posee un token propio vinculado exclusivamente a sus equipos y suscripciones habilitados. Un mismo token permite consultar por idequipo y por idsuscrip según esos permisos. Este token debe ser solicitado a soporte y el equipo debe tener plan Avanzado o superior.

Encabezado HTTP Formato Ejemplo
Authorization Bearer <token> Bearer abcd1234efgh5678

Parámetros de consulta

Nombre Tipo Obligatorio Descripción
idequipo Entero o lista de enteros separados por comas Condicional Uno o varios identificadores numéricos de dispositivos QBIT. Ejemplo: 1223,1224,1225. Se utiliza cuando no se envía idsuscrip.
idsuscrip Entero o lista de enteros separados por comas Condicional Permite consultar los últimos registros de los equipos asociados a una o varias suscripciones. Ejemplo: 601,602. Todas deben estar habilitadas para el mismo token.

Debe enviarse idequipo o idsuscrip. Si se envían ambos parámetros, la API prioriza idsuscrip; no combina las listas. Los espacios alrededor de cada ID se eliminan y los identificadores repetidos se consultan una sola vez. No se admiten elementos vacíos ni valores no numéricos.

Endpoint

Método HTTPGET
Frecuencia máxima1 consulta cada 40 segundos; se recomienda una por minuto
Formato de respuestaJSON
Zona horariaAmerica/Argentina/Buenos_Aires
SeguridadToken con permisos por equipo o por suscripción habilitada

Consulta opcional por suscripción: GET https://services.bitronic.com.ar/api/sensores?idsuscrip=1234. Si el token no corresponde a esa suscripción o el acceso no está habilitado, la API responde con 401 o 403 según corresponda.

Respuesta esperada en formato JSON:

Cuando la consulta se realiza por un solo idsuscrip, la respuesta devuelve el identificador de la suscripción, la cantidad de registros obtenidos y el arreglo records con el último registro disponible de cada equipo asociado.

Consultas múltiples

Usá una sola solicitud por minuto para recibir el último dato disponible de cada equipo de tus suscripciones. El mismo Bearer Token debe tener acceso a todos los identificadores solicitados.

GET https://services.bitronic.com.ar/api/sensores?idequipo=1223,1224,1225
GET https://services.bitronic.com.ar/api/sensores?idsuscrip=601,602
Authorization: Bearer <token>

Las listas admiten hasta 100 identificadores distintos y hasta 100 equipos resultantes, sumando las suscripciones y sin contar equipos repetidos. Si se supera un límite, la API devuelve 400 sin consultar mediciones ni truncar resultados. Estos límites se aplican a las consultas con listas separadas por comas; las consultas con un solo ID conservan su comportamiento.

La respuesta múltiple contiene count y records: una lista única ordenada numéricamente por idequipo, sin agrupación por suscripción. Cada equipo se incluye una sola vez. Incluso una lista como 1223,1223 utiliza este formato:

{
  "count": 2,
  "records": [
    {"idequipo": "1223", "datatime": "2026-10-20 10:00:00", "data": "21.5"},
    {"idequipo": "1224", "datatime": "2026-10-20 10:00:00", "data": "22.0"}
  ]
}

Los equipos sin mediciones se omiten. Si ninguno tiene registros, se devuelve 204. Si falla un permiso o la consulta de datos, se rechaza todo el pedido; no se entregan respuestas parciales. Un token ausente o desconocido devuelve 401. Un cliente deshabilitado o cualquier equipo o suscripción fuera de sus permisos devuelve 403. Solo se pueden consultar identificadores habilitados para el cliente del token, tanto en consultas individuales como en listas.

Las consultas múltiples son exclusivamente para el último dato: enviar desde o hasta devuelve 400. La consulta histórica individual por idequipo se mantiene para los equipos habilitados.

Debe transcurrir un mínimo de 40 segundos entre consultas del mismo cliente. El intervalo se comparte entre todas sus consultas: equipos, suscripciones, listas e históricos. Consultar otro identificador no habilita una solicitud adicional durante la espera. Se recomienda consultar una vez cada 60 segundos. Las solicitudes realizadas antes de cumplir el intervalo reciben 429 y no reinician la espera.

Campos de respuesta

En consultas por un solo idequipo, la respuesta incluye record, que contiene los siguientes campos:

Campo Tipo Unidad Descripción
idequipostring–ID del sensor
datatimestringFechaFecha del registro
datastring/arrayDepende la variableValores medidos

Respuesta cuando se consulta por un solo idsuscrip

Campo Tipo Unidad Descripción
idsuscripstring–Identificador de la suscripción consultada.
countinteger–Cantidad de registros devueltos en records.
recordsarray–Listado con el último registro disponible de cada equipo asociado a la suscripción.

Cada elemento de records mantiene la estructura habitual del registro del sensor y puede incluir campos como idequipo, datatime y data.

Códigos de estado HTTP

Código Significado Descripción
200 OK Consulta exitosa. Se devuelven los registros.
204 No Content No hay registros disponibles en el rango configurado.
400 Bad Request Falta un identificador válido, la lista contiene elementos vacíos o no numéricos, se superan los límites de la consulta múltiple o se envían fechas con una lista.
401 Unauthorized El Bearer Token está ausente, tiene un formato inválido o no es reconocido.
403 Forbidden El cliente está deshabilitado, algún equipo o suscripción no pertenece a sus permisos, o la consulta histórica no está habilitada.
429 Too Many Requests No transcurrieron 40 segundos desde la consulta anterior. Esperar a completar el intervalo antes de reintentar.

Matriz de errores y acciones recomendadas

CódigoPosible causaAcción sugerida
401 / 403Token incorrecto o acceso no habilitadoRevisar credenciales y permisos
429Exceso de consultasImplementar backoff exponencial
500Error internoContactar soporte técnico con logs

Consulta opcional por fecha

Para ciertos equipos habilitados, se permite filtrar por fecha y hora (previa autorización), únicamente en consultas con un solo idequipo. Los parámetros desde y hasta deben enviarse juntos. No se admite filtrar por fechas en consultas múltiples.

Parámetro Tipo Formato Descripción
desde string YYYY-MM-DD HH:MM:SS Desde Fecha/hora
hasta string YYYY-MM-DD HH:MM:SS Hasta Fecha/hora

Buenas prácticas de integración

  • Evitar consultas continuas no necesarias (respetar la frecuencia).
  • Registrar y auditar errores por equipo.
  • Implementar monitoreo por latencia y códigos HTTP.
  • Proteger los tokens en entornos seguros.

La API REST utiliza autenticación basada en tokens para garantizar la seguridad de las solicitudes. Cada solicitud debe incluir un token de autenticación válido en el encabezado de la solicitud. Este token se entrega al desarrollador al momento de la integración y debe ser tratado como información confidencial.

Consideraciones de rendimiento

  • Se recomienda consultar una vez cada 60 segundos y agrupar los equipos o suscripciones en una sola solicitud. El intervalo mínimo permitido es de 40 segundos.
  • Los cambios en los equipos asociados a una suscripción pueden demorar hasta 5 minutos en reflejarse.
  • No está optimizada para volúmenes históricos extensos.