Una API (Interfaz de programación de aplicaciones) es un conjunto de métodos, reglas y funciones que se pueden utilizar para ejecutar una parte particular del código. Cuando llamamos a cualquiera de las funciones de solicitud de API, proporcionamos algunos datos como entrada y recibimos otros datos como salida. Esto puede ser un cambio de programa realizado o una lista de datos recibidos.
Puedes usar la API para realizar operaciones rutinarias, recuperar datos almacenados en programas o hacer cambios en ellos. También puedes usar la API para integraciones, escribir scripts, cambios masivos y más.
Los productos del ecosistema ISPsystem tienen una API abierta. Puedes usar la API o configurar integraciones en BILLmanager, VMmanager, DCImanager, IPmanager y DNSmanager para gestionar tus tareas.
En este artículo, hablaremos sobre las características de la API dentro de nuestros productos.
API en los productos ISPsystem y enlaces útiles
Para los productos que tienen COREmanager como marco, como BILLmanager, DNSmanager e IPmanager, así como toda la quinta generación de otras plataformas, consulta el diagrama de flujo de trabajo de la API y la documentación en nuestro sitio web. Describe métodos de autorización, formatos de salida de datos, información sobre cómo trabajar con nuestra API usando los lenguajes de programación Python, PHP, perl y mucha otra información útil.
Para facilitar la escritura de scripts bash, puedes usar la utilidad mgrctl. Te permite llamar a la función de API requerida directamente desde la línea de comandos. Información detallada sobre su uso y ejemplos de scripts simples están disponibles en nuestro sitio web en la sección de documentación.
Para estos productos es posible crear solicitudes de API a través del registro, consulta la documentación para más detalles.
Ahora veamos cómo trabajar con la API en las versiones actuales de otros productos del ecosistema ISPsystem.
Hemos dedicado varias secciones de la documentación a VMmanager 6:
Descripción del principio de funcionamiento.
Ejemplos de uso.
Instrucciones para trabajar con Swagger — un conjunto de herramientas para la especificación y descripción automática de la API basada en su código.
Secciones similares están disponibles para DCImanager 6:
Descripción de la operación.
Ejemplos de uso.
Pero para usar efectivamente la API en la sexta generación de las plataformas VMmanager y DCImanager, necesitarás aprender más sobre el protocolo HTTP y sus métodos.
El protocolo HTTP y sus métodos. Formatos de datos
HTTP (Protocolo de transferencia de hipertexto) es un conjunto de reglas de capa de aplicación para transferir datos. La mayoría de las transferencias HTTP involucran al Cliente (el que envía la solicitud) y al Servidor (el que envía la respuesta). En algunos casos hay un tercer participante, el Servidor Proxy, como intermediario.
Para hacer una solicitud HTTP típica, necesitarás especificar lo siguiente:
- URL (dominio, dirección del servidor).
- Método (el tipo de solicitud o, en otras palabras, la acción a realizar).
- Lista de encabezados (describe el cuerpo del mensaje, es decir, los parámetros que se transmiten).
- El cuerpo (los valores de los parámetros mismos requeridos para la transferencia).
Más información sobre HTTP se puede encontrar en
VMmanager 6 y DCImanager 6 admiten los métodos GET, POST y DELETE:
- El método Get se utiliza para solicitar el contenido del recurso especificado.
- El método POST se utiliza para enviar datos del usuario a un recurso dado.
- El método DELETE elimina el recurso especificado.
Solo se utilizan los métodos GET y POST para los productos con el marco COREmanager.
Una solicitud POST se envía en el formato
El resultado obtenido después de ejecutar la función con los productos basados en COREmanager puede estar en formato XML, formato de texto, así como JSON. Para establecer el formato en el que deseas recibir los datos, debes especificar el parámetro out=format_name.
Posibles valores del parámetro out:
- xml - los datos se devolverán en formato XML (los datos se proporcionan sin paginación ni filtro);
- devel - igual que XML, pero el documento contendrá datos que describen la interfaz de usuario (útil para depurar tus plugins);
- text - datos en formato de texto (proporcionados sin paginación ni filtro);
- sjson - datos en formato JSON;
- json - igual que sjson, solo que Pretty Print (útil para depuración);
- JSONdata - igual que JSON, pero sin descripciones de interfaz, solo datos (proporcionados sin paginación ni filtro);
- xjson - similar al formato de salida predeterminado (html) solo en formato JSON (recomendado para crear tus propios temas de diseño);
- print - html imprimible, solo funciona para listas de datos;
- xxxx - puedes crear tu propio formato de salida si no estás satisfecho con ninguno de los anteriores.
Si falta el parámetro out, se asume que los datos son para el navegador y se convierten a html.
Los productos de la versión 6 solo pueden enviar una respuesta en formato JSON.
Ventajas de la API
La API es una herramienta seria y poderosa que no requiere conocimientos profundos en programación, pero es útil para resolver problemas cotidianos automatizándolos.
La API también se puede integrar fácilmente en tu código en cualquier lenguaje de programación. Una solicitud de API se puede usar como una unidad independiente.
El conjunto de funciones y sus parámetros (valores que se pueden transferir como entrada) es diferente para cada plataforma. Al consultar la documentación, puedes configurar integraciones entre diferentes productos y software, así como escribir diferentes consultas para recuperar los datos necesarios.