Naar de inhoud

API-referentie

Dit zijn de endpoints achter de widget. Ze staan onder je Mikabot-appdomein, accepteren JSON en geven JSON terug. Gebruik ze als je je eigen chatinterface bouwt of producten volgt die je zelf toont.

Wanneer een verzoek wordt geaccepteerd

Elk chatverzoek wordt gecontroleerd aan de hand van de configuratie van de chatbot voordat het wordt beantwoord. Een verzoek dat hierop faalt, wordt niet beantwoord en komt in de failed logs van de chatbot terecht — de snelste manier om een zwijgende widget te onderzoeken.

Een bericht sturen

POST /api/chat/send

{
  "message": "Welke gieter past bij een klein balkon?",
  "store_id": "st_jouw_chatbotsleutel",
  "page_url": "https://jouwshop.nl/collecties/gereedschap",
  "session_id": "sessie-id-van-bezoeker",
  "conversation_history": [],
  "detected_language": "nl"
}
  • message — de tekst van de bezoeker
  • store_id — je chatbotsleutel
  • page_url — de pagina waarop de bezoeker zit, gebruikt voor de domeincontrole en zichtbaar in je chatlogs
  • session_id — bundelt beurten tot één gesprek. Genereer er één per bezoeker.
  • conversation_history — eerdere beurten. Stuur een lege array voor een losse vraag.
  • detected_language — overschrijft de automatische detectie

Het antwoord komt terug in het veld response, samen met de producten die de bot besloot te tonen.

Sitegegevens

POST /api/ai-responses/store-info geeft de publieke gegevens terug die in begroetingen en placeholders worden gebruikt. Stuur store_id, language en page_url mee.

Producten volgen

Gebruik deze endpoints als je zelf productkaarten toont en de cijfers toch in je dashboard wilt.

POST /api/product/click

  • product_external_id (verplicht) — de id van het product in je feed
  • click_type (verplicht) — buy_now, view_product of ask_ai
  • session_id, page_url, detected_language (optioneel)

POST /api/product/impressions

  • products (verplicht) — een array waarin elk item een product_external_id heeft
  • impression_type (verplicht) — display, search_result of direct_hit
  • session_id, page_url, detected_language (optioneel)

GET /api/product/click-stats

  • period (optioneel) — today, week, month of all
  • product_id (optioneel) — beperkt de totalen tot één product

Fouten

  • 402 met code message_limit_reached — de maandelijkse berichtenlimiet van het factureringsaccount is bereikt. De chat stopt tot de volgende periode.
  • 503 met code api_unavailable — de AI-provider is tijdelijk niet beschikbaar.
  • Andere fouten geven een leesbaar error-veld terug.

Verzoeken die falen tellen niet mee voor je maandelijkse berichtenlimiet.

Lees verder