Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

En este tutorial vamos a explicar Este tutorial explicará cómo orquestar operaciones de APIs REST desde el FlowEngine de la plataforma.

Con el nuevo nodo "OnesaitPlatform Rest API invoker" vamos , vas a poder invocar a las distintas operaciones dadas de altas en el API Manager.

...

Veamos como podemos cómo puedes usar dicho nodo. Para ello seguiremos los siguientes sigue estos pasos:

  1. Seleccionamos la opción "My Digital Flows" del menú:

    Image Modified

...

  1. Selecciona el dominio perteneciente a

...

  1. tu usuario:

    Image Modified

  2. Una vez

...

  1. estés dentro del dominio,

...

  1. arrastra un nodo de tipo "OnesaitPlatform Rest API invoker" al flujo y

...

  1. haz doble click en él para ver sus propiedades.

    • Name: Nombre que mostrará el nodo en el flujo.

    • REST APIs available: Listado de APIs que

...

    • tu usuario tiene disponibles. Una vez seleccionada una API, se rellenarán automáticamente los campos "REST API" y "REST API Version".

    • Operations available: Listado de operaciones de la API seleccionada. Una vez seleccionada una operación, se rellenarán automáticamente los campos "REST API Operation" y "Operation Method".

    • Timeout: Tiempo en milisegundos que el nodo esperará para obtener respuesta de la operación invocada. En caso de que el tiempo de ejecución sea superior al indicado, se mostrará un error de "Connection timeout".

    • Operation input params: Esta es una lista dinámica que mostrará todos los parámetros (path, query, body, header o multipart) necesarios

...

    • para la operación que hayamos seleccionado. Hay dos maneras de pasar los valores a dichos parámetros:

      Image Modified

      • msg.: A través del contenido de un campo del mensaje (msg) recibido del nodo predecesor. Por Ejemplo:

        Image Modified

        En este modo, se permite el uso de operadores para acceder a posiciones dentro de un array o un mapa,

...

      • por ejemplo:

        1. Array: msg.payload[0].id

        2. Mapa: msg.pet[garfield].

...

        1. Nótese en este caso que el literal que actúa como clave del mapa no tiene comillas.

      • String: A través de un valor estático que

...

      • puedes meter a mano

...

      • , por ejemplo:

        Image Modified

        NOTA: En el caso de que uno de los parámetros sea un fichero (multipart/form-data), el valor debe de ir en un campo del mensaje recibido, siguiendo la estructura:

        Image ModifiedImage Modified

        El buffer es el mismo que devuelve por ejemplo el nodo "File in"

...

      •  de la paleta de nodos por defecto de Node-RED

...

      • :

        Image Added


        Por ejemplo:

...

      •   

        Image Modified
  1. Una vez

...

  1. hayas terminado de rellenar los campos requeridos

...

  1. , vereás que la cantidad de salidas del nodo varía de una a varias. Cada salida del nodo representará un statusCode que la operación tenga definida. Además se añadirá una salida extra (etiquetada como "???- Other status code") por donde

...

  1. llegarán los mensajes con statusCode distinto del resto de salidas. Si

...

  1. colocas el cursor sobre las patillas de salida,

...

  1. verás el statusCode y una descripción

    Image ModifiedImage ModifiedImage ModifiedImage Modified
  2. Tras seleccionar

...

  1. tu operación a invocar,

...

  1. guarda los cambios haciendo click en el botón "deploy":

    Image Modified
  2. En cuanto a la respuesta generada por el nodo, seguirá la siguiente estructura:

    • msg.statusCode: Código de retorno de la operación de la API o del propio nodo invocador en caso de error en la inserción de parámetros.

    • msg.payload: Respuesta (body response) de la operación. Siempre se intentará parsear a objeto.

...

    • Si esto no es posible (dependerá de la operación de la API seleccionada), se mantendrá como un String.

...

    • Image Added