Nodo API Rest – Respuesta asíncrona para continuar flujo
El nodo API Rest de DANAConnect tiene un timeout de 2 segundos. Para ciertos servicios que requieren más tiempo en su respuesta, se ha creado un modo para recibir la respuesta de manera asíncrona en el que se hace la solicitud a través del Nodo API, pasándole un parámetro especial que contiene un token con el que el servicio del otro lado puede regresar a DANAConnect y enviar la respuesta una vez que se haya terminado el procesamiento de la solicitud. Este token tiene una duración de 45 minutos.
En los casos que se requiera hacer solicitudes cuya respuesta sea mayor a 2 segundos
En los casos que se requiera hacer más de X solicitudes al mismo tiempo
Es preferible usar este modo para hacer solicitudes de los cuales no se necesita la respuesta inmediatamente
Para configurar que el nodo API reciba una respuesta de manera no sincrónica se debe enviar dentro de los parámetros de salida un parámetro adicional que constituye el token. Para esto se agrega la variable $f{dana} a los parámetros de salida.
Esta variable genera un token que tiene una duración de 45 minutos.
Para enviar una primera respuesta, cuando aún no se ha procesado la solicitud, se debe configurar que el servicio al cual se está llamando envíe un código de respuesta 200 inmediatamente para dejar saber que se recibió la solicitud.
Luego de procesar la solicitud los datos extraídos del servicio deben ser enviados junto con el token a los campos que se haya creado para ello en su base de datos y retornados a DANAConnect mediante método POST con un URL con la siguiente estructura:
https://appserv.danaconnect.com/event/Trigger?dana={dana_code}&BDMISCONTACTOS_DATA1={datos1}&BDMISCONTACTOS_DATA2={datos2}
En el ejemplo BDMISCONTACTOS_DATA1 y BDMISCONTACTOS_DATA2 son los códigos de los campos en la base de datos / lista de contactos.
Para observar los códigos de cada campo en las listas de contacto, debe acceder a su lista de contacto desde el Contact manager y entrar mediante el botón de administración de campos:
Para continuar la conversación el nodo siguiente debe estar condicionado a un filtro de external trigger entre el nodo api y el nodo siguiente.
En qué casos se debe usar este modo de respuesta asíncrona:
En los casos que se requiera hacer solicitudes cuya respuesta sea mayor a 2 segundos
En los casos que se requiera hacer más de X solicitudes al mismo tiempo
Es preferible usar este modo para hacer solicitudes de los cuales no se necesita la respuesta inmediatamente
Cómo configurar el modo de respuesta asíncrona en el Nodo API Rest
Para configurar que el nodo API reciba una respuesta de manera no sincrónica se debe enviar dentro de los parámetros de salida un parámetro adicional que constituye el token. Para esto se agrega la variable $f{dana} a los parámetros de salida.
Esta variable genera un token que tiene una duración de 45 minutos.
Para enviar una primera respuesta, cuando aún no se ha procesado la solicitud, se debe configurar que el servicio al cual se está llamando envíe un código de respuesta 200 inmediatamente para dejar saber que se recibió la solicitud.
Luego de procesar la solicitud los datos extraídos del servicio deben ser enviados junto con el token a los campos que se haya creado para ello en su base de datos y retornados a DANAConnect mediante método POST con un URL con la siguiente estructura:
https://appserv.danaconnect.com/event/Trigger?dana={dana_code}&BDMISCONTACTOS_DATA1={datos1}&BDMISCONTACTOS_DATA2={datos2}
En el ejemplo BDMISCONTACTOS_DATA1 y BDMISCONTACTOS_DATA2 son los códigos de los campos en la base de datos / lista de contactos.
Para observar los códigos de cada campo en las listas de contacto, debe acceder a su lista de contacto desde el Contact manager y entrar mediante el botón de administración de campos:
Para continuar la conversación el nodo siguiente debe estar condicionado a un filtro de external trigger entre el nodo api y el nodo siguiente.
Actualizado el: 24/11/2021
¡Gracias!