Usos y configuración de los nodos API en los flujos automatizados
Los flujos automatizados pueden utilizar Nodos API para acceder a los servicios web disponibles a través de interfaces API. Estos servicios pueden estar dentro o fuera de su organización. Este nodo API, por ejemplo, puede usarse para extraer datos de sus sistemas internos e integrarlos en los flujos automatizados para luego ser enviados a través de diferentes canales, e incluso usar DANAConnect como una capa de integración para enviar u obtener datos desde y hacia servicios externos a su organización.
A través de una ventana de configuración simple se permite agregar el URL, los parámetros y las solicitudes, así como la autenticación. Esto le posibilita activar servicios web dentro de los flujos que se disparen como consecuencia de eventos, solicitudes o acciones de los usuarios finales.
¿Tienes curiosidad sobre qué tipo de APIs están disponibles en el mercado para uso público?
Mira estos ejemplos:
https://any-api.com/
https://apilist.fun/
https://rapidapi.com/collection/list-of-free-apis
¿ERES DESARROLLADOR?: Conoce además las APIs públicas de DANAConnect en dev.danaconnect.com
El nodo API se utiliza para:
Iniciar peticiones a servicios web externos a DANAConnect
Pedir información de servicios web externos
Enviar información a servicios web externos
Configurar las acciones a tomar con los parámetros respuesta que retornan dichos webservices
Iniciar peticiones a APIs propias de DANAConnect
Mayor automatización:
Las API permiten que sean las computadoras quienes administren el trabajo en lugar de las personas. Al conectar sus sistemas core con los flujos de trabajo de DANAConnect a través de API, las empresas pueden acelerar y aumentar la productividad.
Más acceso a aplicaciones:
Los servicios y la entrega de información son más flexibles al usar API, ya que éstas pueden acceder a los componentes de las aplicaciones y a sus parámetros.
Más personalización:
A través de una API, se puede crear una capa de aplicación integrando la data, que se utiliza para distribuir la información con servicios personalizados y brindar experiencias de cliente individuales.
Disponibilidad de datos democratizada:
Las API permiten que toda la información generada por la empresa esté disponible para todos los departamentos.
Mayor eficiencia:
Con una API, el contenido se puede generar dinámicamente y estar disponible de manera automática para todos los canales. Esto permite que se comparta y distribuya la información sin problemas y de manera eficiente.
Mejor integración:
Las API facilitan la inserción de contenido desde y hacia cualquier sitio web o aplicación. Esto asegura una entrega de información más fluida y una experiencia de usuario integrada.
Adaptación al cambio:
Esta tecnología permite una revisión más profunda de la información. Por ello, las migraciones de datos se puede gestionar de forma más eficaz, ya que hace que la prestación de servicios sea más flexible.
Ingresa a la aplicación de Envío de Comunicaciones (Conversation Manager)
Seleccionar la Conversación que desea utilizar o crear una nueva conversación
Al estar dentro del flujo de la comunicación, sólo después de crear un nodo de otro tipo, como Email, SMS o Llamada, es cuando el sistema le permitirá crear un nodo API. Debe hacer clic en el botón de Inicio, en el nodo seguido del cual quiere hacer el llamado al webservice y seleccionar API.
Acceder al Nodo de API, haciendo clic sobre el mismo.
En la ventana de configuración nombre el paso para mantener una referencia de su contenido (opcional pero recomendado). Seleccione el tipo de método de petición HTTP de la data: POST, GET, DELETE o PUT.
Ingrese el URL al cual se llamará en el campo URL:
Indique el tipo de contenido que será retornado por el servicio entre los tres tipos de el Content-type:
application/x-www-form-urlencoded
application/json
application/xml
El área de la ventana de configuración en donde se agrega el cuerpo de la petición cambiará de interfaz dependiendo del tipo de contenido que haya seleccionado en el paso anterior: se presentará como Raw para json o xml y preformateado para x-www-form-urlencoded. Agregue los parámetros de entrada del request que irán en el cuerpo de la petición.
Utilice el botón insertar etiquetas para visualizar la lista de etiquetas que vienen de la lista de contactos/Base de datos asociadas a la conversación.
Si el API Rest requiere encabezados o “Headers”. Seleccione la pestaña de Headers, en el botón de agregar encabezados y agregue los que necesite.
Haga clic en la pestaña de configuración. Seleccione el tipo de configuración a utilizar: Authorization Basic o No Authorization (sin autorización requerida). Agregue el nombre de usuario y password en caso de haber seleccionado la autorización básica.
Haga check en “Save response code” si desea guardar la respuesta del API Rest en la base de datos y configure el parámetro “FIELD_CODE / $.wsResult.resultDescription” con el nombre completo con el código del campo de la base de datos (Ejemplo: CODIGO_BASE_DATOS_CODIGO_CAMPO) en donde desea almacenar el código de respuesta HTTP.
Debe usar JsonPath/xPath para poder obtener la respuesta del Rest en la plataforma DANAConnect.
Puede configurar dos respuestas:
Cuando el API Rest responde satisfactoriamente
Cuando la respuesta es incorrecta
Haga clic en “Add field to Update” y agregue los parámetros correspondientes los campos de la BD/lista contacto que desea que se actualicen con el response del webservice. Los nombres de los campos deben corresponderse con el código completo del campo de la base de datos que desea actualizar (Ejemplo: CODIGO_BASE_DATOS_CODIGO_CAMPO)
Vaya a la pestaña de Configuración Avanzada / “Advanced Settings”.
Seleccione el tiempo de espera de la petición o “time out” en donde informa al servidor de origen del tiempo máximo que esperará la respuesta a esta solicitud. Puede configurarlo en 2 ó 10 segundos.
Seleccione la concurrencia o “Concurrence” en donde señala al servidor externo de crear conexiones paralelas a esta petición de modo que se puedan enviar varias solicitudes superpuestas. Puede seleccionar entre 2 y 32 peticiones simultáneas.
Es posible ver los detalles de los resultado de los request que se realizan a través de cada nodo API en los flujos de las conversaciones para cada uno de los nodos API utilizados.
Para ver los detalles de lo sucedido para cada solicitud, entre en los reportes de la activación de la conversación desde el Conversation Manager
Seleccione el nodo API en donde está la solicitud que desea verificar
Para ver los reportes de las solicitudes con respuestas exitosas haga doble clic en “Solicitudes completadas”.
En los reportes de solicitudes completadas podrá observar el estado del envío, el url a donde se hizo la solicitud, la respuesta del proveedor y el tiempo de respuesta a la solicitud expresado en milisegundos. Estos reportes se pueden descargar en formato Excel.
Igualmente encontrará los reportes de las solicitudes que no se completaron porque se presentaron errores. Haga doble clic sobre “Solicitudes no completadas”
En la ventana de solicitudes no completadas se muestra igualmente el tiempo que tomo completar la solicitud y la respuesta del proveedor.
Permite reutilizar etiquetas previamente usadas en la conversación, así como también aquellas correspondientes a la lista de contactos establecida.
Esta funcionalidad ayuda a evitar errores humanos y simplifica el proceso de insertar etiquetas:
Asociadas a los parámetros de las peticiones
En la cabecera de las peticiones
Es posible usar plantillas de peticiones que hayan sido previamente salvadas o que estén en la librería de Integraciones de DANAConnect.
Al configurar una petición de un API Rest se puede tener una cantidad considerable de parámetros, tanto en la cabecera, cuerpo y acciones que se deben tomar en función del JSON de respuesta y esta funcionalidad permite administrar una librería privada de plantillas de peticiones a APIs REST para ser organizadas y reutilizadas con facilidad.
Administrar plantillas permite guardar y recuperar una conversación tanto en otros nodos API como en otras conversaciones.
Adicionalmente DANAConnect ha dispuesto de una librería de plantillas pre-definidas con peticiones a otros sistemas, tales como: Zapier, etc. esto con el fin de facilitar la integración con otros CRM, Helpdesk o sistemas administrativos.
Permite activar una petición manualmente para probar su correcto funcionamiento antes de activar una conversación.
Esta funcionalidad es muy útil para la depuración, ya que permite especificar los parámetros dinámicos y recibir una respuesta en línea.
Adicionalmente a la respuesta, se obtiene información adicional, tal como:
SPEED_DOWNLOAD – Average download speed – Velocidad de descarga media
SPEED_UPLOAD – Average upload speed – Average upload speed
TOTAL_TIME – Total transaction time in seconds – Tiempo total de transacción en segundos
HEADER_SIZE – Total size of all headers received – Tamaño total de todos los encabezados recibidos
RESPONSE_CODE – The last response code – El último código de respuesta
REQUEST_SIZE – Total size of issued requests, currently only for HTTP requests – Tamaño total de las solicitudes emitidas, actualmente solo para solicitudes HTTP
PRIMARY_IP – IP address of the most recent connection – Dirección IP de la conexión más reciente
A continuación una tabla con la descripción de los elementos de sintaxis JSONPath para hacer el request al archivo JSON
JSONPath / Descripción
$ El objeto / elemento raíz
@ El objeto / elemento actual
. or [] Operador child (hijo). Los índices siempre comienzan por 0.
.. Descenso recursivo.
* Comodín. Todos los objetos / elementos independientemente de sus nombres.
[] Operador de subíndice. En JSON, como en Javascript, es el operador de matriz nativo. Los índices siempre comienzan por 0.
[,] Permite nombres alternativos o índices de matriz como un conjunto. Los índices siempre comienzan por 0.
[start:end:step] Operador de corte de matriz.
?() Aplica una expresión de filtro (script).
() Expresión de script, utilizando el motor de script subyacente.
A través de una ventana de configuración simple se permite agregar el URL, los parámetros y las solicitudes, así como la autenticación. Esto le posibilita activar servicios web dentro de los flujos que se disparen como consecuencia de eventos, solicitudes o acciones de los usuarios finales.
¿Tienes curiosidad sobre qué tipo de APIs están disponibles en el mercado para uso público?
Mira estos ejemplos:
https://any-api.com/
https://apilist.fun/
https://rapidapi.com/collection/list-of-free-apis
¿ERES DESARROLLADOR?: Conoce además las APIs públicas de DANAConnect en dev.danaconnect.com
¿Para qué se usa este nodo API?
El nodo API se utiliza para:
Iniciar peticiones a servicios web externos a DANAConnect
Pedir información de servicios web externos
Enviar información a servicios web externos
Configurar las acciones a tomar con los parámetros respuesta que retornan dichos webservices
Iniciar peticiones a APIs propias de DANAConnect
¿Cuáles son los beneficios de usar APIs?
Mayor automatización:
Las API permiten que sean las computadoras quienes administren el trabajo en lugar de las personas. Al conectar sus sistemas core con los flujos de trabajo de DANAConnect a través de API, las empresas pueden acelerar y aumentar la productividad.
Más acceso a aplicaciones:
Los servicios y la entrega de información son más flexibles al usar API, ya que éstas pueden acceder a los componentes de las aplicaciones y a sus parámetros.
Más personalización:
A través de una API, se puede crear una capa de aplicación integrando la data, que se utiliza para distribuir la información con servicios personalizados y brindar experiencias de cliente individuales.
Disponibilidad de datos democratizada:
Las API permiten que toda la información generada por la empresa esté disponible para todos los departamentos.
Mayor eficiencia:
Con una API, el contenido se puede generar dinámicamente y estar disponible de manera automática para todos los canales. Esto permite que se comparta y distribuya la información sin problemas y de manera eficiente.
Mejor integración:
Las API facilitan la inserción de contenido desde y hacia cualquier sitio web o aplicación. Esto asegura una entrega de información más fluida y una experiencia de usuario integrada.
Adaptación al cambio:
Esta tecnología permite una revisión más profunda de la información. Por ello, las migraciones de datos se puede gestionar de forma más eficaz, ya que hace que la prestación de servicios sea más flexible.
¿Cómo Configurar un nodo de API Rest?
Ingresa a la aplicación de Envío de Comunicaciones (Conversation Manager)
Seleccionar la Conversación que desea utilizar o crear una nueva conversación
Al estar dentro del flujo de la comunicación, sólo después de crear un nodo de otro tipo, como Email, SMS o Llamada, es cuando el sistema le permitirá crear un nodo API. Debe hacer clic en el botón de Inicio, en el nodo seguido del cual quiere hacer el llamado al webservice y seleccionar API.
Acceder al Nodo de API, haciendo clic sobre el mismo.
En la ventana de configuración nombre el paso para mantener una referencia de su contenido (opcional pero recomendado). Seleccione el tipo de método de petición HTTP de la data: POST, GET, DELETE o PUT.
Ingrese el URL al cual se llamará en el campo URL:
Indique el tipo de contenido que será retornado por el servicio entre los tres tipos de el Content-type:
application/x-www-form-urlencoded
application/json
application/xml
El área de la ventana de configuración en donde se agrega el cuerpo de la petición cambiará de interfaz dependiendo del tipo de contenido que haya seleccionado en el paso anterior: se presentará como Raw para json o xml y preformateado para x-www-form-urlencoded. Agregue los parámetros de entrada del request que irán en el cuerpo de la petición.
Utilice el botón insertar etiquetas para visualizar la lista de etiquetas que vienen de la lista de contactos/Base de datos asociadas a la conversación.
Si el API Rest requiere encabezados o “Headers”. Seleccione la pestaña de Headers, en el botón de agregar encabezados y agregue los que necesite.
Haga clic en la pestaña de configuración. Seleccione el tipo de configuración a utilizar: Authorization Basic o No Authorization (sin autorización requerida). Agregue el nombre de usuario y password en caso de haber seleccionado la autorización básica.
Haga check en “Save response code” si desea guardar la respuesta del API Rest en la base de datos y configure el parámetro “FIELD_CODE / $.wsResult.resultDescription” con el nombre completo con el código del campo de la base de datos (Ejemplo: CODIGO_BASE_DATOS_CODIGO_CAMPO) en donde desea almacenar el código de respuesta HTTP.
Debe usar JsonPath/xPath para poder obtener la respuesta del Rest en la plataforma DANAConnect.
Puede configurar dos respuestas:
Cuando el API Rest responde satisfactoriamente
Cuando la respuesta es incorrecta
Haga clic en “Add field to Update” y agregue los parámetros correspondientes los campos de la BD/lista contacto que desea que se actualicen con el response del webservice. Los nombres de los campos deben corresponderse con el código completo del campo de la base de datos que desea actualizar (Ejemplo: CODIGO_BASE_DATOS_CODIGO_CAMPO)
Vaya a la pestaña de Configuración Avanzada / “Advanced Settings”.
Seleccione el tiempo de espera de la petición o “time out” en donde informa al servidor de origen del tiempo máximo que esperará la respuesta a esta solicitud. Puede configurarlo en 2 ó 10 segundos.
Seleccione la concurrencia o “Concurrence” en donde señala al servidor externo de crear conexiones paralelas a esta petición de modo que se puedan enviar varias solicitudes superpuestas. Puede seleccionar entre 2 y 32 peticiones simultáneas.
Reportes de los resultados de las solicitudes en los flujos
Es posible ver los detalles de los resultado de los request que se realizan a través de cada nodo API en los flujos de las conversaciones para cada uno de los nodos API utilizados.
Para ver los detalles de lo sucedido para cada solicitud, entre en los reportes de la activación de la conversación desde el Conversation Manager
Seleccione el nodo API en donde está la solicitud que desea verificar
Para ver los reportes de las solicitudes con respuestas exitosas haga doble clic en “Solicitudes completadas”.
En los reportes de solicitudes completadas podrá observar el estado del envío, el url a donde se hizo la solicitud, la respuesta del proveedor y el tiempo de respuesta a la solicitud expresado en milisegundos. Estos reportes se pueden descargar en formato Excel.
Igualmente encontrará los reportes de las solicitudes que no se completaron porque se presentaron errores. Haga doble clic sobre “Solicitudes no completadas”
En la ventana de solicitudes no completadas se muestra igualmente el tiempo que tomo completar la solicitud y la respuesta del proveedor.
Sobre la funcionalidad de Inserción de etiquetas
Permite reutilizar etiquetas previamente usadas en la conversación, así como también aquellas correspondientes a la lista de contactos establecida.
Esta funcionalidad ayuda a evitar errores humanos y simplifica el proceso de insertar etiquetas:
Asociadas a los parámetros de las peticiones
En la cabecera de las peticiones
Cargar una plantilla de request desde la librería
Es posible usar plantillas de peticiones que hayan sido previamente salvadas o que estén en la librería de Integraciones de DANAConnect.
Al configurar una petición de un API Rest se puede tener una cantidad considerable de parámetros, tanto en la cabecera, cuerpo y acciones que se deben tomar en función del JSON de respuesta y esta funcionalidad permite administrar una librería privada de plantillas de peticiones a APIs REST para ser organizadas y reutilizadas con facilidad.
Administrar plantillas permite guardar y recuperar una conversación tanto en otros nodos API como en otras conversaciones.
Adicionalmente DANAConnect ha dispuesto de una librería de plantillas pre-definidas con peticiones a otros sistemas, tales como: Zapier, etc. esto con el fin de facilitar la integración con otros CRM, Helpdesk o sistemas administrativos.
Enviar una petición de prueba
Permite activar una petición manualmente para probar su correcto funcionamiento antes de activar una conversación.
Esta funcionalidad es muy útil para la depuración, ya que permite especificar los parámetros dinámicos y recibir una respuesta en línea.
Adicionalmente a la respuesta, se obtiene información adicional, tal como:
SPEED_DOWNLOAD – Average download speed – Velocidad de descarga media
SPEED_UPLOAD – Average upload speed – Average upload speed
TOTAL_TIME – Total transaction time in seconds – Tiempo total de transacción en segundos
HEADER_SIZE – Total size of all headers received – Tamaño total de todos los encabezados recibidos
RESPONSE_CODE – The last response code – El último código de respuesta
REQUEST_SIZE – Total size of issued requests, currently only for HTTP requests – Tamaño total de las solicitudes emitidas, actualmente solo para solicitudes HTTP
PRIMARY_IP – IP address of the most recent connection – Dirección IP de la conexión más reciente
Descripción de los elementos de sintaxis JSONPath para hacer el request al archivo JSON
A continuación una tabla con la descripción de los elementos de sintaxis JSONPath para hacer el request al archivo JSON
JSONPath / Descripción
$ El objeto / elemento raíz
@ El objeto / elemento actual
. or [] Operador child (hijo). Los índices siempre comienzan por 0.
.. Descenso recursivo.
* Comodín. Todos los objetos / elementos independientemente de sus nombres.
[] Operador de subíndice. En JSON, como en Javascript, es el operador de matriz nativo. Los índices siempre comienzan por 0.
[,] Permite nombres alternativos o índices de matriz como un conjunto. Los índices siempre comienzan por 0.
[start:end:step] Operador de corte de matriz.
?() Aplica una expresión de filtro (script).
() Expresión de script, utilizando el motor de script subyacente.
Actualizado el: 24/11/2021
¡Gracias!