Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción general de la API RESTful

La arquitectura 100 % API de Juniper Mist respalda todas las características visibles del portal de Juniper Mist. Cualquier cosa que pueda hacer en el portal, la puede automatizar a escala mediante la API. La transferencia de estado representacional (REST) es una arquitectura cliente/servidor sin estado con una interfaz uniforme. Dado que las máquinas no tienen uso para una interfaz de usuario, las API permiten una forma definida y más rápida para que las máquinas se comuniquen entre sí. Las API también le permiten a usted y a otros usuarios crear su propia forma de interactuar con sistemas y aplicaciones. Incluso puede crear características personalizadas.

La API de Juniper Mist está disponible para cualquier cliente que tenga una cuenta de Juniper Mist.

Consulte también la Referencia de la API de Mist. Esto contiene documentación adicional para desarrolladores, así como la capacidad de probar las llamadas a la API.

Arquitectura de la API de Juniper Mist

Juniper Mist usa API de REST, que utilizan métodos HTTP (GET, POST, PUT y DELETE) para transferir datos en formato de notación de objetos JavaScript (JSON).

Solicitudes de API RESTful

El uso de API RESTful sigue una práctica similar a la metodología CRUD (CREATE, READ, UPDATE, DELETE) utilizada en el desarrollo. Estas son las cuatro acciones o funciones básicas utilizadas cuando se trabaja con datos.

Tabla 1: Acciones básicas de CRUD
CRUD HTTP/REST
Crear EXPONER
Leer OBTENER
Actualizar PONER
Borrar BORRAR

Formato de URL de punto de conexión de API

La URL del punto de enlace de la API tiene dos partes:

  • Host de API ( o punto de conexión): el punto de conexión para la región global a la que está asociada su organización de Juniper Mist. Estos puntos de enlace se enumeran en Puntos de conexión de API y Regiones globales.

  • Función: todo lo que esté después del punto de conexión de la API representa la función a la que llamará la API.

Ejemplo

https://{api-host}/api/v1/sites/{site_id}/stats/devices/{device_id}.

https://api.mist.com/api/v1/sites/13b0ee00-121a-456e-84e0-ead3008bc2f2/stats/devices/00000000-0000-0000-1000-d420b08532eb

Nota:

Cuando reutilice bloques de código, reemplace los valores de marcador de posición por valores reales, como el token de API, el ID de organización, el ID de sitio, el nombre de AP, etc.

Todo después de {api-host} es la función. La llamada va a la nube global y solicita las estadísticas para el dispositivo especificado en el sitio especificado.

En la siguiente sección se analiza en profundidad la estructura que constituye una llamada a la API.

Estructura de llamadas a la API

La siguiente imagen es un ejemplo de una llamada a la API y los diferentes componentes que la componen.

Tabla 2: Componentes de llamadas a la API

Componente de llamada a la API

Descripción

HTTP (método)

  • POST: crea un objeto.: POST sobrescribe los valores existentes con los contenidos en la carga. Los valores que no se especifican en la carga POST se revierten a sus valores originales.

  • GET: enumera objetos.: GET devuelve el valor de un recurso o una lista de recursos, dependiendo de si se especifica un identificador.

    • GET /api/v1/orgs/:org_id/site

      Devuelve una lista de sitios que pertenecen a : org_id.

    • GET /api/v1/sites/:site_id

      devuelve información sobre el sitio especificado por :site_id.

  • PUT: actualiza un objeto.—PUT modifica todos los valores especificados en la carga. Cuando se actualiza con un PUT, los valores simples (cadenas o números) no especificados en la carga útil mantienen sus valores existentes. Si el valor contiene una estructura de datos como una matriz o un objeto, los valores incluidos en la carga reemplazarán esa estructura en su totalidad. Tenga esto en cuenta para evitar cambios no deseados en los valores existentes.

  • DELETE: elimina un objeto.—DELETE elimina un recurso.

Host (o punto de conexión de API)

Determina la nube de Mist que se va a utilizar (Global 01, EMEA 01, etc.). El punto de conexión para la región global a la que está asociada su organización de Juniper Mist. Consulte Puntos de conexión de API y regiones globales.

Versión

La versión de la API que se va a usar (actualmente, todas las API usan v1).

Alcance

Indica el nivel en el que se realiza la solicitud. Algunos ejemplos son msp, org, site, self, register, installer, const, etc.

ID de alcance

Identifica el ámbito que se va a utilizar.

Objeto

Tipo de objeto que se va a utilizar (dispositivo, WLAN, etc.).

ID de objeto

Identifica el objeto que se va a solicitar.

Para ejecutar cualquiera de los comandos REST anteriores (POST, GET, PUT, DELETE) en la API REST, debe cumplir algunos requisitos en cada solicitud, como:

  • Autenticación:

    • Puede usar un token de API, credenciales de inicio de sesión de Juniper Mist o un proveedor OAuth2 externo para indicar quién es usted y a qué tiene acceso durante el proceso de autenticación.

    • Para obtener más información sobre los distintos métodos de autenticación, consulte Autenticación.

      Nota:

      Si ya ha iniciado sesión en manage.mist.com, simplemente puede abrir una nueva pestaña del navegador e ir a https://api.mist.com/api/v1/self/apitokens y hacer clic en el botón PUBLICAR . Esto creará automáticamente un nuevo token de usuario de API.

      Consulte Crear tokens de API para obtener más información acerca de los tokens.

  • Encabezado HTTP: este encabezado especifica el contenido y el tipo de autorización, de la siguiente manera:

    • Para Juniper Mist, el tipo de contenido siempre es application/json.

    • La autorización puede ser un token o una cookie (incluido el token CSRF y el ID de sesión).

  • El punto de conexión para la región global a la que está asociada su organización de Juniper Mist. Consulte Puntos de conexión de API y regiones globales.

  • Carga JSON

En la tabla siguiente se proporcionan ejemplos de las distintas partes que componen una solicitud de API RESTful.

Tabla 3: Ejemplos de solicitudes de API RESTful

Operación CRUD

Autenticación de encabezado HTTP

URL del punto de conexión

Carga útil (JSON)

OBTENER

API Token

https://api.mist.com/api/v1/sites/:site_id/wlans

 

BORRAR

Token CSRF, ID de sesión

https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id

 

EXPONER

Token CSRF, ID de sesión

https://api.mist.com/api/v1/orgs/:org_id/inventory

{["<claim_code>"]}

PONER

API Token

https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id

{"ssid" : "nuevo nombre"}

Carga JSON

Diferentes funciones requieren diferentes elementos en la carga JSON. Puede ver los detalles necesarios en la documentación de la API.

A continuación se muestra un ejemplo de llamada a la API y la respuesta (carga JSON).

Llamada a la API:

Respuesta (carga JSON):

Limitación de la velocidad de API

Juniper Mist limita las llamadas a la API a 5.000 por hora. Si necesita hacer más de 5,000 llamadas por hora, cree un ticket de soporte.

Nota:

Para evitar ataques de fuerza bruta, la API de inicio de sesión (/api/v1/login) tiene una velocidad limitada después de tres errores de inicio de sesión.

Opciones de autenticación de API

La API de Juniper Mist permite tres opciones para solicitar autenticación:

  • Autenticación básica: token

    • Asegúrelo como una contraseña.

    • Para obtener instrucciones sobre cómo crear un token de API, consulte Crear tokens de API.

  • Inicio de sesión HTTP: nombre de usuario y contraseña

    • Es como un inicio de sesión en el tablero.

    • Puede ser autenticación de dos factores.

  • OAuth2

    • La cuenta debe estar vinculada a un proveedor de OAuth.

    • Requiere acceso al navegador.

Para obtener más información acerca de la autenticación, consulte la Referencia de la API de Mist.

Un ejemplo de API simple

La interfaz de la API de Django es una interfaz basada en web donde puede realizar operaciones CRUD dentro de la API. Consulte Usar la interfaz web de Django para realizar cambios en la API.

Con la interfaz de la API de Django, puede realizar su primera llamada a la API. Después de iniciar sesión en Mist, abra una nueva ventana con el mismo navegador e introduzca la URL https://api.mist.com/api/v1/self. Esta es la URL de la nube Global 01. Si está utilizando otra nube, esta URL será diferente.

Esto equivale a realizar esta llamada GET /api/v1/selfa la API.

El resultado, que se muestra arriba, muestra los privilegios que se le han asignado para las organizaciones y los sitios con los que está asociado.