DocsAllemagneAfficher la version internationale de la base de connaissances

Assistant de chat via l'API

Dernière mise à jour: 2026-10-034 min de lecture

Le même consultant que celui de l'espace personnel est disponible depuis votre application. Vous créez une session, ouvrez le flux, envoyez un message et recevez la réponse par morceaux. Nécessite le scope tools:chat.

Fonctionnement

  1. Créez une session - elle conserve le contexte de la conversation.
  2. Ouvrez le flux d'événements de la session.
  3. Envoyez un message.
  4. La réponse arrive dans le flux par morceaux jusqu'à ce qu'elle soit complète.

Ouvrez le flux avant d'envoyer le message, sinon les premiers morceaux de la réponse vous échapperont.

Sessions

RequêteCe qu'elle fait
POST /chat/sessionscréer une session
GET /chat/sessionsvos sessions : limit 1-50 (20 par défaut, au-delà 400), cursor, q (recherche dans les titres), projectId, archivedOnly, sort (recent, title)
PATCH /chat/sessions/{id}modifier une session ; au moins un champ
DELETE /chat/sessions/{id}archiver

Corps de POST /chat/sessions (tout est facultatif) :

ChampDescription
titlenom de la session, jusqu'à 200 caractères
projectIdprojet auquel appartient la session
modechat_consult (par défaut) ; toute autre valeur est remplacée par chat_consult

Champs de PATCH /chat/sessions/{id} :

ChampDescription
titlenouveau nom, jusqu'à 200 caractères
projectIddéplacer vers un projet ; null - retirer du projet
isPinnedépingler ou désépingler
isUnreadmarquer comme non lu ou lu
isArchiveduniquement false - restaurer une session archivée ; pour archiver, utilisez DELETE
curl -X POST https://developers.grem.capital/api/v1/chat/sessions \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"title":"Client question about a mortgage"}'

La réponse contient sessionId - transmettez-le à chacun des appels suivants. La création d'une session nécessite un profil de compte complété ; sinon - 400.

L'API propose le mode consultant général. Le mode répondeur automatique qui fonctionne dans le CRM de l'espace personnel ne peut pas être activé de l'extérieur.

Envoyer un message

curl -X POST https://developers.grem.capital/api/v1/chat/messages \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"sessionId":"SESSION_ID","text":"How much is a 2-room flat in Podil?","clientMessageId":"msg-0001"}'
  • clientMessageId - votre identifiant de message obligatoire. Un même identifiant reçoit une seule réponse et n'est facturé qu'une fois - réutilisez-le lors d'une nouvelle tentative ; c'est l'Idempotency-Key du chat.
  • style (facultatif) - longueur de la réponse : short, normal ou detailed.

La réponse n'est qu'un accusé de réception ; la réponse de l'assistant arrive par le flux.

Réponse en streaming

GET /chat/stream?sessionId=SESSION_ID
Authorization: Bearer gsk_live_xxx
Accept: text/event-stream

La connexion est de longue durée ; les événements arrivent au fur et à mesure de la génération de la réponse :

ÉvénementSignification
assistant.startedl'assistant a commencé à répondre
assistant.deltale morceau de texte suivant, dans delta
assistant.donela réponse est complète, le texte intégral se trouve dans text

Si la connexion est coupée, reconnectez-vous avec le même sessionId : le serveur renvoie la réponse en cours depuis le début. Donc, à la réception de assistant.started, effacez le texte accumulé pour ce message, sinon il sera dupliqué.

Historique

GET /chat/history?sessionId=SESSION_ID&limit=50 - les messages enregistrés de la session, du plus ancien au plus récent. limit de 1 à 200 (50 par défaut) ; pour la page suivante - cursor avec le nextCursor de la réponse précédente. Utilisez-le pour restaurer la conversation après un rechargement de votre interface.

Facturation

ActionFacturation
POST /chat/messagesappel d'API + prix du message
POST, PATCH, DELETE sur les sessionsappel d'API
GET liste, historique, fluxgratuit

Le forfait Free comporte une limite quotidienne de messages. Une fois atteinte, vous recevez 429 - continuez demain ou changez de forfait. La réponse contient code: free_daily_limit et Retry-After jusqu'à 00:00 UTC, heure à laquelle la limite est réinitialisée.

Voir aussi

Cet article vous a-t-il aidé ?