AccueilDocumentation

REST API

La REST API v1 de ChatReact vous donne un accès programmatique aux opérations prises en charge du tableau de bord : chatbots, base de connaissances et crawling, prix structurés, FAQs, revue de chat et Improvement Agent, leads, formulaires de contact, chat en direct, entreprise et équipe, l'Email Assistant, analytics et notifications. Les actions liées au navigateur (paiements, autorisation de boîte mail, passkeys, suppression de compte et gestion des clés API) restent dans le tableau de bord.

Vous préférez parler à un assistant IA ? Les mêmes fonctionnalités sont disponibles en tant qu'outils MCP — voir MCP Server Integration. L'API Explorer interactive avec schémas de requête et de réponse se trouve à /api-reference, où vous pouvez aussi télécharger la spécification OpenAPI 3.0.

Authentification

  1. Allez à Tableau de bord → Entreprise → onglet API et cliquez sur Créer une clé API
  2. Choisissez un nom et les scopes de permission nécessaires pour la clé (voir ci‑dessous)
  3. Copiez la clé — elle commence par cr_ et n'est affichée qu'une seule fois

Envoyez la clé avec chaque requête :

curl https://www.chatreact.ai/api/v1/chatbots \
  -H "Authorization: Bearer cr_your_api_key"

Un en‑tête X-API-Key: cr_your_api_key est également accepté. Les clés API appartiennent à une seule entreprise et s'exécutent avec les permissions du propriétaire de l'entreprise ; les limites de plan et les verrous de fonctionnalités s'appliquent exactement comme dans le tableau de bord.

L'accès API est disponible sur les plans payants — voir la page Pricing. Les clés peuvent être révoquées à tout moment depuis le tableau de bord.

Scopes

Chaque clé porte un ou plusieurs scopes. Un endpoint renvoie 403 lorsque la clé ne dispose pas du scope requis.

ScopeAccorde
chatbots:read / chatbots:writeConfiguration du chatbot : persona, langues, widget, comportement, restrictions, instructions principales, code d'intégration, phase d'apprentissage, modèles de chatbot, paramètres du widget FAQ
knowledge:read / knowledge:writeBase de connaissances : documents, crawling de site web, pages crawlées
faqs:read / faqs:writeFAQs, catégories de FAQ, suggestions, traductions
chats:read / chats:writeHistorique des chats, évaluations de chat, catégories de confiance, chat en direct (les actions d'agent nécessitent chats:write)
leads:read / leads:writeLeads, catégories de leads, paramètres de capture de leads, export
forms:read / forms:writeFormulaires de contact et soumissions
analytics:readStatistiques, séries d'activité, entonnoirs, statut de confiance
company:read / company:writeProfil et paramètres de l'entreprise, membres de l'équipe, invitations
email:read / email:writeConnexions Email Assistant, catégories, contacts, activité
prices:readLire les entrées de prix structurés, révisions, éligibilité et suggestions
prices:writeCréer et éditer des brouillons de prix, importer CSV et appliquer une suggestion comme brouillon ; nécessite le propriétaire de l'entreprise
prices:approveApprouver des versions exactes ou archiver des entrées ; nécessite le propriétaire de l'entreprise
blog:read / blog:writeContenu du blog de la plateforme (interne à ChatReact)
any valid key/v1/me, utilisation du compte, vos notifications

Conventions

  • Base URL : https://www.chatreact.ai/api/v1, JSON en entrée et sortie (Content-Type: application/json).
  • Réponses : { "success": true, "data": … } ; les listes ajoutent "pagination": { "total", "page", "pageSize", "totalPages" }. Utilisez page et pageSize (max 100) sur les endpoints de liste ; certains endpoints proposent une pagination par curseur (cursor / nextCursor).
  • Erreurs : { "success": false, "error": "message", "code": "BAD_REQUEST" } avec details optionnel pour les erreurs de validation. Codes de statut : 400 entrée invalide, 401 clé manquante ou invalide, 403 scope manquant, fonctionnalité du plan non incluse ou rôle insuffisant, 404 ressource introuvable (également pour les ressources d'autres entreprises), 409 conflit, 429 limite de débit dépassée.
  • Mises à jour partielles : les endpoints PATCH modifient uniquement les champs que vous envoyez ; les champs inconnus sont rejetés.
  • Limite de débit : 30 requêtes par minute et par adresse IP.
  • Opérations longues (crawls, génération IA, traductions) renvoient rapidement un job ou un résultat que vous pouvez interroger ; elles consomment le quota de tokens et de crawl de votre plan.

Endpoints

Prices & services

La sauvegarde, l'édition, l'importation et l'application d'une suggestion créent des brouillons sans approbation. Les opérations d'approbation et d'archivage examinent des versions exactes ; une version périmée renvoie un conflit. Les clés existantes n'obtiennent pas automatiquement les permissions de prix. Seul le propriétaire de l'entreprise peut accorder des permissions d'écriture ou d'approbation. Pour le flux client, voir Prices & services.

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/pricesLister les entrées de prix et l'éligibilitéprices:read
POST/api/v1/chatbots/{id}/pricesCréer un brouillonprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}Lire les détails et l'historique paginéprices:read
PATCH/api/v1/chatbots/{id}/prices/{itemId}Créer un brouillon édité à partir d'une version attendueprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}/stateLire l'état complet de l'élémentprices:read
POST/api/v1/chatbots/{id}/prices/{itemId}/approveApprouver une version exacteprices:approve
POST/api/v1/chatbots/{id}/prices/{itemId}/archiveArchiver une version exacteprices:approve
POST/api/v1/chatbots/{id}/prices/approve-manyApprouver une sélection de version explicite de manière atomiqueprices:approve
POST/api/v1/chatbots/{id}/prices/importImporter des brouillons CSV avec un ID d'import stableprices:write
GET/api/v1/chatbots/{id}/prices/suggestionsLister les suggestions de prixprices:read
POST/api/v1/chatbots/{id}/prices/suggestions/{suggestionId}/applyAppliquer une suggestion sélectionnée comme brouillonprices:write

Chatbots

MethodPathDescriptionScope
GET/api/v1/chatbotsLister les chatbotschatbots:read
POST/api/v1/chatbotsCréer un chatbotchatbots:write
GET/api/v1/chatbots/{id}Obtenir un chatbotchatbots:read
PATCH/api/v1/chatbots/{id}Mettre à jour un chatbotchatbots:write
DELETE/api/v1/chatbots/{id}Supprimer un chatbotchatbots:write
GET/api/v1/chatbots/{id}/personalityObtenir la personnalité du chatbotchatbots:read
PATCH/api/v1/chatbots/{id}/personalityMettre à jour la personnalité du chatbotchatbots:write
GET/api/v1/chatbots/{id}/widgetObtenir les paramètres du widgetchatbots:read
PATCH/api/v1/chatbots/{id}/widgetMettre à jour les paramètres du widgetchatbots:write
GET/api/v1/chatbots/{id}/widget/translationsObtenir les traductions du widgetchatbots:read
PUT/api/v1/chatbots/{id}/widget/translationsRemplacer les traductions du widgetchatbots:write
GET/api/v1/chatbots/{id}/embedObtenir le code d'intégrationchatbots:read
POST/api/v1/chatbots/{id}/embed/confirmConfirmer l'intégrationchatbots:write
GET/api/v1/chatbots/{id}/learning-phaseObtenir les paramètres de la phase d'apprentissagechatbots:read
PATCH/api/v1/chatbots/{id}/learning-phaseMettre à jour les paramètres de la phase d'apprentissagechatbots:write
POST/api/v1/chatbots/{id}/learning-phase/endTerminer la phase d'apprentissagechatbots:write
GET/api/v1/chatbots/{id}/instructionsLister les instructions principaleschatbots:read
POST/api/v1/chatbots/{id}/instructionsAjouter une instruction principalechatbots:write
PUT/api/v1/chatbots/{id}/instructions/reorderRéordonner les instructions principaleschatbots:write
POST/api/v1/chatbots/{id}/instructions/improveAméliorer les instructions avec l'IAchatbots:write
GET/api/v1/instructions/{id}Obtenir une instruction principalechatbots:read
PATCH/api/v1/instructions/{id}Mettre à jour une instruction principalechatbots:write
DELETE/api/v1/instructions/{id}Supprimer une instruction principalechatbots:write
GET/api/v1/chatbot-templatesLister les modèles de chatbotchatbots:read

Knowledge base

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/knowledgeVue d'ensemble de la base de connaissancesknowledge:read
GET/api/v1/chatbots/{id}/documentsLister les documents pour un chatbotknowledge:read
POST/api/v1/chatbots/{id}/documentsTélécharger un documentknowledge:write
POST/api/v1/chatbots/{id}/documents/presignPré-signature pour téléchargement de documentknowledge:write
GET/api/v1/documents/{id}Obtenir un documentknowledge:read
DELETE/api/v1/documents/{id}Supprimer un documentknowledge:write
POST/api/v1/documents/{id}/confirmConfirmer le téléchargement pré-signéknowledge:write
GET/api/v1/chatbots/{id}/crawl/limitsLimites de crawlingknowledge:read
POST/api/v1/chatbots/{id}/crawl/previewAperçu du scan de siteknowledge:write
GET/api/v1/chatbots/{id}/crawlLister les jobs de crawlknowledge:read
POST/api/v1/chatbots/{id}/crawlDémarrer un crawlknowledge:write
GET/api/v1/crawl-jobs/{jobId}Obtenir un job de crawlknowledge:read
POST/api/v1/crawl-jobs/{jobId}/cancelAnnuler un job de crawlknowledge:write
GET/api/v1/chatbots/{id}/pagesLister les pages crawléesknowledge:read
POST/api/v1/chatbots/{id}/pagesAjouter une URL uniqueknowledge:write
POST/api/v1/chatbots/{id}/pages/bulk-deleteSuppression en masse de pages crawléesknowledge:write
GET/api/v1/pages/{id}Obtenir une page crawléeknowledge:read
DELETE/api/v1/pages/{id}Supprimer une page crawléeknowledge:write
POST/api/v1/pages/{id}/recrawlRe-crawler une pageknowledge:write
GET/api/v1/chatbots/{id}/websitesLister les sites crawlésknowledge:read
DELETE/api/v1/chatbots/{id}/websites/{domain}Supprimer un siteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawlRe-crawler un siteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawl/cancelAnnuler le re-crawl d'un siteknowledge:write

FAQs

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/faqsLister les FAQs pour un chatbotfaqs:read
POST/api/v1/chatbots/{id}/faqsCréer une FAQfaqs:write
POST/api/v1/chatbots/{id}/faqs/bulkImporter des FAQs en massefaqs:write
POST/api/v1/chatbots/{id}/faqs/reorderRéordonner les FAQsfaqs:write
GET/api/v1/chatbots/{id}/faqs/embedObtenir le code d'intégration du widget FAQchatbots:read
POST/api/v1/chatbots/{id}/faqs/purge-cachePurger les caches FAQ distantsfaqs:write
GET/api/v1/faqs/{id}Obtenir une FAQfaqs:read
PATCH/api/v1/faqs/{id}Mettre à jour une FAQfaqs:write
DELETE/api/v1/faqs/{id}Supprimer une FAQfaqs:write
PUT/api/v1/faqs/{id}/translationsMettre à jour les traductions d'une FAQfaqs:write
POST/api/v1/faqs/{id}/translateTraduction IA d'une FAQfaqs:write
GET/api/v1/chatbots/{id}/faq-suggestionsLister les suggestions de FAQfaqs:read
POST/api/v1/chatbots/{id}/faq-suggestions/generateGénérer des suggestions de FAQ depuis la base de connaissancesfaqs:write
GET/api/v1/faq-suggestions/{id}Obtenir une suggestion de FAQfaqs:read
POST/api/v1/faq-suggestions/{id}/approveApprouver une suggestion de FAQfaqs:write
POST/api/v1/faq-suggestions/{id}/rejectRejeter une suggestion de FAQfaqs:write
GET/api/v1/chatbots/{id}/faq-categoriesLister les catégories de FAQfaqs:read
POST/api/v1/chatbots/{id}/faq-categoriesCréer une catégorie de FAQfaqs:write
POST/api/v1/chatbots/{id}/faq-categories/reorderRéordonner les catégories de FAQfaqs:write
GET/api/v1/faq-categories/{id}Obtenir une catégorie de FAQfaqs:read
PATCH/api/v1/faq-categories/{id}Mettre à jour une catégorie de FAQfaqs:write
DELETE/api/v1/faq-categories/{id}Supprimer une catégorie de FAQfaqs:write
PUT/api/v1/faq-categories/{id}/translationsMettre à jour les traductions d'une catégorie de FAQfaqs:write
GET/api/v1/chatbots/{id}/faq-widget-settingsObtenir les paramètres du widget FAQchatbots:read
PATCH/api/v1/chatbots/{id}/faq-widget-settingsMettre à jour les paramètres du widget FAQchatbots:write

Chats, feedback & Improvement Agent

MethodPathDescriptionScope
GET/api/v1/chatsLister les sessions de chatchats:read
GET/api/v1/chats/{sessionId}Obtenir une session de chatchats:read
PATCH/api/v1/chats/{sessionId}Définir la catégorie de confiance d'un chatchats:write
POST/api/v1/chats/{sessionId}/feedbackÉvaluer un chat (Good / Needs Work)chats:write
POST/api/v1/chats/{sessionId}/feedback/dismissIgnorer une revue de chatchats:write
POST/api/v1/chats/{sessionId}/improveDémarrer l'Improvement Agent pour un chatchatbots:write
GET/api/v1/chatbots/{id}/feedbackLister les revues de chat d'un chatbotchats:read
GET/api/v1/chatbots/{id}/feedback/statsCartes de statistiques de revue de chatchats:read
GET/api/v1/feedback/{id}Obtenir une revue de chatchats:read
PATCH/api/v1/feedback/{id}Surcharger la gravité d'une revuechats:write
POST/api/v1/feedback/{id}/improvement-sessionDémarrer l'Improvement Agent pour une revuechatbots:write
GET/api/v1/chatbots/{id}/confidenceObtenir le statut de confianceanalytics:read
GET/api/v1/chatbots/{id}/confidence-categoriesLister les catégories de confiancechats:read
POST/api/v1/chatbots/{id}/confidence-categoriesCréer une catégorie de confiancechatbots:write
PATCH/api/v1/confidence-categories/{id}Mettre à jour une catégorie de confiancechatbots:write
DELETE/api/v1/confidence-categories/{id}Supprimer une catégorie de confiancechatbots:write
POST/api/v1/confidence-categories/{id}/mergeFusionner des catégories de confiancechatbots:write
GET/api/v1/chatbots/{id}/improvement-sessionsLister les sessions d'améliorationchatbots:read
GET/api/v1/improvement-sessions/{id}Obtenir une session d'améliorationchatbots:read
POST/api/v1/improvement-sessions/{id}/messagesEnvoyer un message à l'Improvement Agentchatbots:write
POST/api/v1/improvement-sessions/{id}/completeCompléter une session d'améliorationchatbots:write
POST/api/v1/improvement-sessions/{id}/resetRéinitialiser une session d'améliorationchatbots:write
POST/api/v1/improvement-proposals/{id}/applyAppliquer une proposition d'améliorationchatbots:write
POST/api/v1/improvement-proposals/{id}/rejectRejeter une proposition d'améliorationchatbots:write
POST/api/v1/improvement-proposals/{id}/simulationsSimuler une proposition d'améliorationchatbots:write
POST/api/v1/improvement-simulations/{id}/assessmentNoter le résultat de la simulationchatbots:write

Leads

MethodPathDescriptionScope
GET/api/v1/leadsLister les leadsleads:read
POST/api/v1/leadsCréer un leadleads:write
GET/api/v1/leads/{id}Obtenir un leadleads:read
PATCH/api/v1/leads/{id}Mettre à jour un leadleads:write
DELETE/api/v1/leads/{id}Supprimer un leadleads:write
POST/api/v1/leads/{id}/assignAssigner un leadleads:write
POST/api/v1/leads/bulk-statusMise à jour en masse du statut des leadsleads:write
GET/api/v1/leads/statsStatistiques des leadsleads:read
GET/api/v1/leads/exportExporter les leadsleads:read
GET/api/v1/chatbots/{id}/lead-configObtenir la configuration de capture de leadsleads:read
PUT/api/v1/chatbots/{id}/lead-configMettre à jour la configuration de capture de leadsleads:write
GET/api/v1/chatbots/{id}/lead-categoriesLister les catégories de leadsleads:read
POST/api/v1/chatbots/{id}/lead-categoriesCréer une catégorie de leadleads:write
GET/api/v1/lead-categories/{id}Obtenir une catégorie de leadleads:read
PATCH/api/v1/lead-categories/{id}Mettre à jour une catégorie de leadleads:write
DELETE/api/v1/lead-categories/{id}Supprimer une catégorie de leadleads:write
PUT/api/v1/lead-categories/{id}/users/{userId}Assigner un membre à une catégorie de leadleads:write
DELETE/api/v1/lead-categories/{id}/users/{userId}Retirer un membre d'une catégorie de leadleads:write

Contact forms

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/formsLister les formulaires de contactforms:read
POST/api/v1/chatbots/{id}/formsCréer un formulaire de contactforms:write
GET/api/v1/forms/{id}Obtenir un formulaire de contactforms:read
PATCH/api/v1/forms/{id}Mettre à jour un formulaire de contactforms:write
DELETE/api/v1/forms/{id}Supprimer un formulaire de contactforms:write
GET/api/v1/forms/{id}/submissionsLister les soumissions de formulaireforms:read
GET/api/v1/forms/{id}/statsStatistiques des soumissions de formulaireforms:read
GET/api/v1/submissions/{id}Obtenir une soumission de formulaireforms:read
PATCH/api/v1/submissions/{id}Revoir une soumission de formulaireforms:write
DELETE/api/v1/submissions/{id}Supprimer une soumission de formulaireforms:write

Live chat

MethodPathDescriptionScope
GET/api/v1/live-chat/availabilityObtenir sa propre disponibilité en live chatchats:read
PUT/api/v1/live-chat/availabilityDéfinir sa propre disponibilité en live chatchats:write
POST/api/v1/live-chat/heartbeatEnvoyer un heartbeat de présencechats:write
GET/api/v1/live-chat/agentsLister les agents de live chat disponibleschats:read
GET/api/v1/live-chat/sessionsLister les sessions de live chatchats:read
GET/api/v1/live-chat/sessions/{sessionId}Obtenir une session de live chatchats:read
POST/api/v1/live-chat/sessions/{sessionId}/assignPrendre un live chat (assigner au propriétaire de la clé)chats:write
POST/api/v1/live-chat/sessions/{sessionId}/messagesEnvoyer un message en tant qu'agentchats:write
POST/api/v1/live-chat/sessions/{sessionId}/closeTerminer le live chatchats:write

Analytics

MethodPathDescriptionScope
GET/api/v1/analyticsObtenir la vue d'ensemble analyticsanalytics:read
GET/api/v1/analytics/activityObtenir la série d'activité des chatsanalytics:read
GET/api/v1/analytics/chatbotsLister les statistiques de performance par chatbotanalytics:read
GET/api/v1/analytics/chatbots/{id}Obtenir les analytics d'un chatbotanalytics:read
GET/api/v1/analytics/leadsObtenir l'entonnoir de leadsanalytics:read
GET/api/v1/analytics/formsObtenir les stats de soumission de formulaireanalytics:read
GET/api/v1/activityObtenir le résumé d'attentionanalytics:read

Company & team

MethodPathDescriptionScope
GET/api/v1/companyObtenir l'entrepriseany key
PATCH/api/v1/companyMettre à jour l'entreprisecompany:write
GET/api/v1/company/settingsObtenir les paramètres de l'entreprisecompany:read
PATCH/api/v1/company/settingsMettre à jour les paramètres de l'entreprisecompany:write
DELETE/api/v1/company/logoSupprimer le logo de l'entreprisecompany:write
GET/api/v1/company/membersLister les membres de l'équipecompany:read
PATCH/api/v1/company/members/{userId}Changer le rôle d'un membrecompany:write
DELETE/api/v1/company/members/{userId}Retirer un membre de l'équipecompany:write
GET/api/v1/company/invitesLister les invitationscompany:read
POST/api/v1/company/invitesInviter un membre d'équipecompany:write
DELETE/api/v1/company/invites/{id}Annuler une invitationcompany:write
POST/api/v1/company/invites/{id}/resendRenvoyer une invitationcompany:write

Email Assistant

MethodPathDescriptionScope
GET/api/v1/email/connectionsLister les connexions de boîte mailemail:read
GET/api/v1/email/connections/{id}Obtenir une connexion de boîte mailemail:read
PATCH/api/v1/email/connections/{id}Mettre à jour une connexion de boîte mailemail:write
DELETE/api/v1/email/connections/{id}Déconnecter une boîte mailemail:write
GET/api/v1/email/connections/{id}/categoriesLister les catégories d'emailemail:read
POST/api/v1/email/connections/{id}/categoriesCréer une catégorie d'emailemail:write
GET/api/v1/email/connections/{id}/foldersLister les dossiers mailemail:read
POST/api/v1/email/connections/{id}/foldersCréer un dossier mailemail:write
GET/api/v1/email/connections/{id}/activityLister le journal d'activité des emailsemail:read
GET/api/v1/email/categories/{id}Obtenir une catégorie d'emailemail:read
PATCH/api/v1/email/categories/{id}Mettre à jour une catégorie d'emailemail:write
DELETE/api/v1/email/categories/{id}Supprimer une catégorie d'emailemail:write
GET/api/v1/email/contactsLister les contacts emailemail:read
GET/api/v1/email/contacts/{id}Obtenir un contact emailemail:read
PATCH/api/v1/email/contacts/{id}Mettre à jour un contact emailemail:write
DELETE/api/v1/email/contacts/{id}Supprimer un contact emailemail:write

Account & notifications

MethodPathDescriptionScope
GET/api/v1/meObtenir le contexte de la clé (whoami)any key
GET/api/v1/account/usageObtenir le plan et l'utilisationany key
GET/api/v1/notificationsLister les notificationsany key
DELETE/api/v1/notificationsSupprimer les anciennes notifications luesany key
GET/api/v1/notifications/unread-countObtenir le nombre de notifications non luesany key
POST/api/v1/notifications/mark-all-readMarquer toutes les notifications comme luesany key
GET/api/v1/notifications/{id}Obtenir une notificationany key
PATCH/api/v1/notifications/{id}Marquer une notification comme lueany key

Blog (platform)

MethodPathDescriptionScope
GET/api/v1/blogLister les articles de blogany key
POST/api/v1/blogCréer un article de blogany key
POST/api/v1/blog/assetsTélécharger un asset de blogany key
GET/api/v1/blog/{id}Obtenir un article de blogany key
PATCH/api/v1/blog/{id}Mettre à jour un article de blogany key
DELETE/api/v1/blog/{id}Supprimer un article de blogany key
POST/api/v1/blog/{id}/translationsMettre en file d'attente les traductions du blogany key

Besoin d'aide ? Contactez notre équipe de support →