Drupal-chattbotmodul
Använd ChattyBox officiella Drupal-modul när du vill ha en Composer-hanterad installation för en Drupal 10- eller Drupal 11-webbplats. Den lokalt granskade modulen 0.1.0 bifogar sin hostade widget-loader för kvalificerade förfrågningar som inte gäller administration och där förfrågans Drupal-format är HTML; den använder en hårdkodad API-slutpunkt. Den här guiden täcker den operativa installationen. Sidan för Drupals AI-chattbotmodul sammanfattar produkten och utvärderingsflödet.
Innan du installerar
Slutför först flödet Kom igång: anslut din offentliga Drupal-URL, granska indexerade sidor och verifiera representativa svar i Testa chatbot. Under Installera → Nycklar & domäner granskar du en befintlig offentlig widgetnyckel eller skapar en ny; i båda fallen kontrollerar du nyckelns origininställningar. Under Installera → Installation på webbplatsen väljer du en lämplig nyckel och kopierar värdet data-api-key från installationssnutten.
Composer-installation
Den här installationen använder det offentliga GitHub-repositoriet som Composer VCS-källa. Lägg till repositoriedeklarationen nedan innan du kör composer require; kontrollera paketets aktuella tillgänglighet och taggar före installationen.
Lägg till det offentliga GitHub-repositoryt i rotens composer.json i det Drupal-projekt som använder modulen:
{
"repositories": {
"chattybox-drupal": {
"type": "vcs",
"url": "https://github.com/OpenStaticFish/chattybox-drupal.git"
}
}
}
Om projektet redan har ett avsnitt repositories slår du ihop posten chattybox-drupal med det. Installera sedan den taggade modulen:
composer require openstaticfish/chattybox-drupal:^0.1
Paketet deklareras som drupal-module och kräver Drupal ^10 || ^11. Modulen anger PHP 8.1 som minimiversion, men din Drupal-version kan kräva en nyare PHP-version. Drupals vanliga Composer-installationssökvägar placerar det ofta under web/modules/contrib/, men projektets mappningar kan skilja sig. ^0.1 är en versionsbegränsning, inte en exakt låsning: Composer väljer och låser en version. Använd en exakt version om du behöver reproducerbara installationer.
Granska det offentliga källrepositoriet för Drupal-modulen och taggade ändringar före uppgradering; kontrollera vilken uppdateringsmekanism som gäller för din installation.
Om du i stället vill testa den aktuella utvecklingsgrenen:
composer require openstaticfish/chattybox-drupal:dev-main
Aktivera och konfigurera
- Aktivera ChattyBox från Extend eller kör
drush en chattybox. - Öppna Configuration > Web services > ChattyBox.
- Klistra endast in widgetens offentliga API-nyckel från webbplatsens installationssnutt.
- Behåll URL:en till det hostade widgetskriptet om inte ChattyBox har tillhandahållit en förhandsgransknings- eller självhostad loader-URL.
- Lämna språkåsidosättningen tom för att följa projektets språkpolicy, eller ange en stödd kod med gemener, till exempel
en,frellerde. En stödd åsidosättning får företräde endast om projektet tillåter script-åsidosättningar. I den hostade widgetversion 16 som den aktuella källkoden avser prövar automatiskt läge sidans språk, webbläsarens språk och därefter det konfigurerade standardspråket; språk som inte stöds hoppas över och engelska används till sist som reserv. Fast läge använder projektets standardspråk om det stöds, annars engelska. Kontrollera vilken loader som är driftsatt innan du förlitar dig på detta versionsberoende beteende. - Aktivera chattboten och spara konfigurationen.
På administrationsrutter och förfrågningar där förfrågans Drupal-format inte är HTML bifogar den granskade modulen inte widgetens loader. Den kontrollerar inte det slutliga svarets Content-Type och avgör inte om frontend-innehåll är privat. För kvalificerade förfrågningar bifogar den den offentliga nyckeln, den hårdkodade API-slutpunkten, ett valfritt språk och widgetens loader via Drupals deklarerade bibliotek och drupalSettings.
Nya installationer är avstängda och har en tom nyckel och språkåsidosättning. Inställningsformuläret finns på /admin/config/services/chattybox och kräver behörigheten administer chattybox configuration. Modulen laddar widgeten; den crawlar eller synkroniserar inte Drupal-innehåll.
API-slutpunkten är hårdkodad i den granskade modulversionen; den hämtas inte från nyckeln och uppdateras inte automatiskt. Om du ändrar loader-URL:en ändras inte slutpunkten. Jämför den med webbplatsens installationssnutt. Om snutten använder en annan API-driftsättning ska du använda dess manuella widgetintegration utan modulen. Fjärr-URL:er för skript måste använda HTTPS (HTTP tillåts endast för lokala utvecklingsvärdar).
Nycklar som skapats utan begränsningar fungerar från alla webbläsarorigins; en nyckel som förberetts för en webbplats kan redan vara begränsad till just den webbplatsens origin. Valfria begränsningar under Installera → Nycklar & domäner kräver exakt schema, värdnamn och port för varje avsedd origin. En begränsad nyckel ger 401 Invalid API key om den effektiva origin saknas eller inte tillåts. Origin hämtas från Origin eller, om den saknas, från origin i Referer. Originbegränsningar är extra skydd, inte besökarautentisering.
Uteslut ytterligare rutter
Modulen hoppar automatiskt över administrationsrutter. Det är inte en integritetskontroll för allt frontend-innehåll: uteslut checkout-, konto- och medlemsrutter uttryckligen vid behov. En anpassad modul kan inaktivera widgeten på ytterligare offentliga rutter med hook_chattybox_load_widget_alter():
Ruttens namn nedan är ett exempel. Modulen lägger inte till cachekontexter eller cachetaggar för hookens beslut. Implementera och verifiera webbplatsspecifik cachevariation och cacheinvalidering för varje villkor, både när widgeten bifogas och när den inte gör det, genom Drupal- och mellanliggande cacher. En uteslutning är inte en åtkomstkontroll.
/**
* Implements hook_chattybox_load_widget_alter().
*/
function mymodule_chattybox_load_widget_alter(&$should_load, $config, $route_match) {
if ('commerce_checkout.form' === $route_match->getRouteName()) {
$should_load = FALSE;
}
}
Manuell reservlösning
Composer är den rekommenderade installationsvägen. Om din Drupal-deployment inte kan använda Composer kopierar du modulen till web/modules/custom/chattybox eller en annan katalog för anpassade moduler, aktiverar den och konfigurerar den från Configuration > Web services > ChattyBox.
Klistra inte in någon autentiseringsuppgift för ChattyBox-hantering i modulen. Widgetens offentliga API-nyckel är avsedd för frontend-markup.
Använd endast en loader: aktivera inte modulen samtidigt som ett snippet i temat, en GTM-tagg eller en SDK-montering. Den granskade modulen hoppar över att lägga in en loader om den hittar ett markerat script[data-chattybox-widget="true"]; den validerar eller konfigurerar inte om det skriptet och upptäcker inte omarkerade skript.
Modulens automatiska loader kontrollerar inte samtycke innan den initierar widgeten. Om samtycke krävs före förfrågningar ska du använda en samtyckesmedveten integration i stället för den automatiska loadern. Vid SPA-ruttändringar eller återkallat samtycke ska laddning på uteslutna rutter förhindras och en initierad widget aktivt avvecklas genom en integration som stöds av den loader som är driftsatt. Det räcker inte att dölja widgeten eller bara ta bort skripttaggen. Initiera widgeten på nytt endast när det är tillåtet. Avveckling kan inte ångra förfrågningar som servern redan har behandlat.
Verifiering
Efter att du har konfigurerat modulen:
- Öppna en offentlig Drupal-sida i ett inkognitofönster.
- Bekräfta att widgetens startknapp visas en gång.
- Ställ en riktig besökarfråga.
- Kontrollera att ett svar som stöds innehåller relevanta källhänvisningar till indexerade offentliga Drupal-sidor, och att en fråga som inte stöds får reservsvaret som kan sakna källor.
- Kontrollera webbläsarkonsolen efter saknad
data-api-key,data-api-urleller nyckelfel. - Testa både uteslutna och inkluderade rutter med Drupal-, sid- och CDN-cacher både kalla och uppvärmda. Bygg om relevanta cacher efter ändringar i inställningar eller hooks. En uteslutning på serversidan avvecklar inte en widget som redan har laddats vid klientbaserad navigering.
Följ lanseringschecklistan innan du tillkännager chattboten.