Generalidades de la interfaz de programación de aplicaciones (API)

Si ves que alguna de las instrucciones de este artículo no funciona como se esperaba, es posible que esté desactualizada. En caso de duda, por favor comunícate con el soporte para obtener más ayuda.

¿Qué es un API?

Una Interfaz de programación de aplicaciones (API) es una interfaz de código fuente que proporciona  un sistema informático o una biblioteca de programas para respaldar las solicitudes de servicios que debe realizar un programa informático. Una API se diferencia de una interfaz binaria de aplicación en que se especifica en términos de un lenguaje de programación que se puede compilar cuando se crea una aplicación, en lugar de una descripción explícita de bajo nivel de cómo se colocan los datos en la memoria.

Se dice que el software que proporciona la funcionalidad descrita por una API es una implementación de API. La API en sí es abstracta, ya que especifica una interfaz y no se involucra con los detalles de implementación.

Un buen ejemplo de API sería una interfaz de servicio web, como la API proporcionada por Google para su servicio de mapas.

¿DreamHost tiene un API?

Sí.

¿Cómo funciona el API de DreamHost?

El API de DreamHost está disponible en una interfaz "plana" simple, ¡que es fácil de usar!

Todo lo que tiene que hacer es visitar ("GET" o "POST" a) una URL simple (mediante programación o incluso solo con un navegador web), y el resultado se devuelve como texto sin formato delimitado por tabuladores (u otros formatos si lo deseas) .

Esta simple URL es:

https://api.dreamhost.com/

Y el resultado de texto sin formato es algo como:

error
no_key

O posiblemente:

success
added_web

¿Qué valores de API usa DreamHost?

Required

key
Una llave de API que necesitas generar a través del panel web.

Para que una subcuenta pueda crear una clave API, se debe otorgar' Permisos de Cuenta de Facturación.

Por favor nota que si una subcuenta crea una llave API, solo será visible en la subcuenta de la página del panel de la Llave API El propietario de la cuenta principal no podrá ver la clave API de la subcuenta en su panel.

cmd
El comando que te gustaría correr. Cuando creas tu clave, eliges a qué comando(s) puede acceder.
unique_id
Puedes pasar un nuevo unique_id (longitud máxima: 64 caracteres) cuando envías una solicitud, para asegurarte de no enviar accidentalmente el mismo comando dos veces. Ten en cuenta que solo las consultas correctas "utilizan" un unique_id. DreamHost recomienda usar UUIDs para este propósito si lo deseas. El unique_id que usas solo se aplica a tu clave de API específica, por lo que nunca tendrás que preocuparte por otros usuarios que ya estén "usando" un unique_id específico.

Los comandos individuales pueden tener valores obligatorios adicionales.

Opcional

format
El formato en el que deseas recibir la salida en formatos válidos son:
account
El número de cuenta para realizar operaciones. El valor por defecto es tu propia cuenta, o la primera cuenta a la que tienes acceso de otra manera.

Implementación de notas

Sensibilidad a mayúsculas y minúsculas

Todos los nombres de parameter distinguen entre mayúsculas y minúsculas y deben estar en minúsculas. sin embargo, los values que envías al servidor generalmente no distingue entre mayúsculas y minúsculas.

Límite de tarifa

Para garantizar que los sistemas DreamHost permanezcan estables y con capacidad de respuesta, se ha limitado la velocidad a la que el mismo usuario puede ejecutar ciertos comandos de API o grupos de comandos de API. Estos límites son relativamente generosos y muy pocos usuarios se topan con ellos. Los límites generalmente se establecen por hora o por día, aunque algunos comandos pueden tener límites en períodos de tiempo más cortos, como 10 minutos. Cuando las llamadas a API fallan por cualquier motivo (por ejemplo, si intentaste crear un usuario que ya existía), no cuenta más allá de sus límites (ten en cuenta que esto también significa que fallar porque excediste el límite de velocidad tampoco cuenta). Cuando te encuentras con un límite, el error devuelto es:

error
slow_down_bucko (información detallada sobre el tipo de límite alcanzado después de una pestaña)

Si te encuentras con este error, debes considerar las formas en que podrías reducir la frecuencia con la que llama al API. Lo más probable es que solo te encuentres con estos límites si tiene un script o un programa automatizado que se repite para realizar llamadas a la API repetidamente. Por lo tanto, puedes simplemente reducir la velocidad a la que se corre tu script o asegurarte de que realiza un seguimiento de cuántos comandos ha emitido en la última hora/día.

Cuenta de Prueba

Si deseas probar el API de DreamHost sin tener tu propia cuenta, puedes utilizar la siguiente clave de API:

6SHU5P2HLDAYECUM

Esta cuenta solo tiene acceso a las funciones "list" sin embargo (y solamente user-list_users_no_pw, no user-list_users) , también dreamhost_ps-set_size, dreamhost_ps-set_settings, y dreamhost_ps-reboot a ps7093.

Un ejemplo

https://api.dreamhost.com/?key=6SHU5P2HLDAYECUM&cmd=user-list_users_no_pw&unique_id=4082432&format=perl

Si estás escribiendo un script bash simple para interactuar con la API de DreamHost, esto puede ayudar como un comienzo:

#!/bin/sh
####
#### USE THIS SCRIPT AT YOUR OWN RISK.  
####

PS=$1

KEY=YOUR-KEY-HERE
UUID=`uuidgen`
CMD=user-list_users_no_pw
 
if [ $# -lt 1 ]; then
 	echo "usage: `basename $0` [hostname]" 
	exit 1
fi

if [ "$PS" = "" ]; then
	PS=`hostname | cut -f1 -d.`
fi 

# ARGS='other_http_get_arguments_for_the_DreamHost_cmd_that_you_are_using=4&foo=123'
LINK="https://api.dreamhost.com/?key=$KEY&unique_id=$UUID&cmd=$CMD&ps=$PS&$ARGS"

RESPONSE=`wget -O- -q "$LINK"`

echo "$LINK"
echo "$RESPONSE"
if ! (echo $RESPONSE | grep -q 'success'); then
	exit 1
fi

# Now use the content of $RESPONSE to do whatever you wish.
#
# Rinse, lather, repeat.

Lista de módulos de API

Los comandos del API se agrupan en módulos. Todos los comandos de un módulo comenzarán con module_name-

Se puede encontrar información detallada sobre los comandos de la API, como los valores que necesita enviar y el formato de los resultados, en la página de documentación de cada módulo, que se enumeran en la sección Ver también de abajo.

¿Podrías hacer que X funcionalidad sea accesible vía API?

El objetivo de la API es hacer que las tareas que una persona quiera hacer a menudo estén disponibles a través de una interfaz de programación — no para facilitar la reventa de servicios a varias personas. Así es como DreamHost decide si una determinada característica debe incorporarse a la API.

¿Qué tipo de aplicaciones usa API?

Una lista corta puede ser encontrada en Aplicaciones de API.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?