Introducción al API

CNM incluye un API (Application Programming Interface) que permite a los programadores integrar sus datos en aplicaciones de terceros de forma sencilla. 

Se basa en servicios WEB de tipo REST (Representational State Transfer) sobre protocolo HTTPS.

Esto significa que utiliza los "verbos" GET, POST, PUT y DELETE definidos en dicho protocolo para implementar las diferentes acciones:

  • GET: Permite obtener información
  • POST: Permite crear un recurso
  • PUT: Permite actualizar un recurso
  • DELETE: Permite eliminar un recurso (1)

(1) En este momento sólo se soportan las peticiones de tipo GET, POST y PUT.

Esto permite interactuar con CNM desde un navegador, un terminal o un programa además de obtener datos de monitorización de forma automática.

Los datos devueltos por el API están codificados en JSON por su sencillez y por ser más compacto que otras alternativas como XML. Por otra parte, el manejo de errores se debe hacer a partir de los códigos de retorno del protocolo HTTP.

Los ejemplos que aparecen en esta documentación utilizan el programa curl que funciona sobre Unix o Windows, pero se podría haber utilizado cualquier otro programa que permita obtener datos mediante protocolo https como wget, programas orientados a interactuar con APIS tipo Postman o un código desarrollado en cualquier lenguaje de programación.

A lo largo de la documentación se detallan los diferentes "endpoints" o métodos proporcionados.

 

ACCESO

El acceso es exclusivamente por SSL, desde una URL con el siguiente aspecto:

https://localhost/onm/api/1.0/endpoint.json

Los "endpoints" se corresponden con los métodos disponibles y se detallan en la documentación.

 

AUTENTICACIÓN

Está basada en el uso de un token de acceso en cada petición que se incluye dentro de la cabecera HTTPAuthentication.

Dicho token se obtiene a través del "endpoint":

GET auth/token.json

curl -ki "https://localhost/onm/api/1.0/auth/token.json?u=admin&p=cnm123"

Y se debe incuir de la siguiente forma:

Authorization: 854b5c0254572b995b3e96d8a05e31b9

 

ENDPOINTS DISPONIBLES


Actualmente están disponibles los siguientes "endpoints":

  • devices
  • metrics
  • views
  • alerts
  • tickets
  • views
  • profiles
  • users
  • backup
  • embed/metric_graph