Saltar al contenido principal

Llamada REST

Configuración actual de la tarea Llamada REST en el Diseñador de Flujos de Trabajo

La Tarea Llamada REST permite al Flujo de Trabajo interactuar con sistemas externos a través de APIs REST. Permite enviar solicitudes HTTP y gestionar las respuestas de los servicios web, habilitando la integración con aplicaciones externas.

Es la herramienta principal para comunicarse con otras plataformas, como ServiceNow, Salesforce, sistemas de ticketing, bases de datos en la nube y numerosos otros servicios, tanto para recuperar datos (GET) como para enviar o modificar información (POST, PUT).

Configuración

La configuración de la Tarea define cada aspecto de la solicitud HTTP que se enviará. Los campos de configuración de la Tarea pueden ser valorados manualmente o a través de parámetros y variables del flujo de trabajo.

Conexión SSL

Especifica si la llamada debe utilizar el protocolo SSL ( / no).

Proxy

Define el enrutamiento de la conexión a través de las siguientes opciones:

  • Configuración del sistema: utiliza el proxy configurado a nivel global.
  • Sin Proxy: la llamada se realiza directamente sin pasar por un proxy.
  • Proxy personalizado: habilita el campo Dirección Proxy para la inserción manual de un servidor dedicado.

URL

En este campo se debe insertar la dirección completa del endpoint al que se enviará la solicitud. Es posible construir la URL de forma dinámica utilizando parámetros.

Autenticación

Un menú para seleccionar el método de autenticación requerido por la API de destino. Las opciones son:

  • Ninguna: Para APIs públicas que no requieren credenciales.
  • Basic: Autenticación estándar mediante nombre de usuario y contraseña.
  • Bearer: Autenticación mediante un token de seguridad (Bearer Token) que se debe insertar en el encabezado de la solicitud.

Usuario

El nombre de usuario para la autenticación de tipo Basic.

Contraseña

La contraseña asociada al usuario para la autenticación Basic.

Token

El campo donde se debe insertar el token de seguridad cuando se utiliza la autenticación de tipo Bearer.

Método

El método HTTP que se debe utilizar para la solicitud, que define el tipo de operación que se debe ejecutar

  • GET: Para recuperar datos de un recurso.
  • POST: Para crear un nuevo recurso.
  • PUT: Para actualizar completamente un recurso existente.
  • Área de texto dedicada a la definición de los encabezados HTTP que se incluirán en la solicitud. Los encabezados deben especificarse como array de cadenas, donde cada elemento representa un encabezado en el formato:
  • Formato requerido: ["Clave: Valor", "Clave2: Valor2"]
  • Ejemplo base: ["Content-Type:application/json;charset=utf-8"] - clave*: Content-Type y* valor*: application/json;charset=utf-8*
  • Ejemplo Contenido y Lenguaje: ["Content-Type:application/json;charset=utf-8", "Accept: application/json", "Accept-Language: it-IT, it;q=0.9"]

Cuerpo

Un área de texto para insertar el cuerpo (payload) de la solicitud. Este campo se utiliza principalmente con métodos como POST y PUT para enviar los datos para crear o modificar. Para garantizar que el contenido del JSON se interprete correctamente, es necesario utilizar la directiva “string:”.

Ejemplo:

string:{
"state": "#>state<#",
"work_notes": "#>work notes<#"
}

Ejemplo de uso

Parámetros de Salida

Una vez que el servicio externo ha respondido a la llamada, la Tarea expone los siguientes parámetros de salida, que son cruciales para procesar el resultado de la solicitud:

  • headers: Contiene los encabezados de la respuesta enviados por el servidor.
  • response: Contiene el cuerpo (body) de la respuesta enviada por el servidor.
  • result: Indica el estado general de la ejecución de la Tarea.
  • resultJson: representa el resultado de la ejecución de la tarea en formato JSON, incluyendo información general, configuraciones y detalles sobre la ejecución.
  • httpCode: Devuelve el código de estado HTTP de la respuesta.
  • 200 (OK), 201 (Created): La solicitud ha tenido éxito.
  • 400 (Bad Request), 401 (Unauthorized), 404 (Not Found): Error en el lado del cliente.
  • 500 (Internal Server Error): Error en el lado del servidor.

Ejemplo parámetro resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}