Nuestra API

Bienvenido a la API de NEU, desde acá podrás tener acceso a los datos relacionados con tu cuenta, permitiendo que puedas hacer uso de ellos según tus necesidades.

URL
https://api.neu.com.co

Autenticación

Para poder acceder al servicio de la API, en primer lugar, se debe obtener el token de autenticación, el cuál es único para cada usuario. Este se genera desde la aplicación web en la sección del perfil de usuario.

Una vez se tenga este token, se debe guardar pues será necesario para hacer todas peticiones. Para ello se debe ingresar el token en el header en la propiedad "Authorization"

Ejemplo del header en las peticiones

{
  "Authorization": Bearer {token}
}

Información

En esta sección se puede acceder a la información respecto a los proyectos asociados a la cuenta, además de obtener individualmente tanto un proyecto específico, como cada uno de los dispositivos que pertenecen al usuario.

Obtener proyectos

Lista los proyectos que están asociados al cliente, además se puede obtener un proyecto específico ingresando el id de este.

Propiedad Descripción
id (opcional) Identificador del proyecto
GET
/info/projects/{id}

Ejemplo de respuesta

[
  {
    "id_project": number,
    "acronym": string,
    "name": string,
    "image": string,
    "creation_date": timestamp,
    "city": string,
    "address": null,
    "installed_power": number,
    "cost_kwh": number,
    "theoretical_energy": number,
    "panels_quantity": number,
    "panel_area": number,
    "panel_efficiency": number,
    "average_consumption": number,
    "consumer": boolean,
    "generator": boolean,
    "addresses": [
      {
        "id_address": number,
        "address_identifier": string,
        "address_type": string,
        "physicaladdr": string
      }
    ]
  }
]

Obtener dispositivo

Devuelve la información de un dispositivo según el id ingresado.

Propiedad Descripción
id (opcional) Identificador del dispositivo
GET
/info/address/{id}

Ejemplo de la respuesta

{
  "id_address": number,
  "address_identifier": string,
  "descr": number,
  "physicaladdr": string,
  "address_type": string
}

Datos

Se obtienen todos los datos de consumo, generación o meteorología en un rango de fechas establecidas.

Datos de estación meteorológica

Retorna toda la información referente a la estación meteorológica de un dispositivo según un ID ingresado y un intervalo de tiempo especificado. Dicha petición se puede realizar mediante un Id_project en específico, o mediante uno o varios Id_addresses en un formato de lista.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
Id_addresses (Opcional) Lista de identificadores de las ubicaciones
From Fecha desde la que se hace la búsqueda
To Fecha hasta la que se hace la búsqueda
GET
/data/weatherstation

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

[
  {
    "id_project": number,
    "project": string,
    "data": [
      {
        "id_address": number,
        "address_identifier": string,
        "date": timestamp,
        "irradiance": number,
        "temp_panel": number,
        "temp_environment": number,
        "temp_pcb": number,
        "humidity": number,
        "wind_speed": number,
        "wind_direction": number
      }
    ]
  }
]

Datos de generación

Retorna toda la información de generación de una dirección según un ID ingresado y un intervalo de tiempo especificado. Dicha petición se puede realizar mediante un Id_project específico, o mediante uno o varios Id_addresses en un formato de lista.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
Id_addresses (Opcional) Lista de identificadores de las ubicaciones
From Fecha desde la que se hace la búsqueda
To Fecha hasta la que se hace la búsqueda
Respuesta Descripción Unidad
id_project Identificador del proyecto. N/A
project Nombre del proyecto. N/A
id_address Identificador del address. N/A
address_identifier Nombre del address. N/A
date Fecha en formato ISO. N/A
generation Consumo. kWh
generation_acum Excedentes. kWh
temp_inverter Reactiva inductiva. °C
temp_heatsink Reactiva capacitiva. °C
v1_dc Voltaje DC 1. V
v2_dc Voltaje DC 2. V
v3_dc Voltaje DC 3. V
v4_dc Voltaje DC 4. V
i1_dc Corriente DC 1. A
i2_dc Corriente DC 2. A
i3_dc Corriente DC 3. A
i4_dc Corriente DC 4. A
v1_ac Voltaje AC 1. V
v2_ac Voltaje AC 2. V
v3_ac Voltaje AC 3. V
i1_ac Corriente AC 1. A
i2_ac Corriente AC 2. A
i3_ac Corriente AC 3. A
pwr_factor Factor de potencia. N/A
pwr_snapshoot Potencia activa. kW
pwr_apparent Potencia aparente. kVA
freq Frecuencia. Hz
GET
/data/generation

Ejemplo del cuerpo de la petición

{
  "Id_addresses": [265, 287],
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

[
  {
    "id_project": number,
    "project": string,
    "data": [
      {
        "id_address": number,
        "id_project": number,
        "project": string,
        "date": timestamp,
        "address_identifier": string,
        "generation": number,
        "generation_acum": number,
        "temp_inverter": number,
        "temp_heatsink": number,
        "v1_dc": number,
        "v2_dc": number,
        "v3_dc": number,
        "v4_dc": number,
        "i1_dc": number,
        "i2_dc": number,
        "i3_dc": number,
        "i4_dc": number,
        "v1_ac": number,
        "v2_ac": number,
        "v3_ac": number,
        "i1_ac": number,
        "i2_ac": number,
        "i3_ac": number,
        "pwr_factor": number,
        "pwr_snapshoot": number,
        "pwr_apparent": number,
        "freq": number
      }
    ]
  }
]

Datos de Consumo

Retorna toda la información de consumo energético de una dirección según un ID ingresado y un intervalo de tiempo especificado. Dicha petición se puede realizar mediante un Id_project específico, o mediante uno o varios Id_addresses en un formato de lista.

Propiedad de la petición Descripción Tipo de dato
Id_project (Opcional) Identificador del proyecto. Integer
Id_addresses (Opcional) Lista de identificadores de las ubicaciones. Array integer
From Fecha desde la que se hace la búsqueda en formato ISO. String
To Fecha hasta la que se hace la búsqueda en formato ISO. String
Respuesta Descripción Unidad
id_project Identificador del proyecto. N/A
project Nombre del proyecto. N/A
id_address Identificador del address. N/A
address_identifier Nombre del address. N/A
date Fecha en formato ISO. N/A
energy Consumo. kWh
injec Excedentes. kWh
reactive_in Reactiva inductiva. kWh
reactive_cap Reactiva capacitiva. kWh
reactive_ex Reactiva en exceso. kWh
ia Corriente en la fase A. A
ib Corriente en la fase B. A
ic Corriente en la fase C. A
va Voltaje en la fase A. V
vb Voltaje en la fase B. V
vc Voltaje en la fase C. V
freq Frecuencia. Hz
GET
/data/generation

Ejemplo del cuerpo de la petición mediante Id_project.

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo del cuerpo de la petición mediante Id_addresses.

{
  "Id_addresses": [282, 450],
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Estructura de la respuesta

[
  {
    "id_project": number,
    "project": string,
    "data": [
      {
        "id_address": number,
        "address_identifier": string,
        "date": timestamp,
        "energy": number,
        "injec": number,
        "reactive_in": number,
        "reactive_cap": number,
        "reactive_ex": number,
        "ia": number,
        "ib": number,
        "ic": number,
        "va": number,
        "vb": number,
        "vc": number,
        "freq": number
      }
    ]
  }
]

Facturas

Se obtienen todas las facturas correspondientes del usuario según fechas establecidas y/o proyecto.

Facturas de usuario

Devuelve las facturas generadas para un usuario.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
From (Opcional) Fecha desde la que se hace la búsqueda
To (Opcional) Fecha hasta la que se hace la búsqueda
Page (Opcional) Página de los resultados obtenidos
GET
/bills/?page={pageNumber}

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

{
  "id_project": number,
  "project": string,
  "id_address": number,
  "address_identifier": string,
  "date": timestamp,
  "description": string,
  "payment_value": number,
  "consumption": number,
  "state": string
}

Notificaciones

Se obtienen las notificaciones de consumo y alarmas de los inversores.

Alarmas de generación

Devuelve las alarmas de generación de un usuario, con la posibilidad de filtrarlas por proyecto y/o por fechas. A su vez la información se encuentra paginada con un tamaño de 20 notificaciones, por lo que, si la cantidad de notificaciones que solicita es, por ejemplo, de 60 notificaciones, entonces se tendrán 3 páginas, cada una con 20 notificaciones; por defecto, retorna la página 1, junto con el valor de la página siguiente, y el número total de páginas (se puede asignar el número de página a retornar como parámetro).

NOTA: El parámetro page se envía desde la URL de la petición, y el resto de los parámetros desde el Body.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
Id_addresses (Opcional) Lista de identificadores de las ubicaciones
From (Opcional) Fecha desde la que se hace la búsqueda
To (Opcional) Fecha hasta la que se hace la búsqueda
Page (Opcional) Página de los resultados obtenidos
Elemento de la Respuesta Descripción
nextPage Número de la página siguiente
maxPage Número de la última página
total Cantidad total de notificaciones
id_project Identificador del proyecto
project Nombre del proyecto
date Fecha de la alarma en formato ISO
data Alarma de generación
address_identifier Nombre identificador del proyecto
status Estado de la alarma
elapsed_time Tiempo transcurrido en formato ISO
id_project Identificador del proyecto
project Nombre del proyecto
GET
/notifications/alarms/?page={pageNumber}

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

{
  "nextPage": number,
  "maxPage": number,
  "total": number,
  "data": [
    {
      "address_identifier": string,
      "status": boolean,
      "elapsed_time": string,
      "id_project": number,
      "project": string,
      "date": timestamp,
      "data": string
    }
  ]
}

Notificaciones de consumo

Retorna las notificaciones referentes al consumo asociadas a un usuario, con la posibilidad de filtrarlas por proyecto y/o por fechas. A su vez la información se encuentra paginada con un tamaño de 20 notificaciones, por lo que, si la cantidad de notificaciones que solicita es, por ejemplo, de 60 notificaciones, entonces se tendrán 3 páginas, cada una con 20 notificaciones; por defecto, retorna la página 1, junto con el valor de la página siguiente, y el número total de páginas (se puede asignar el número de página a retornar como parámetro).

NOTA: El parámetro page se envía desde la URL de la petición, y el resto de los parámetros desde el Body.

Propiedad de la petición Descripción Tipo de dato Requerido
Id_project (Opcional) Identificador del proyecto Integer No
From (Opcional) Fecha desde la que se hace la búsqueda en formato ISO String No
To (Opcional) Fecha hasta la que se hace la búsqueda en formato ISO String No
page (Opcional) Página de los resultados obtenidos Integer No
Elemento de la Respuesta Descripción
nextPage Número de la página siguiente
maxPage Número de la última página
total Cantidad total de notificaciones
id_project Identificador del proyecto
project Nombre del proyecto
date Fecha de la notificación en formato ISO
data Notificación de consumo
GET
/notifications/alarms/?page={pageNumber}

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

{
  "nextPage": number,
  "maxPage": number,
  "total": number,
  "data": [
    {
      "id_project": number,
      "project": string,
      "date": timestamp,
      "data": string
    }
  ]
}

Reglas

Se obtienen todas las reglas se configuran desde la plataforma.

Reglas actuales

Devuelve las reglas activas.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
From (Opcional) Fecha desde la que se hace la búsqueda
To (Opcional) Fecha hasta la que se hace la búsqueda
Page (Opcional) Página de los resultados obtenidos
GET
/rules/?page={pageNumber}

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

{
  "id_alarm": number,
  "project": string,
  "creation_date": timestamp,
  "property_name": string,
  "rule_interval": string,
  "rule_name": string,
  "limit_value": number,
  "monday": boolean,
  "tuesday": boolean,
  "wednesday": boolean,
  "thursday": boolean,
  "friday": boolean,
  "saturday": boolean,
  "sunday": boolean,
  "active": boolean
}

Reglas historicas

Devuelve el histórico de reglas que se han cumplido.

Propiedad Descripción
Id_project (Opcional) Identificador del proyecto
From (Opcional) Fecha desde la que se hace la búsqueda
To (Opcional) Fecha hasta la que se hace la búsqueda
Page (Opcional) Página de los resultados obtenidos
GET
/rules/history/?page={pageNumber}

Ejemplo del cuerpo de la petición

{
  "Id_project": 41,
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo de la respuesta

{
  "data": [
        {
            "Id_alarm": number,
            "project": string,
            "property_name": string,
            "rule_interval": string,
            "rule_name": string,
            "limit_value": number,
            "data": [
                {
                    "date": timestamp,
                    "value": number
                }
            ]
        }
    ]
}