Passer au contenu principal
Une fois que vous avez configuré NBQ et généré une clé API, vous êtes prêt à appeler l’API.

Le point de terminaison

POST https://api.zelinqa.ai/v1/next-questions

Test minimal avec curl

Commencez avec une conversation vide — sans historique, sans questions répondues :
curl -X POST https://api.zelinqa.ai/v1/next-questions \
  -H "Authorization: Bearer nbq_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "sess_lead_42",
    "conversation_history": [
      { "role": "user", "content": "Bonjour, je souhaite en savoir plus sur votre solution." }
    ],
    "answered_question_ids": []
  }'

Exemple de réponse

{
  "next_question": {
    "external_id": "q_volume",
    "text": "Combien de conversations par mois ?"
  },
  "exhausted": false,
  "nbq_version": "0.9.0-beta.1",
  "request_id": "req_a1b2c3"
}

Utiliser la question retournée — deux approches

NBQ retourne exactement une question : { external_id, text }. Deux façons de l’utiliser :

Approche A — afficher directement

Affichez next_question.text directement à l’utilisateur. Intégration la plus simple — NBQ gère entièrement la formulation.

Approche B — passer à votre agent

Transmettez next_question.text à votre propre LLM comme “la prochaine question à poser” et laissez votre agent la formuler naturellement. NBQ décide quoi demander ; votre agent décide comment.
Dans les deux approches, une fois la question posée, ajoutez son external_id dans answered_question_ids au prochain appel pour qu’elle ne soit jamais répétée.

La boucle de conversation

Après le premier appel, répétez ce cycle à chaque tour :
1

Afficher la question

Montrez next_question.text à l’utilisateur.
2

Enregistrer la réponse

Mettez à jour l’état de la conversation — soit en ajoutant la réponse à conversation_history, soit en mettant à jour votre résumé context. Envoyez au moins l’un des deux à chaque appel.
3

Suivre la question répondue

Ajoutez next_question.external_id à votre liste answered_question_ids.
4

Rappeler l'API

Envoyez le contexte mis à jour pour obtenir la prochaine question.
5

Vérifier exhausted

Quand "exhausted": true, toutes les questions éligibles ont été posées. Terminez le flux.
Quand exhausted est true, next_question sera null. Votre application doit gérer ce cas pour clore ou poursuivre le flux de conversation de manière appropriée.