Aller au contenu

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 visiteur
  • store_id — la clé de votre chatbot
  • page_url — la page consultée, utilisée pour le contrôle de domaine et affichée dans vos journaux de chat
  • session_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 flux
  • click_type (obligatoire) — buy_now, view_product ou ask_ai
  • session_id, page_url, detected_language (facultatifs)

POST /api/product/impressions

  • products (obligatoire) — un tableau dont chaque entrée contient un product_external_id
  • impression_type (obligatoire) — display, search_result ou direct_hit
  • session_id, page_url, detected_language (facultatifs)

GET /api/product/click-stats

  • period (facultatif) — today, week, month ou all
  • product_id (facultatif) — limite les totaux à un produit

Erreurs

  • 402 avec le code message_limit_reached — la limite mensuelle de messages du compte facturé est atteinte. Le chat s’arrête jusqu’à la période suivante.
  • 503 avec le code api_unavailable — le fournisseur d’IA est temporairement indisponible.
  • Les autres échecs renvoient un champ error lisible.

Les requêtes en erreur ne sont pas décomptées de votre limite mensuelle de messages.

À lire ensuite