session déjà créée avec le démarrage rapide. Ce sont des variantes indépendantes : n’envoyez pas toutes ces réponses pour une même question. Les libellés de choix sont illustratifs ; utilisez ceux de votre question.
Question ouverte
Envoyez les mots réellement saisis par la personne.- Python
- TypeScript
Question à choix
Utilisez les libellés exacts renvoyés par la question en attente. Un seul libellé pour un choix unique ; plusieurs seulement si la question autorise les choix multiples.- Python
- TypeScript
Question semi-ouverte
Les choix seuls suffisent. Si la personne ajoute une explication, transmettez-la dansfree_text / freeText. Un texte « autre » seul est aussi possible.
- Python
- TypeScript
Pas de réponse ou refus
Ces issues n’ont pas besoin de texte. Elles ne doivent pas remplacer une réponse réellement donnée.- Python
- TypeScript
Contexte reçu en dehors de l’échange
apply_events / applyEvents met à jour l’état sans consommer de tour ni sélectionner une nouvelle question. Ce texte peut être analysé par le moteur.
- Python
- TypeScript
Donnée déjà connue
Utilisez l’identifiant stable de l’information configurée dans votre domaine, pas un identifiant inventé. Ici,available_budget doit exister dans la version publiée. Une valeur structurée confirmée n’a pas besoin d’analyse de texte.
- Python
- TypeScript
Ce que fait le SDK
Pouranswer(...), il rattache la réponse à la décision en attente et résout les libellés de choix. Une question ouverte répondue sans texte est rejetée localement, avant l’appel réseau. Il renvoie ensuite la prochaine décision, pas seulement un accusé de réception.
Choix seuls et issues sans réponse ne nécessitent pas d’appel modèle, tant qu’aucun autre texte à analyser n’est fourni. Le texte libre fourni est analysé par le moteur : ne recopiez pas systématiquement un libellé de choix dans user_text.
Après un ajout de contexte ou de données, une question peut déjà être en attente. Ne supposez pas que cet ajout en a automatiquement calculé une nouvelle. Voir Gérer une conversation.