Hola, Humans. ¿En qué podemos ayudarte?

05. Llamada de API en el contenido del Chatbot
6 min
Creado por Maria Malheiro en 08/02/2024 16:11
Actualizado por Ligia Sarmento en 02/06/2025 14:05
Importante: Antes de seguir las instrucciones, confirma si la funcionalidad está disponible para tu perfil de acceso.

En Zenvia Customer Cloud, la funcionalidad de Llamada de API permite que el usuario incluya una API dentro de su chatbot. La Interfaz de Programación de Aplicaciones (API) es una forma en que un programa interactúa con otro, por lo que las llamadas a la API son el medio a través del cual interactúan. Con esto, es posible utilizar una llamada a la API para enviar datos a su CRM, consultar datos de clientes en bases de datos o incluso enviar comunicaciones externas.

Cómo acceder

El contenido de Llamada de API está disponible en el Constructor del bot y para acceder, simplemente haga clic en los tres puntitos del bloque o en cualquier parte de él.

Con esto, se abrirá el modal Detalles del bloque; a continuación, siga las instrucciones:

  1. Haga clic en Agregar contenido.
  2. Elija Llamada de API.
  3. En Método, indique el tipo de su API, ya sea: POST, GET, DELETE, PUT o PATCH.
  4. Indique la URL, incluyendo un enlace para esa API.
  5. En Encabezado, realice la inclusión del código correspondiente; la edición del código será igual que en cualquier editor común. Por ejemplo, puede ser Authorization, Application, etc.
  6. En Cuerpo, realice la inclusión del código. Recuerde que aquí dependerá de la API. Por ejemplo, si tenemos una aplicación Json, en el cuerpo, el código será Json.

Después de configurar la Llamada de API en tu chatbot, si deseas guardar y utilizar su respuesta como una variable en el flujo, es necesario crear un nuevo bloque para acceder a esta información.

¿Por qué crear un nuevo bloque?

La ejecución de un bloque en Zenvia Customer Cloud sigue este orden:

  1. Envía el mensaje.

  2. Recibe mensajes.

  3. Guarda las variables.

  4. Ejecuta las acciones (recibe la respuesta de la API).

  5. Valida los destinos.

Por lo tanto, las variables solo estarán disponibles después de que el bloque se haya ejecutado por completo. Si intentas usarlas en el mismo bloque donde configuraste la Llamada de API, aún no existirán.

Paso a paso para crear el bloque y utilizar las variables

  1. En el Constructor del bot, haz clic en Añadir bloque.

  2. Asigna un nombre al bloque, como RetornoAPI.

  3. Configura el mensaje utilizando las variables devueltas:

3.1: En el nuevo bloque, añade el mensaje que deseas enviar al cliente. Para acceder a los datos devueltos por la Llamada de API, utiliza la variable predeterminada: <? $resposta_api.body ?>.

3.2: Si deseas acceder a un valor específico dentro de la estructura de datos devuelta, simplemente sigue la jerarquía.

Por ejemplo: supongamos que la respuesta de la API contiene la siguiente ruta: body > events > extra1. Para mostrar el valor de extra1 en el mensaje, utiliza: <? $resposta_api.body.events.extra1 ?>

Esta variable se completará automáticamente con el valor devuelto por la API.

Importante: El contenido de la variable <? $resposta_api.body ?> permanece disponible en el flujo hasta que se realice una nueva Llamada de API. Es decir, cada vez que se haga una nueva llamada, esta variable se actualizará con la respuesta más reciente.

En el flujo del bot, conecta el bloque donde se configuró la Llamada de API con este nuevo bloque. De esta manera, después de la ejecución y el guardado de las variables, el bot avanzará automáticamente al bloque donde se pueden utilizar las variables.

Si la respuesta de la API incluye un array de objetos, como en el ejemplo a continuación, donde deseas acceder al canal de comunicación del primer evento, el código para mostrar esta información sería:

"resposta_api": {
        "body": {
          "events": [
             {
                "extra1": null,
                "extra2": null,
                "channel": "widget",
                "eventName": "new_dialog",
                "assistantId": 142,
                "environment": "dev"
          }
       ]
   },
   "code": 200,
 }

En este ejemplo, events[0] se refiere al primer objeto dentro del array events, y channel es el campo al que deseas acceder y mostrar en la conversación del chatbot.