startChat / continueChat) y las respuestas vuelven a WhatsApp, incluyendo texto, media y botones/listas nativos.
Formato de respuesta (v2), todas las respuestas exitosas siguen el envelope
{ "success": true, "message": "...", <contenido>, "meta": {...}? } (ya no usan data). Los errores siguen { "success": false, "error": { "message": "...", "code": "..."? } }. Además, list enriquece cada bot con active_sessions y last_activity_at.Cómo funciona
- Registras un bot con
POST /api/typebot/set/:instance(solo creación; para editar,PATCH /api/typebot/update/:instance) o inline, al crear la instancia. - Con cada mensaje recibido en WhatsApp, RyzeAPI elige el bot por su trigger y envía el texto al flujo de Typebot.
- Las respuestas del flujo vuelven a RyzeAPI y se entregan en WhatsApp.
- La sesión se persiste en el servidor: reiniciar el servicio no pierde la conversación en curso.
noStartFromMe) y mantener la conversación abierta al terminar el flujo (keepOpen, estado held).
Una instancia puede tener varios bots al mismo tiempo, enrutados por trigger. Un bot
all funciona como catch-all (cualquier mensaje lo inicia); los bots keyword solo se disparan cuando el mensaje coincide con el operador/valor configurado.Botones y Pix con marcado en el texto
De forma nativa, Typebot solo ofrece el botón de respuesta (el nodo de opciones). Para enviar los demás botones de WhatsApp (enlace, llamada, copiar) y el mensaje de Pix, escribe un marcado dentro de un globo de texto normal de tu flujo. RyzeAPI reconoce el marcado, lo quita del texto y envía el mensaje interactivo correspondiente; el texto que queda en el globo se convierte en el cuerpo del mensaje.
Botones de respuesta con un texto de apoyo:
WhatsApp acepta como máximo 3 botones (respuesta/enlace/llamada/copiar) por mensaje. Si escribes más de 3, se envían en bloques de 3. El Pix es un tipo de mensaje aparte, así que siempre sale separado de los demás botones. La etiqueta después del
| en [pix:...] no cambia el botón de pago (WhatsApp usa su etiqueta nativa); el texto que aparece encima del Pix es el resto del globo.Endpoints de gestión
Crear bot
POST /api/typebot/set/:instance, crea un bot nuevo (solo creación).Editar bot
PATCH /api/typebot/update/:instance, edición parcial de un bot existente (botId).Listar bots
GET /api/typebot/list/:instance (o ?botId= para uno solo) + estado de la integración.Eliminar bot
DELETE /api/typebot/delete/:instance (?botId= uno; sin botId = todos).Iniciar flujo
POST /api/typebot/start/:instance, dispara un flujo manualmente para un número.Sesiones en vivo
GET/POST /api/typebot/sessions/:instance, lista y controla las conversaciones en curso.Referencia de endpoints
Enrutamiento por trigger
Cada mensaje recibido se evalúa contra los bots habilitados, en el siguiente orden de prioridad (una palabra clave específica vence al catch-all):all habilitado; los bots keyword son únicos por combinación de (operator, value).
Activación inline al crear la instancia
Un bot puede configurarse junto con la creación de la instancia, sin necesidad de llamar aset por separado. Solo incluye el bloque typebot* en el cuerpo de POST /api/instance/new:
typebot regresa con status: "error" y error: "<mensaje>". Luego puedes llamar a POST /api/typebot/set/:instance para configurar el bot sin recrear la instancia.
Modelo de datos
El servidor persiste los datos en dos tablas:
Siempre que un bot se crea, edita o elimina, RyzeAPI activa la integración de la instancia. Cuando se elimina el último bot, la integración se desactiva y el vínculo local se borra.
Próximos pasos
Registrar un bot
Configura el primer bot con
POST /api/typebot/set/:instance.Errores de Typebot
Tabla de mapeo de los códigos de estado HTTP y mensajes de la integración.