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

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:

  • Solicitudes

  • JSON

Celda 2

Definir las variables que se usan en el script

  1. En la celda 2, actualice Test table 2 (línea 16) a Test table 3 :

    v_table_name = f"Test table 3 ({current_month})"
  2. Agregue dos nuevas líneas después de v_collection_id = None (línea 23) y defina nuevas variables para su URL de API de HighBond y su identificador de organización. Coloque cada definición de variable en una línea independiente.

    URL de API de HighBond

    v_api_url = "your API de HighBond URL"

    Reemplace your API de HighBond URL por su URL de API de HighBond real. Por ejemplo:

    v_api_url = "https://apis-us.highbond.com"

    Nota

    Los URL de API de HighBond son diferentes según la región de Diligent One. Para encontrar el URL que coincide con su región, consulte Regiones de API en la Referencia de la API de HighBond.

    Identificador de la organización

    v_org_id = "your org ID"

    Reemplace your org ID por su identificador de organización real. Por ejemplo:

    v_org_id = "11594"

    Consejo

    En el URL en la barra de dirección ubicada en la parte superior del editor de scripts, el ID de organización real es el primer número del URL, después de /orgs/ .

  3. Ejecute la celda.

Celda 3

Buscar o crear una colección en Resultados

  1. No cambie nada.

  2. Ejecute la celda.

Celda 4

Buscar o crear un análisis en Resultados

  1. No cambie nada.

  2. Ejecute la celda.

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:

  • requests.get: obtiene una lista de todas las tablas del análisis

  • requests.post: si el nombre de la tabla que especificó no existe en el análisis, crea una tabla con ese nombre

Lea los comentarios del código para ver una explicación detallada de cómo está utilizando la biblioteca Requests de Python.

Celda 6

Realizar algunos análisis de datos

  1. No cambie nada.

  2. Ejecute la celda.

Celda 7

Guardar la salida del análisis de datos en la tabla de Resultados

  1. No cambie nada.

  2. Ejecute la celda.

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.

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

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.

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:

  • Solicitudes

  • Pandas

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.

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.

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.

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.

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.

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.

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.