Lorsqu'un intent est mis en correspondance au moment de l'exécution, l'agent Dialogflow continue à collecter des informations auprès de l'utilisateur final jusqu'à ce que celui-ci ait fourni des données pour chacun des paramètres obligatoires. Ce processus est appelé remplissage de cases.
Par défaut, Dialogflow n'envoie pas de requête de webhook de fulfillment tant qu'il n'a pas collecté toutes les données requises auprès de l'utilisateur final.
Si le webhook pour le remplissage de cases est activé, Dialogflow envoie une requête de webhook de fulfillment pour chaque tour de conversation pendant le remplissage de cases.
Bien que dans la plupart des cas, les invites de paramètres soient suffisantes pour collecter tous les paramètres requis, un webhook pour le remplissage de cases vous permet de définir une logique d'agent plus spécifique lors de la collecte des paramètres. Par exemple, votre webhook peut gérer la personnalisation des questions de suivi ou la définition d'emplacements de paramètres qui ne peuvent pas être récupérés à partir de la réponse de l'utilisateur final, comme une base de données.
Activer le webhook pour le remplissage de cases
Pour activer le webhook pour le remplissage de cases en phase de conception :
- Accédez à la console Dialogflow ES.
- Sélectionnez un agent.
- Cliquez sur Intents dans le menu de la barre latérale gauche.
- Sélectionnez un intent.
- Faites défiler la page jusqu'à la section Fulfillment.
- Activez l'option Activer l'appel webhook pour le remplissage de cases.
- Cliquez sur Enregistrer.
Gérer le webhook pour les appels de remplissage de cases au moment de l'exécution
Le message de requête de webhook reçu par votre service de webhook comporte un champ queryResult.parameters
.
Ce champ contient l'ensemble actuel de paramètres fournis par l'utilisateur final.
Les valeurs qui n'ont pas encore été collectées sont définies sur des chaînes vides.
Des exemples de messages de réponse de webhook pour la définition des paramètres sont disponibles dans les exemples de réponse de webhook.