Internal API Call

Internal API Call permite a los usuarios invocar una llamada interna basada en la configuración definida.

Ejemplo de uso:

Imagine que, para una API determinada llamada «SearchSalesInformation», usted necesita que la petición se someta a una simple autenticación de inicio de sesión con contraseña. En este escenario, usted ya tiene una API para este tipo de autenticación, denominada «AuthenticateUser», que ya está registrada.

Puesto que ya tiene una API expuesta («SearchSalesInformation»), así como una API que realiza el control de autenticación («AuthenticateUser»), no es necesario replicar la lógica de autenticación en el flujo de la primera API. En su lugar, puede agregar el interceptor API Internal Call en el flujo de la API «SearchSalesInformation», redireccionando las peticiones a «AuthenticateUser». En función de lo que devuelva el proceso de autenticación — $call.contextVariables.get(“Variable Name”) — el interceptor decidirá si continuar o anular el proceso.

Configuración del interceptor

Las imágenes y el texto siguiente presentan la información que debe ser informada para configurar el interceptor.

internal api call
  • Variable Name: define el nombre de la llamada interna, única por flujo. El interceptor se recupera dentro del objeto $call.contextVariables.get(“Variable Name”) utilizando el nombre informado aquí.

  • API: API que se va a invocar.

  • Revision: revisión de la API que se va a invocar.

  • Resource: recurso que se va a invocar.

  • Operation: operación a realizar.

Sólo puede invocar una API que esté desplegada en el mismo entorno que la API en cuyo flujo está añadiendo el interceptor.

Si pensamos en las APIs en el ejemplo de uso anterior, para llamar a la API «AuthenticateUser», ella debe ser desplegada en el mismo entorno que la API «SearchSalesInformation», que es la API que contiene el interceptor Internal API Call.

Si quiere invocar una API que no está desplegada en el mismo entorno, es necesario realizar el deploy. Recuerde que es posible desplegar una API en más de un entorno al mismo tiempo. Puede leer más sobre cómo hacer el deploy de APIs aquí.

  • Preserve Query String: si está marcada, la cadena de consulta presente en la petición se transferirá a la API invocada internamente.

  • Query: permite la inserción de una cadena de consulta.

  • Preserve Path Param: si está marcada, el parámetro de ruta (path param) presente en la solicitud se transferirá a la API invocada internamente.

  • Path Param: permite la inserción de un parámetro de ruta.

  • Preserve Body: si está marcada, el cuerpo contenido en la petición se transferirá a la API invocada internamente. Este campo se habilita cuando el método es diferente de GET.

  • Body: permite la inserción de un cuerpo. El campo se habilita cuando el método es diferente de GET y el campo Preserve Body está desactivado.

  • Preserve Headers: si está marcada, los headers presentes en la petición se transferirán a la API invocada internamente.

  • Headers: permite la inserción de headers.

Funcionamiento

el gateway ejecuta el interceptor Internal API Call y el resultado se agrega al objeto $call.contextVariables. Para recuperar el resultado con un interceptor personalizado, utilice $call.contextVariables.get(“Variable Name”).

La llamada a $call.contextVariables.get devolverá un objeto RestResponse.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]