Flows interactivos
Formularios multipantalla de tipo WhatsApp Flow (registro, listas de espera y recopilación de datos).
Conceptos
| Objeto | Descripción |
|---|---|
| Bot | Contenedor (runtime_mode=local o servicio del socio) |
| Flow | Recorrido de varias etapas con nombre (code, imagen de tarjeta y CTA) |
| Step | Pantalla: form, input, select, end, … |
| Invitación | Mensaje del hub con content_type=flow; abre el formulario |
Invitar a un usuario a un flow
POST /api/v1/bots/{bot_code}/flows/{flow_code}/invite
{
"phone": "+228XXXXXXXX",
"body": "Rejoignez la liste d’attente SEED."
}
Crea una tarjeta de flow independiente en el hub del socio (no una conversación de soporte).
Ejemplo
curl -X POST "$API/bots/portail/flows/waitlist/invite" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"phone":"+228XXXXXXXX"}'
Sesión del usuario final (aplicaciones cliente)
Las aplicaciones cliente utilizan el JWT del usuario (no la clave del socio):
| Endpoint | Objetivo |
|---|---|
POST /me/flows/start | Iniciar / reanudar la sesión |
POST /me/bots/sessions/{ref}/input | Enviar la etapa (form_submit, texto u otp) |
GET /me/flows | Enumerar los flows disponibles |
Payload de envío del formulario
{
"type": "form_submit",
"values": {
"full_name": "Ama Koffi",
"phone": "+22890000000",
"email": "[email protected]"
}
}
Validación
El servidor valida los tipos de campo (correo electrónico, teléfono E.164, número, fecha, select, etc.).
Consulte Validación de campos.
Finalización
Si se completa correctamente, la misma tarjeta de flow pasa a status=completed con un resumen de las respuestas en modo de solo lectura. Los mensajes de chat de las etapas intermedias no se publican.
Definición de un flow local
Configúrelo en Partner Hub (MorisBox → Bots) o mediante datos seed / provisioning:
- Bot:
runtime_mode=local - Flow: campos de la tarjeta (
code, imagen y CTA) - Steps:
fields_jsonpara los formularios con varios campos