Installatie
Vereisten
Magento 2.4.x — getest op 2.4.9, compatibel met eerdere 2.4.*-versies. PHP 8.1–8.5. Compatibel met zowel het standaard Luma-thema als het Hyvä-thema (de chatwidget wordt weergegeven in een geïsoleerde Shadow DOM, dus identiek op beide, zonder templatewijzigingen). Vereist de gratis module codingrow/module-core, die automatisch wordt geïnstalleerd. Vereist een API-sleutel van minstens één AI-provider (OpenAI, Anthropic, Google of OpenRouter) — rechtstreeks door de provider aan jou gefactureerd.
Installatiestappen
- Voeg de inloggegevens die je per e-mail ontvangt toe aan
auth.jsonin de root van je Magento-project:{ "http-basic": { "repo.codingrow.com": { "username": "...", "password": "..." } } } composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-ai-personal-shopperbin/magento module:enable Codingrow_AiPersonalShopperbin/magento setup:upgrade && bin/magento setup:di:compile- Plak je licentiesleutel bij Admin → Stores → Configuration → Codingrow → AI Personal Shopper → License → License Key, sla op, en voer dan
bin/magento cache:flushuit.
Configuratie
Open Admin → Stores → Configuration → Codingrow → AI Personal Shopper. Vul je License Key in, zet Enable op Yes, kies je AI Provider en plak de bijbehorende API-sleutel, en bekijk dan de Capabilities.
| Instelling | Wat het doet | Standaard | Opmerkingen |
|---|---|---|---|
| License Key | De licentiesleutel die voor dit domein is uitgegeven. | — | Accepteert een sleutel voor één module of een Codingrow-abonnementssleutel. Zonder geldige licentie wordt de chat niet weergegeven. |
| Enable | Activeert de chatwidget op de storefront. | No | Vereist een geldige licentie en minstens één API-sleutel van een AI-provider. |
| AI Provider | Provider, model en API-sleutel die voor het gesprek worden gebruikt. | — | Gebruik Load models naast het veld Model in plaats van een id te typen. |
| Capabilities | Schakelaars: productzoeken, bestelstatus, promoties, toevoegen aan winkelwagen, spraakinvoer, zelflerende synoniemen, tickets voor menselijke ondersteuning. | — | Schakel alles uit wat je de agent niet wilt laten doen. |
| Human support | Support-e-mail (BCC), reactietijd, ticketprefix, automatisch sluiten, melden bij oplossing. | 24-48 hours | Alleen gebruikt wanneer de capability Human support tickets actief is. |
Verwijderen
Zet Enable op No en sla op om de widget meteen te verbergen. Om de module volledig te verwijderen: bin/magento module:disable Codingrow_AiPersonalShopper en dan composer remove codingrow/module-ai-personal-shopper.
AI-provider instellen
Een provider kiezen
De assistent werkt met elk van de vier providers — jij brengt je eigen API-sleutel mee, en het AI-gebruik wordt rechtstreeks door de gekozen provider aan jou gefactureerd. OpenAI (ChatGPT/GPT) biedt het breedste aanbod; Anthropic (Claude) past goed bij een assistent die zich strikt aan het script moet houden; Google (Gemini) heeft concurrerende prijzen en is snel; OpenRouter geeft je één sleutel voor tientallen modellen van verschillende providers, handig om kosten en kwaliteit te vergelijken.
Een OpenAI API-sleutel aanmaken
- Log in op platform.openai.com.
- Ga naar platform.openai.com/api-keys.
- Klik op Create new secret key, geef een naam (bijv. "AI Personal Shopper") en kopieer hem meteen — hij wordt maar één keer getoond.
- Plak hem bij AI Provider → API Key met Provider ingesteld op OpenAI, en gebruik dan Load models.
Een Anthropic API-sleutel aanmaken
- Log in op console.anthropic.com.
- Ga naar console.anthropic.com/settings/keys.
- Klik op Create Key, geef een naam en kopieer de waarde.
- Plak hem bij AI Provider → API Key met Provider ingesteld op Anthropic, en gebruik dan Load models.
Een Google API-sleutel aanmaken
- Log in op aistudio.google.com met een Google-account.
- Ga naar aistudio.google.com/app/apikey.
- Klik op Create API key, kies of maak een Google Cloud-project en kopieer de sleutel.
- Plak hem bij AI Provider → API Key met Provider ingesteld op Google, en gebruik dan Load models.
Een OpenRouter API-sleutel aanmaken
- Log in op openrouter.ai.
- Ga naar openrouter.ai/keys.
- Klik op Create Key, geef een naam en kopieer de waarde.
- Plak hem bij AI Provider → API Key met Provider ingesteld op OpenRouter, en gebruik dan Load models.
Load models
Zodra de API-sleutel is ingevuld, klik je onder het veld Model op Load models: de module raadpleegt met jouw sleutel het eigen model-lijst-endpoint van de provider en vult een keuzelijst met alle modellen die je sleutel daadwerkelijk kan gebruiken — kies uit de lijst in plaats van een id te typen. Een handmatig tekstveld blijft beschikbaar als terugval voor een model-id dat nog niet in de lijst staat. Vlak onder het veld staat altijd een link naar de juiste pagina om de sleutel van de op dat moment geselecteerde provider te krijgen.
Gebruikershandleiding
Capabilities
Elke capability is een onafhankelijke schakelaar onder AI Provider & Capabilities: productzoeken, bestelstatus opvragen, promoties, toevoegen aan winkelwagen, spraakinvoer, zelflerende synoniemen, tickets voor menselijke ondersteuning. Een capability uitschakelen ontneemt de agent die mogelijkheid meteen — schakel je bijvoorbeeld Human support tickets uit, dan zal de agent nooit voorstellen om een ticket te openen.
Branding en kleuren
Stel een Assistant name in (wordt getoond als de naam van de medewerker, bijv. "Anna") en optioneel een Brand logo (vaste hoogte, zodat het nooit vervormt) of een Brand text met je bedrijfsnaam — beide worden linksboven in de chatheader getoond. De naam van de medewerker blijft zichtbaar als subregel met een live aanwezigheidspuntje onder het merk, ook als er een logo is ingesteld. Accent color bepaalt de openingsknop en de accenten in de chat; Header/theme color (optioneel) kleurt de headerbalk en de berichtenbubbels van de klant — laat leeg om de accent color te hergebruiken.
Zelflerende synoniemen
Indien ingeschakeld (Capabilities → Self-learning synonyms), legt de agent een koppeling vast telkens wanneer het zoekwoord van een klant niet rechtstreeks overeenkomt met de catalogus, maar een latere poging wel — regionale namen, dialect, typefouten, synoniemen. Bekijk en bewerk het register bij Codingrow → AI Personal Shopper → Synonyms: een gepagineerde, inline bewerkbare tabel. Gebruik Export CSV / Import CSV om het te back-uppen, in bulk te bewerken of tussen omgevingen te verplaatsen. De knop Inject into site search zet het hele register over naar de native Search Synonyms van Magento, zodat ook de zoekbalk van de site ervan profiteert — niet alleen de chat. De agent leest ook je handmatig samengestelde native Search Synonyms, zodat beide systemen elkaar versterken.
Tickets voor menselijke ondersteuning
Indien ingeschakeld (Capabilities → Human support tickets), stelt de agent voor een ticket te openen als een klant een mens nodig heeft en het gesprek alleen het probleem niet oplost. Hij vraagt om e-mail (verplicht) en, indien nuttig, een bestelnummer en een telefoon-/WhatsApp-contact, kent dan een ticketnummer toe en stuurt de klant per e-mail de volledige transcriptie, met BCC naar het adres ingesteld bij Human support → Support email (BCC) (blijft dit leeg, dan gaat de e-mail alleen naar de klant). De aan de klant getoonde reactietijdtekst komt uit Human support → Response time. Tickets verschijnen onder het tabblad Tickets & Support: een tabel met View die de contactgegevens en volledige transcriptie opent, een actie om als opgelost te markeren (met een optionele meldings-e-mail), en automatisch sluiten na het ingestelde aantal dagen. De agent classificeert gesprekken die een siteprobleem melden ook als Bug report, zodat problemen je team bereiken zonder dat er een supportticket nodig is.
| Instelling | Wat het doet | Standaard |
|---|---|---|
| Support email (BCC) | Adres dat een BCC-kopie van elke ticket-transcriptie-e-mail ontvangt. | — (alleen klant indien leeg) |
| Response time | Tekst die aan de klant wordt getoond bij het openen van een ticket. | 24-48 hours |
| Ticket number prefix | Prefix gebruikt bij het toekennen van ticketnummers. | — |
| Auto-close after (days) | Tickets zonder activiteit worden automatisch gesloten na dit aantal dagen. | — |
| Notify customer on resolve | Stuurt de klant een e-mail wanneer een ticket vanuit het admin als opgelost wordt gemarkeerd. | Off |
Gesprekken lezen
Codingrow → AI Personal Shopper → Conversations toont elk gesprek, automatisch geclassificeerd als Shopping, Support, Bug report, Possible spam of Other, gepagineerd en filterbaar per type. De actie View opent de volledige thread — elk bericht van klant en assistent, inclusief de productkaarten die bij elke beurt werden voorgesteld — alleen-lezen. Gesprekken kunnen afzonderlijk of in bulk worden verwijderd; oudere gesprekken die de ingestelde bewaartermijn overschrijden, worden verwijderd door een dagelijkse taak (bugmeldingen zijn uitgesloten van automatische opschoning).
Licentie
De licentie wordt uitgegeven voor één domein en kan een losse module-sleutel (AI Personal Shopper) of een Codingrow-abonnementssleutel (alle modules) zijn. Zonder geldige licentie wordt de chatwidget niet weergegeven. Updates zijn inbegrepen binnen dezelfde hoofdversie.