Référence API
Voici les endpoints qui font fonctionner le widget. Ils se trouvent sous le domaine de votre application Mikabot, acceptent du JSON et renvoient du JSON. Utilisez-les pour créer votre propre interface de chat ou suivre les produits que vous affichez vous-même.
Comment une requête est acceptée
Chaque requête de chat est contrôlée par rapport à la configuration du chatbot avant d’être traitée. Une requête qui échoue à ce contrôle n’obtient pas de réponse et est enregistrée dans les journaux d’échec du chatbot — le moyen le plus rapide de diagnostiquer un widget resté muet.
Envoyer un message
POST /api/chat/send
{
"message": "Quel arrosoir convient à un petit balcon ?",
"store_id": "st_votre_cle_chatbot",
"page_url": "https://votreboutique.com/collections/outils",
"session_id": "identifiant-session-visiteur",
"conversation_history": [],
"detected_language": "fr"
}
message— le texte du visiteurstore_id— la clé de votre chatbotpage_url— la page consultée, utilisée pour le contrôle de domaine et affichée dans vos journaux de chatsession_id— regroupe les échanges en une conversation. Générez-en un par visiteur.conversation_history— les échanges précédents. Envoyez un tableau vide pour une question isolée.detected_language— remplace la détection automatique
La réponse est renvoyée dans le champ response, accompagnée des produits que le bot a décidé d’afficher.
Informations de la boutique
POST /api/ai-responses/store-info renvoie les informations publiques utilisées dans les accueils et les variables. Envoyez store_id, language et page_url.
Suivi des produits
À utiliser lorsque vous affichez vos propres fiches produits tout en conservant les chiffres dans votre tableau de bord.
POST /api/product/click
product_external_id(obligatoire) — l’identifiant du produit dans votre fluxclick_type(obligatoire) —buy_now,view_productouask_aisession_id,page_url,detected_language(facultatifs)
POST /api/product/impressions
products(obligatoire) — un tableau dont chaque entrée contient unproduct_external_idimpression_type(obligatoire) —display,search_resultoudirect_hitsession_id,page_url,detected_language(facultatifs)
GET /api/product/click-stats
period(facultatif) —today,week,monthouallproduct_id(facultatif) — limite les totaux à un produit
Erreurs
402avec le codemessage_limit_reached— la limite mensuelle de messages du compte facturé est atteinte. Le chat s’arrête jusqu’à la période suivante.503avec le codeapi_unavailable— le fournisseur d’IA est temporairement indisponible.- Les autres échecs renvoient un champ
errorlisible.
Les requêtes en erreur ne sont pas décomptées de votre limite mensuelle de messages.
À lire ensuite
- Fonctionnement du widget — comment le widget appelle ces endpoints
- Données et confidentialité — ce que chaque requête enregistre