En Zenvia Customer Cloud, la funcionalidad de Llamada de API permite integrar sistemas externos a tu chatbot. Con ella, puedes:
Consultar datos de clientes en un CRM
Enviar información a sistemas externos
Automatizar acciones basadas en datos dinámicos
Una API (Interfaz de Programación de Aplicaciones) es el medio por el cual diferentes sistemas se comunican.
Cómo acceder
En el constructor del bot:
Haz clic en los tres puntos del bloque (o en cualquier parte del mismo)
Haz clic en Agregar contenido
Selecciona Llamada de API
Cómo configurar la Llamada de API
Completa los siguientes campos:
Método: GET, POST, PUT, DELETE o PATCH
URL: endpoint de la API
Encabezados: (ej.: Authorization, Content-Type)
Cuerpo: según el formato esperado (ej.: JSON)
¿Por qué usar otro bloque?
La ejecución de los bloques sigue este orden:
Envía el mensaje
Recibe mensajes
Guarda variables
Ejecuta acciones (incluyendo API)
Define el siguiente flujo
Esto significa que la respuesta de la API solo estará disponible después de que el bloque termine.
Conclusión:
Necesitas un nuevo bloque para usar los datos retornados.
Ejemplo práctico
Respuesta de la API
Imagina que tu API devuelve:
{ "body": { "cliente": { "nome": "Carlos Silva", "plano": "Premium" } } }
Objetivo
Mostrar el nombre del cliente en la conversación.
Cómo acceder a la variable
Variable estándar:
<? $resposta_api.body ?>
Para acceder a un campo específico:
<? $resposta_api.body.cliente.nome ?>
Ejemplo correcto en el flujo
Bloque 1 — Llamada de API
Configura la API
No muestra datos todavía
Bloque 2 — Mostrar respuesta
Mensaje:
Hola, <? $resposta_api.body.cliente.nome ?>! Tu plan actual es <? $resposta_api.body.cliente.plano ?>.
Flujo visual
[Bloque: Llamada de API] ↓ [Bloque: Mostrar datos] "Hola, Carlos! Tu plan es Premium."
Ejemplo con array
Si la API devuelve:
{ "body": { "events": [ { "channel": "widget", "eventName": "new_dialog" } ] } }
Para acceder al canal del primer evento:
<? $resposta_api.body.events[0].channel ?>
Mensaje:
Tu atención comenzó a través del canal <? $resposta_api.body.events[0].channel ?>.
Buenas prácticas
Valida siempre la estructura del JSON
Usa nombres claros en los campos de la API
Prueba la respuesta antes de usarla en el flujo
Separa claramente:
bloque de API
bloque de visualización
Nota importante
La variable:
<? $resposta_api.body ?>
Permanece disponible hasta una nueva llamada de API
Siempre se sobrescribe con la respuesta más reciente