Support

Flows interactifs

Formulaires multi-écrans de type WhatsApp Flow (inscription, listes d'attente, collecte de données).

Concepts

ObjetDescription
BotConteneur (runtime_mode=local ou service partenaire)
FlowParcours multi-étapes nommé (code, image de carte, CTA)
StepÉcran : form, input, select, end, …
InvitationMessage hub content_type=flow - ouvre le formulaire

Inviter un utilisateur à un flow

POST /api/v1/bots/{bot_code}/flows/{flow_code}/invite

{
  "phone": "+228XXXXXXXX",
  "body": "Rejoignez la liste d’attente SEED."
}

Crée une carte flow autonome dans le hub partenaire (pas une conversation support).

Exemple

curl -X POST "$API/bots/portail/flows/waitlist/invite" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+228XXXXXXXX"}'

Session utilisateur final (apps client)

Les apps client utilisent le JWT utilisateur (pas la clé partenaire) :

EndpointObjectif
POST /me/flows/startDémarrer / reprendre la session
POST /me/bots/sessions/{ref}/inputSoumettre l'étape (form_submit, texte, otp)
GET /me/flowsLister les flows disponibles

Payload de soumission de formulaire

{
  "type": "form_submit",
  "values": {
    "full_name": "Ama Koffi",
    "phone": "+22890000000",
    "email": "[email protected]"
  }
}

Validation

Le serveur valide les types de champs (email, téléphone E.164, nombre, date, select, …).
Voir Validation des champs.

Achèvement

En cas de succès, la même carte flow passe à status=completed avec un résumé en lecture seule des réponses. Les messages de chat des étapes intermédiaires ne sont pas postés.

Définition de flow local

Configurer dans Partner Hub (MorisBox → Bots) ou via données seed / provisioning :

  • Bot - runtime_mode=local
  • Flow - champs de carte (code, image, CTA)
  • Steps - fields_json pour les formulaires multi-champs