Nuestra API

Bienvenido a la API de NEU, desde acá podrás tener acceso a los datos relacionados con tu cuenta, para 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 servicios asociados a la cuenta, además de obtener individualmente tanto un servicio específico, como cada uno de los servicios que pertenecen al usuario.

Obtener cuentas

Lista las cuentas que están asociados al cliente, además se puede obtener una cuenta específica ingresando el id de esta.

Propiedad Descripción
id (opcional) Identificador de la cuenta
GET
/info/accounts/{id}

Ejemplo de respuesta

[
  {
    "id_account": number,
    "account_category": string,
    "account_name": string,
    "services": [
      {
        "id_service": number,
        "type_service": string,
        "name": string,
        "address": string
      }
    ]
  }
]

Obtener servicio

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

Propiedad Descripción
id (opcional) Identificador del servicio
GET
/info/services/{id}

Ejemplo de la respuesta

{
    "id_service": number,
    "id_account": number,
    "account_name": string,
    "type_service": string,
    "name": string,
    "address": string
}

Obtener pqrs

Devuelve los pqrs que el usuario ha generado en determinado rango de tiempo.

Propiedad Descripción
From (Opcional) Fecha desde la que se hace la búsqueda en formato ISO.
To (Opcional) Fecha hasta la que se hace la búsqueda en formato ISO.
Elemento de la Respuesta Descripción
message Cuerpo de la pqrs
category Categoría del área de influencia de la pqrs
type Tipo de la pqrs
date Fecha de radicación de la pqrs
POST
/info/pqrs

Ejemplo del cuerpo de la petición

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

Ejemplo de la respuesta

{
  "message": string,
  "category": string,
  "type": string,
  "date": timestamp,
}

Datos

Se obtienen todos los datos de consumo

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_account específico, o mediante uno o varios Id_services en un formato de lista.

Propiedad de la petición Descripción Tipo de dato
Id_account (Opcional) Identificador de la cuenta. Integer
Id_services (Opcional) Lista de identificadores de los services. Array integer
Interval Indica el nivel de detalle de los datos en términos de tiempo (HOURLY, DAILY, MONTHLY). String
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_account Identificador de la cuenta. N/A
account_name Nombre de la cuenta. N/A
id_service Identificador del servicio. N/A
is_backup Indica si es medidor de respaldo. N/A
name Nombre del servicio. N/A
date Fecha en formato ISO. N/A
cons Consumo. kWh
injec Excedentes. kWh
reactive_in Reactiva inductiva. kVArh
reactive_in_ex Reactiva inductiva en exceso. kVArh
reactive_cap Reactiva capacitiva. kVArh
reactive_ex Reactiva en exceso. kVArh
imported_active_acum Energía activa importada acumulada. kWh
imported_reactive_acum Energía reactiva importada acumulada. kVArh
exported_active_acum Energía activa exportada acumulada. kWh
exported_reactive_acum Energía reactiva exportada acumulada. kVArh
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
POST
/data/consumption

Ejemplo del cuerpo de la petición mediante Id_account.

{
  "Id_account": 41,
  "Interval": "DAILY",
  "From": "2021-04-01T00:00:00",
  "To": "2021-11-01T00:00:00"
}

Ejemplo del cuerpo de la petición mediante Id_services.

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

Estructura de la respuesta

[
  {
    "id_account": number,
    "account_name": string,
    "data": [
      {
        "id_service": number,
        "name": string,
        "is_backup": boolean,
        "date": timestamp,
        "cons": number,
        "injec": number,
        "reactive_in": number,
        "reactive_in_ex": number,
        "reactive_cap": number,
        "reactive_ex": number,
        "imported_active_acum": number,
        "imported_reactive_acum": number,
        "exported_active_acum": number,
        "exported_reactive_acum": number,
        "ia": number,
        "ib": number,
        "ic": number,
        "va": number,
        "vb": number,
        "vc": 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_service (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
POST
/bills/?page={pageNumber}

Ejemplo del cuerpo de la petición

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

Ejemplo de la respuesta

{
  "id_service": number,
  "id_account": number,
  "account": string,
  "service": string,
  "date": timestamp without time zone,
  "date_expiration": timestamp without time zone,
  "date_payment": timestamp without time zone,
  "platform_payments": {
    "date": timestamp without time zone,
    "method": string,
    "payment_Value": number
  },
  "concepts": [
      {
        "concept": string,
        "quantity": number,
        "unit_value": number,
        "total": number,
        "asic_code": string
      }
  ],
  "id_bill": number,
  "niu": string,
  "contract": string,
  "consumption": number,
  "payment_value": number,
  "description": string,
  "state": string
}

Fecha de pago de la factura

Devuelve la fecha de pago oportuno de las facturas de un usuario.

Propiedad Descripción
Id_service (Opcional) Identificador del proyecto
From (Opcional) Fecha desde la que se hace la búsqueda en formato ISO.
To (Opcional) Fecha hasta la que se hace la búsqueda en formato ISO.
PageNumber (Opcional) Página de los resultados obtenidos
Elemento de la Respuesta Descripción
service Nombre del servicio
id_bill Referencia de pago de la factura
id_service Identificador del servicio
date_expiration Fecha de pago de la factura
POST
/bills/paydate/?page={PageNumber}

Ejemplo del cuerpo de la petición

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

Ejemplo de la respuesta

{
  "nextPage": number,
  "maxPage": number,
  "total": number,
  "service": string,  
  "id_bill": number,
  "id_service": number,
  "date_expiration": timestamp without time zone
}

Dias de mora de la factura

Devuelve los días de mora de las facturas de un usuario.

Elemento de la Respuesta Descripción
id_bill Referencia de pago de la factura
due_date Fecha del vencimiento del pago de la factura
days Días de mora en el pago de la factura
GET
/bills/overdue

Ejemplo de la respuesta

{  
  "id_bill": string,  
  "due_date": timestamp without time zone,  
  "days": number  
}

Notificaciones

Se obtienen las notificaciones por usuario.

Notificaciones

Retorna las notificaciones referentes al consumo asociadas a un usuario, con la posibilidad de filtrarlas 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
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
PageNumber (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
date Fecha de la notificación en formato ISO
title Titulo de la notificación
text Texto de la notificación
read indica si la notificación fue leida
POST
/notifications/?page={PageNumber}

Ejemplo del cuerpo de la petición

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

Ejemplo de la respuesta

{
  "nextPage": number,
  "maxPage": number,
  "total": number,
  "data": [
    {
      "date": timestamp,
      "title": string,
      "text": string,
      "read": bool
    }
  ]
}

Notificaciones leídas

Retorna las notificaciones referentes al consumo con las que interactúa un usuario.

Propiedad Descripción
From (Opcional) Fecha desde la que se hace la búsqueda en formato ISO.
To (Opcional) Fecha hasta la que se hace la búsqueda en formato ISO.
PageNumber (Opcional) Página de los resultados obtenidos
Elemento de la Respuesta Descripción
name Nombre y apellido del usuario
interaction_date Fecha de interacción con la notificación
date Fecha de la notificación en formato ISO
title Titulo de la notificación
text Texto de la notificación
read indica si la notificación fue leida
POST
/notifications/interactions/?page={PageNumber}

Ejemplo del cuerpo de la petición

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

Ejemplo de la respuesta

{
  "nextPage": number,
  "maxPage": number,
  "total": number,
  "data": [
    {
      "interaction_date": timestamp,
      "date": timestamp,
      "title": string,
      "text": string,
      "read": bool
    }
  ]    
}

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
PageNumber (Opcional) Página de los resultados obtenidos
POST
/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
PageNumber (Opcional) Página de los resultados obtenidos
POST
/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
                }
            ]
        }
    ]
}

Neugets

Se obtienen la cantidad y uso de los neugets por cuenta.

Neugets por cuenta

Identifica las transacciones de neugets.

Elemento de la Respuesta Descripción
id_account Id de la cuenta
date Fecha de los neugets en formato ISO
value Número de neugets
Propiedad Descripción
id Identificador de la cuenta
GET
/neugets/{id}

Ejemplo de la respuesta

{  
  "id_account": integer,  
  "date": timestamp,  
  "value": number  
}

Neugets redimidos por la cuenta

Neugets usados por cada cuenta al pagar su factura.

Elemento de la Respuesta Descripción
id_account Id de la cuenta
id_bill Identificador de la factura
date Fecha de pago de la factura
value Número de neugets usados para el pago de la factura
Propiedad Descripción
id Identificador de la cuenta
GET
/neugets/redeemed/{id}

Ejemplo de la respuesta

{  
  "id_account": integer,
  "id_bill": number,  
  "date": timestamp,  
  "value": number
}