Werking van de widget
Deze pagina beschrijft wat de widget in de browser doet nadat je de code hebt geplakt. Gebruik hem om de widget vanuit je eigen code aan te sturen, een laadprobleem te onderzoeken of vragen in een securityreview te beantwoorden.
Configuratieobject
De code zet window.MIKADO_CHATBOT_CONFIG voordat de loader draait.
domain(verplicht) — de Mikabot-app-URL waar de widget vandaan laadt en die hij aanroept. Al ingevuld in je code.store_id(verplicht) — je chatbotsleutel, met voorvoegselst_. Gaat mee met elk verzoek.language(optioneel) — forceert een taal. Laat weg voor automatische detectie.container(optioneel) — toont de chat in een element op je pagina in plaats van als zwevende bubbel.debugLogging(optioneel) — zet optrueom de interne stappen van de widget in de console te zien tijdens het onderzoeken van een probleem.
Laadvolgorde
- Je pagina laadt en definieert
MIKADO_CHATBOT_CONFIG. mikabot-init.jswacht op hetload-event van het venster en laadt dan het hoofdscript vanaf het ingesteldedomain. Er wordt niets opgehaald voordat je eigen pagina klaar is.- Het hoofdscript voegt de stylesheet van de widget toe vanaf datzelfde domein, en een stylesheet met iconen vanaf
cdnjs.cloudflare.com. - De sitegegevens en je geschreven antwoorden worden opgehaald in de gedetecteerde taal.
- De bubbel, of je container, wordt getoond.
Taaldetectie
De eerste treffer wint:
languageinMIKADO_CHATBOT_CONFIG- Het
lang-attribuut op<html> - De browsertaal, via
navigator.language - Engels
Ondersteunde waarden zijn en, nl, fr, de, es en it. Iets anders wordt genegeerd en de detectie gaat door naar de volgende stap.
Wat de widget beschikbaar maakt
Na initialisatie zijn deze globals beschikbaar:
window.chatbot— de instantie van de widget, handig in de console om de status te bekijkenwindow.trackProductClick(externalId, clickType, event)— registreert een klik op een product dat je zelf toontwindow.askAboutProduct(productId, productTitle, externalId)— opent de chat met een vraag over een specifiek product
Roep ze aan vanuit een actie van de bezoeker, bijvoorbeeld een knop in je eigen productkaart, en niet vanuit een script dat draait voordat de widget bestaat.
Wat er in de browser wordt opgeslagen
De widget gebruikt localStorage, geen cookies:
mikabot_session_id— de sessie die de berichten van een bezoeker tot één gesprek bundeltmikado_chat_messages— het zichtbare gesprek, zodat het een herlaadbeurt overleeft. Het wordt na 24 uur gewist.chatbot-language— de taal die de bezoeker het laatst gebruikte
Een nieuw gesprek starten wist deze waarden.
Hostingvereisten
- De widget moet je Mikabot-
domainkunnen bereiken voor scripts, stijlen en API-aanroepen. - Met een Content-Security-Policy sta je die host toe in
script-src,style-srcenconnect-src, encdnjs.cloudflare.cominstyle-srcenfont-src. - De hostnaam van de pagina moet overeenkomen met het veld Domain van de chatbot. Een verschil is de meest voorkomende oorzaak van een widget die wel laadt maar nooit antwoordt.
Lees verder
- Installatie — waar de code hoort
- API-referentie — de endpoints die de widget aanroept