Parte 3: Extienda su alcance
En la Parte 3 del tutorial, utilizará la creación de scripts de Robots con la biblioteca Requests de Python para conectarse a la API de HighBond. También puede conectarse a dos API de diferentes desarrolladores: una que devuelve las fechas de los días festivos y otra que devuelve las tasas de cambio de moneda.
La biblioteca de Solicitudes es un componente de Python que le permite utilizar Python para enviar solicitudes a la API y recibir respuestas. Puede utilizarla para interactuar con cualquier API REST.
Nota
Debe haber creado el robot en la Parte 1 y el script en la Parte 2 antes de poder completar la sección inicial de la Parte 3. Para la última sección de la Parte 3 (uso de Python con API de otros desarrolladores) no existe ningún prerrequisito.
¿Qué aprenderé?
Aprenderá cómo hacer lo siguiente:
-
usar la biblioteca Requests de Python como una forma alternativa de hacer solicitudes a la API de HighBond
-
usar la biblioteca Requests de Python para interactuar con una API de otro desarrollador e introducir datos del mundo real en un script de Robots
Usar la biblioteca de solicitudes de Python con la API de HighBond
Comenzaremos por usar la biblioteca Requests de Python para replicar parte de lo que ya logró utilizando los métodos de HCL de la API de HighBond.
En general, recomendamos el uso de los métodos de HCL para interactuar con la API de HighBond porque el código necesario es más simple. En este caso, utilizaremos la biblioteca de Solicitudes por dos motivos:
-
Usted puede comenzar a aprender acerca de la biblioteca de Solicitudes en un contexto familiar antes de pasar al uso de las Solicitudes con una API de otros desarrolladores.
-
Si tiene experiencia con Python y las Solicitudes, es posible que prefiera continuar utilizando un enfoque que le resulta familiar.
Los métodos de HCL solo se pueden usar con la API de HighBond. Debe usar las Solicitudes para conectarse desde un script de Python/HCL a una API de otro desarrollador.
Recuperar el token de la API de HighBond y actualizar la variable de contraseña
Iniciar sesión en Diligent One
Si todavía no inició sesión en Diligent One, hágalo.
- Vaya a www.highbond.com.
- Escriba sus credenciales de Diligent One (correo electrónico y contraseña).
- Haga clic en Iniciar sesión.
- Si su empresa utiliza más de una instancia en Diligent One, asegúrese de que la instancia apropiada esté activa.
Recuperar su token de API de Diligent One
- En Launchpad, seleccione > Mi perfil.
- En la sección Tokens de la aplicación, haga clic en Administrar.
Se abre la página Administrar tokens API.
- En la columna Token, haga clic en el token que desee usar.
Consejo
Utilice la lista desplegable Todos los tipos para mostrar únicamente los tokens de la API de HighBond.
También puede crear un nuevo token si el token que utilizó antes ya no está disponible. Si desea obtener más información, consulte Crear un token de API de HighBond en Launchpad.
- Introduzca su contraseña de Diligent One y haga clic en Confirmar.
Su token aparece en un cuadro de diálogo.
- Haga clic en Copiar para copiar el token al portapapeles.
- Haga clic en el botón de cierre, en la esquina superior derecha del cuadro de diálogo.
Actualizar la variable de contraseña
-
Abra la aplicación Robots en una ficha independiente:
-
Haga clic en Cambiar aplicaciones .
-
Haga clic con el botón derecho en Robots y seleccione Abrir el enlace en una ficha nueva.
-
-
Vaya a la ficha del navegador en la cual está abierta la aplicación Robots.
-
Abra el robot que creó en la Parte 1 del tutorial.
-
En la esquina superior derecha del robot, haga clic en Desarrollo para cambiar al Modo desarrollo.
-
En la ficha Versiones del script, seleccione la versión más reciente del script y en el panel Detalles de la versión haga clic en Editar script.
El editor de scripts de Robots comienza el proceso de puesta en marcha.
-
En el editor de scripts de Robots, haga clic en Administrar variables .
-
En la ventana Variables, pegue el token de la API de HighBond desde el portapapeles en el campo Valor para la variable v_hb_token.
- Haga clic en Guardar y cerrar.
Resultado Se actualiza la variable y usted regresa al editor de scripts.
Nota
Como medida de seguridad, cada vez que salga del editor de scripts o lo actualice, el token de la API de HighBond se elimina automáticamente de la variable de contraseña. Si desea ejecutar un script que utilice la API de HighBond, debe volver a pegar un token válido en la variable cada vez que reabra o actualice el editor de scripts.
Si se olvida de realizar este paso, obtendrá un mensaje de error al ejecutar el script.
HTTPError: 401 Client Error: Unauthorized for url: <url>
Actualizar el script de Robots existente para utilizar las Solicitudes
No es necesario hacer grandes cambios en el script existente para poder usar las Solicitudes. Continuaremos usando los métodos de HCL en las celdas del script que buscan o crean una colección y un análisis de Resultados. Utilizaremos los métodos de las Solicitudes en la celda que busca o crea una tabla de Resultados.
En el script, realice todos los cambios que se indican en la siguiente tabla.
Nota
¿Logró recuperar el token de la API de HighBond y actualizar la variable de contraseña?
Si en algún momento obtiene un error de Python (un bloque de error rojo), consulte Resolución de problemas.
N°. de celda | Instrucciones |
---|---|
Celda 1 |
Importar los componentes necesarios En la celda 1, actualice el código para importar dos bibliotecas adicionales de Python:
|
Bloque de código para la celda 1
Al ejecutar esta celda, no hay una salida visible.
|
|
Celda 2 |
Definir las variables que se usan en el script
|
Celda 3 |
Buscar o crear una colección en Resultados
|
Celda 4 |
Buscar o crear un análisis en Resultados
|
Celda 5 |
Crear una tabla en Resultados En la celda 5, reemplace el código por el bloque de código que se incluye a continuación. Las solicitudes de la API se hacen con dos métodos de Python Requests:
Lea los comentarios del código para ver una explicación detallada de cómo está utilizando la biblioteca Requests de Python. |
Bloque de código para la celda 5
|
|
Celda 6 |
Realizar algunos análisis de datos
|
Celda 7 |
Guardar la salida del análisis de datos en la tabla de Resultados
|
Comprobar la nueva tabla en Resultados
Veamos la aplicación Resultados para confirmar que el uso de Python Requests para crear una nueva tabla fue exitoso.
-
Abra la aplicación Resultados en una ficha independiente:
-
Haga clic en Cambiar aplicaciones .
-
Haga clic con el botón derecho en Resultados y seleccione Abrir el enlace en una ficha nueva.
-
-
Vaya a la ficha del navegador en la cual está abierta la aplicación Resultados.
-
Abra la colección que creó en la Parte 2 del tutorial.
Resultado La tabla que acaba de crear usando la biblioteca de Solicitudes y la API de HighBond está presente, anidada dentro del análisis que creó en la Parte 2 del tutorial. La tabla contiene los resultados de la salida que acaba de guardar.
Nota
Según el nivel de uso actual de Resultados, es posible que haya cierto retraso en la aparición de los resultados de la salida en la tabla.
-
Si la opción Mostrar los identificadores de la tabla no está activada, actívela.
El identificador de la tabla se muestra a la izquierda del nombre de la tabla. Debe ser el mismo identificador que se creó y mostró al ejecutar la celda del script para crear la tabla.
-
Haga clic en el nombre de la tabla para abrirla.
Se muestran los resultados de la salida que guardó desde Robots a Resultados.
-
Regrese a la ficha del navegador en la cual está abierta la aplicación Robots.
Restaurar el nombre de tabla anterior
Si aún está ejecutando la tarea programada que creó en la Parte 2 del tutorial, es posible que desee restaurar el nombre de tabla anterior en el script.
En la celda 2, línea 16, actualice el nombre a Test table 2
, o al nombre que haya usado anteriormente:
v_table_name = f"Test table 2 ({current_month})"
Guardar el script y salir del editor de scripts
-
En Robots, en la barra de herramientas del editor de scripts, haga clic en Guardar y confirmar y enviar.
-
Escriba un mensaje de confirmación y envío, como Script actualizado para utilizar la biblioteca Requests de Python.
-
Haga clic en Confirmar y enviar para guardar, confirmar y enviar el script.
Aparecerá el mensaje El script se confirmó y envió correctamente.
-
En el encabezado de la página, haga clic en el nombre del robot (Robot del tutorial <sus iniciales>).
Resultado Regresa a la ficha Versiones del script del robot. Cada vez que guarda, confirma y envía un script, la versión guardada se agrega a esta ficha.
Usar la biblioteca Requests de Python con una API de otro desarrollador
Ya hemos visto la biblioteca Requests de Python en acción. Ahora, está preparado para dar el último paso de este tutorial: utilizar Robots, Python y Python Requests para interactuar con una API de otro desarrollador e introducir algunos datos del mundo real en un script de Robots.
Las API a las que nos conectaremos
Utilizaremos dos API disponibles públicamente para practicar la conexión:
-
Nager.Date: un depósito que contiene las fechas festivas por año, para más de 100 países
-
Open Exchange Rates: una API de datos de monedas que ofrece las tasas de cambio en dolares para 170 monedas
Autenticación
Al igual que la API de HighBond, la mayoría de las API públicas requieren que usted se autentique utilizando credenciales cada vez que envía una solicitud a la API. Nager.Date no requiere autenticación; por lo tanto, la utilizaremos primero como la opción más simple. Open Exchange Rates sí requiere autenticación. El proceso para crear una cuenta gratuita y obtener un token de autenticación es sencillo.
Crear un nuevo script de Robots para usar las Solicitudes
Creemos un nuevo robot con un nuevo script que contenga su práctica con Python Requests y las API de otros desarrolladores.
Iniciar sesión en Diligent One
Nota
Si ya inició sesión, y está en la aplicación Robots, vaya a Crear un nuevo robot.
- Vaya a www.highbond.com.
- Escriba sus credenciales de Diligent One (correo electrónico y contraseña).
- Haga clic en Iniciar sesión.
- Si su empresa utiliza más de una instancia en Diligent One, asegúrese de que la instancia apropiada esté activa.
- Abra la aplicación Robots.
Crear un nuevo robot
-
En el Tablero de mando de Robots, seleccione Robots HighBond y haga clic en Crear un robot HighBond.
-
Escriba un nombre para el robot, como Robot de práctica de la API <sus iniciales> y haga clic en Crear un robot HighBond.
Resultado El editor de scripts de Robots del nuevo robot comienza el proceso de puesta en marcha. No puede ejecutar un script, o una celda de un script, hasta que no se haya completado el proceso de puesta en marcha.
Conectarse a Nager.Date
Nos conectaremos a la API de Nager.Date y obtendremos las fechas y otra información relacionada para todos los días festivos de un año y un país específicos. A veces, necesita las fechas de los días festivos al realizar un análisis de los datos de las transacciones.
Conversión a un marco de datos de Pandas
Los datos se obtienen en formato JSON. Para que sea más fácil revisar los datos visualmente, los convertiremos del formato JSON a un marco de datos Pandas. Sin embargo, debe tener en cuenta que no es necesario convertir los datos obtenidos en un script a un marco de datos para poder utilizarlos. Según la lógica de un script, el uso de un marco de datos puede ser el mejor enfoque o no.
Agregar bloques de código al nuevo script
Copie y pegue cada bloque de código de la siguiente tabla en celdas independientes del editor de scripts.
Nota
Si en algún momento obtiene un error de Python (un bloque de error rojo), consulte Resolución de problemas.
N°. de celda | Instrucciones |
---|---|
Celda 1 |
Importar los componentes necesarios El código de la celda 1 importa dos bibliotecas de Python:
|
Bloque de código para la celda 1
Copie y pegue este bloque de código en la celda 1 del editor de scripts y después ejecute la celda. Al ejecutar esta celda, no hay una salida visible.
|
|
Celda 2 |
Hacer una solicitud de API En la celda 2, conéctese a la API Nager.Date y obtenga los días festivos del año y el país especificados. |
Bloque de código para la celda 2
|
Ejemplo de la respuesta de la API Nager.Date
Si no actualizó la solicitud GET, obtendrá todos los días festivos del año 2021 en los Estados Unidos. Además de la fecha real en la que cae el día festivo, obtendrá otra información útil, como qué jurisdicciones observan ese día festivo si no se trata de un feriado para todo el país.
Obtener más información
Actualice la solicitud GET (celda 2, línea 4) para obtener los días festivos de un año o un país diferente. Además del año en curso, puede obtener datos para años anteriores o posteriores.
Por ejemplo, esta solicitud GET obtiene los días festivos del año 2020 en Brasil:
response = requests.get("https://date.nager.at/api/v3/publicholidays/2020/BR")
Consejo
Consulte el sitio de Nager.Date para conocer los códigos de país admitidos.
Conectarse a Open Exchange Rates
A continuación, nos conectaremos a la API de Open Exchange Rates y obtendremos los últimos tipos de cambio para todas las monedas admitidas por la API. Es posible que necesite las tasas de cambio cuando realice un análisis de los datos financieros.
Open Exchange Rates devuelve tasas de cambio de un momento determinado y el origen se actualiza cada una hora.
Conversión a un marco de datos de Pandas
Los datos se obtienen en formato JSON. Para que sea más fácil revisar los datos visualmente, los convertiremos del formato JSON a un marco de datos Pandas. Sin embargo, debe tener en cuenta que no es necesario convertir los datos obtenidos en un script a un marco de datos para poder utilizarlos. Según la lógica de un script, el uso de un marco de datos puede ser el mejor enfoque o no.
Crear una cuenta gratuita en Open Exchange Rates
Primero, debe crear una cuenta gratuita en Open Exchange Rates y recuperar su token de autenticación.
-
Vaya a la página de registro de Open Exchange Rates para obtener una cuenta gratuita:
-
Siga las instrucciones que aparezcan en la pantalla para crear su cuenta.
-
Una vez que haya creado su cuenta, vaya a la página de identificadores de la aplicación y copie su identificador de la aplicación (token de autenticación).
Crear una variable de contraseña para el token de Open Exchange Rates
Antes de comenzar a crear el script, cree una variable de contraseña para el token de Open Exchange Rates.
-
En el editor de scripts de Robots, haga clic en Administrar variables .
-
En la ventana Variables, especifique los siguientes valores para crear la variable de contraseña:
Campo/opción Valor Nombre Especifique
v_oxr_token
.A diferencia de
v_hb_token
, puede especificar cualquier nombre de variable que desee. Sin embargo, debe especificarv_oxr_token
para trabajar con los bloques de código que se proporcionan en el tutorial.Tipo Seleccione Contraseña.
Valor Pegue su token de Open Exchange Rates en el campo desde el portapapeles.
Entrada de la tarea Se activa automáticamente cuando selecciona Contraseña. Etiqueta de la entrada de la tarea Especifique Introducir el token de Open Exchange Rates:
Se necesita la intervención del usuario Deje seleccionada la opción. Descripción de la entrada de la tarea Opcional. Puede dejar la descripción en blanco. - Haga clic en Guardar y cerrar.
Resultado Se guarda la variable y usted regresa al editor de scripts.
Nota
Como medida de seguridad, cada vez que salga del editor de scripts o lo actualice, el token se elimina de la variable. Si desea ejecutar un script que utilice la variable, debe volver a pegar un token válido en la variable cada vez que reabra o actualice el editor de scripts.
Si se olvida de realizar este paso, obtendrá un mensaje de error al ejecutar el script.
Agregar bloques de código al script existente
Copie y pegue cada bloque de código de la siguiente tabla en celdas independientes del editor de scripts.
Nota
Si en algún momento obtiene un error de Python (un bloque de error rojo), consulte Resolución de problemas.
N°. de celda | Instrucciones |
---|---|
Celda 3 |
Hacer una solicitud de API En la celda 3, conéctese a la API de Open Exchange Rates y obtenga las tasas más recientes. |
Bloque de código para la celda 3
|
|
Celda 4 |
Asignar la información obtenida a variables En la celda 4, asigne tasas específicas a las variables. Después puede usar las variables en análisis de datos posteriores que requieren la conversión entre distintas monedas. |
Bloque de código para la celda 4
Ejemplo de la salida de la celda EXCHANGE RATES (2021-07-23 20:00:00) |
Obtener más información
Para obtener solo un subconjunto de las tasas de cambio disponibles, agregue un parámetro de cadena de consulta a la solicitud GET de tasas de cambio (celda 3, línea 7):
&symbols=comma-separated list of ISO currency codes
Por ejemplo, esta solicitud GET devuelve las tasas de cambio de cinco monedas: yuan chino, euro, libra británica, peso mexicano y dólar de los Estados Unidos:
response = requests.get(f"https://openexchangerates.org/api/latest.json?app_id={oxrtoken}&symbols='CNY','EUR','GBP','MXN','USD'")
Ejemplo de la respuesta de la API de Open Exchange Rates
Si utilizó los códigos de las monedas en el ejemplo anterior, ahora obtendrá un marco de datos que contenga únicamente las tasas de cambio que especificó.
Guardar el script y salir del editor de scripts
Guarde su trabajo final del tutorial y salga del script.
-
En Robots, en la barra de herramientas del editor de scripts, haga clic en Guardar y confirmar y enviar.
-
Escriba un mensaje de confirmación y envío, como Script creado para utilizar la biblioteca Requests de Python con API de otros desarrolladores.
-
Haga clic en Confirmar y enviar para guardar, confirmar y enviar el script.
Aparecerá el mensaje El script se confirmó y envió correctamente.
-
En el encabezado de la página, haga clic en el nombre del robot (Robot de práctica de la API <sus iniciales>).
Resultado Regresa a la ficha Versiones del script del robot. Cada vez que guarda, confirma y envía un script, la versión guardada se agrega a esta ficha.
Lo que aprendió
¡Felicitaciones! Utilizó la creación de scripts nativa de Robots con la biblioteca Requests de Python para extender su alcance más allá de Diligent One.
Específicamente, ha aprendido a hacer lo siguiente:
-
usar la biblioteca Requests de Python como una forma alternativa de hacer solicitudes a la API de HighBond
-
usar la biblioteca Requests de Python para interactuar con una API de otro desarrollador e introducir datos del mundo real en un script de Robots
¿Qué sigue?
Aventurarse en un nuevo mundo
Aventúrese en el mundo de las API disponibles públicamente. Ahora conoce el proceso básico para conectarse desde Robots a una API REST. Existen miles de API y es posible que algunas de ellas sean de su interés o contengan información que lo ayude a hacer más avances en sus metas de automatización. Muchas API son pagas, pero muchas también cuentan con una opción gratuita con menos funciones para que pueda probarlas.
Consejo
Descargue un cliente API, como Postman o Insomnia, para poder probar las solicitudes y respuestas de la API independientemente de Diligent One. Postman incluye una función útil para autogenerar el código de Python para una solicitud en particular.
Configurar los reportes dinámicos
Tal vez, algunos de los sistemas empresariales de su organización también cuenten con API que le permitan obtener datos para propósitos tales como la generación de reportes. Las técnicas que aprendió en este tutorial son un buen punto de partida para configurar una cadena de procesamiento de generación de reportes automatizada que se ejecute desde un sistema empresarial a través de una API para Robots, Resultados y Storyboards.
Trabajar en colaboración
Si actualmente no cuenta con habilidades para codificar, es posible que otras personas de su organización sepan hacerlo y estén dispuestas a ayudar. Con frecuencia, el personal de TI y los administradores del sistema pueden ayudar con el proceso de autenticación en sistemas empresariales. Relaciónese con los expertos y aprenda.
Obtener más información
Obtenga más información sobre HCL y la creación de scripts en Robots:
Resolución de problemas
Si obtiene un error de Python (un bloque de error rojo) al ejecutar una celda o el script completo, lleve a cabo el procedimiento de resolución de problemas que se incluye a continuación.
-
En el editor de scripts, haga clic en Administrar variables y compruebe lo siguiente:
-
Usar la biblioteca de solicitudes de Python con la API de HighBond
Compruebe que exista la variable de contraseña v_hb_token y que haya suministrado un token en el campo Valor.
El token debe ser un token de API de HighBond, no un token de Analytics. Para asegurarse de eso, vuelva a copiar un token adecuado desde la pantalla Administrar tokens API de Launchpad y péguelo en el campo Valor.
-
Usar la biblioteca Requests de Python con una API de otro desarrollador
Compruebe que exista la variable de contraseña v_oxr_token y que haya suministrado un token en el campo Valor.
El token debe ser un Identificador de la aplicación Open Exchange Rates válido (token de autenticación). Para asegurarse de eso, vuelva a copiar un token adecuado desde la página de identificadores de la aplicación de Open Exchange Rates y péguelo en el campo Valor.
Consejo
Recuerde que si sale del editor de scripts o lo actualiza, el valor de las variables de contraseña se elimina automáticamente y debe volver a especificarlo.
-
-
Si falta una variable de contraseña, complete todos los aspectos necesarios de la definición de variables de contraseña.
Si desea obtener más información, consulte:
- Haga clic en Guardar y cerrar.
Resultado Se guardan todas las variables y usted regresa al editor de scripts.
-
En la barra de herramientas del editor de scripts, haga clic en Ejecutar todas las celdas en secuencia .
Resultado Si no hay errores, el script se ejecuta desde la primera celda hasta la última.
Nota
Al guardar y cerrar la ventana Variables, se borra la memoria de la sesión del editor de scripts. Al volver a ejecutar todas las celdas en secuencia se asegura de que se importen todas las bibliotecas de Python necesarias y que se realicen todas las operaciones que las celdas posteriores tienen como prerrequisito.