Preskoči na sadržaj
Dokumentacija proizvoda

Brendy AI Asistent — dokumentacija

Upute za instalaciju, konfiguraciju i korištenje Brendy AI Asistenta, uključujući API ključ i licencu, pregled događaja i API-ja, sigurnost (GDPR) te rješenja najčešćih poteškoća.

Brzi početak

Dodajte skriptu pri dnu dokumenta i inicijalizirajte s obveznim parametrima: projectId, apiKey i license. Bez važeće licence i API ključa widget se neće učitati.

Savjet: najprije testirajte na staging domeni (dodajte je u dopuštene domene licence), zatim prebacite na produkciju.

<script src="https://cdn.brendigo.com/ai/assistant.js" defer></script>
<script>
  window.BrendyAI = window.BrendyAI || {};
  BrendyAI.init({
    projectId: "YOUR_PROJECT_ID",
    apiKey: "YOUR_API_KEY",
    license: "YOUR_LICENSE_KEY",
    lang: "hr",
    theme: "auto"
  });
</script>

Ugradnja

Umetnite skriptu neposredno prije oznake </body>. Atribut defer osigurava da ne blokira renderiranje. Dostupni su i CMS dodaci (WordPress, Drupal, Joomla) te NPM paket za SPA okruženja.

  • position: "right" ili "left" (pozicija plutajućeg gumba)
  • offset: npr. { x: 24, y: 24 } (udaljenost od ruba)
  • zIndex: npr. 1050 (redoslijed sloja)
<script src="https://cdn.brendigo.com/ai/assistant.js" defer></script>
<script>
  BrendyAI.init({
    projectId: "YOUR_PROJECT_ID",
    apiKey: "YOUR_API_KEY",
    license: "YOUR_LICENSE_KEY"
  });
</script>

API ključ i licenca

Nakon aktivacije projekta u Brendigo konzoli dobit ćete API ključ i licencu. API ključ služi za autentikaciju i obračun kvota, dok licenca definira plan (Free, Pro, Enterprise) i dopuštene domene.

  • Sigurnost ključa: ne izlažite ga javno; gdje je moguće, koristite proxy na poslužitelju.
  • Rotacija: promijenite ključ pri sumnji na kompromitaciju; ograničite CORS na vlastite domene.
  • Licenca: dodajte staging i produkcijske domene na popis dopuštenih kako bi učitavanje bilo uspješno.
// Proxy primjer (pseudo-kod): sakrivanje API ključa na poslužitelju
// Klijent
fetch('/api/assistant-proxy', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ event: 'message', payload })
});

// Server (Node/Express)
app.post('/api/assistant-proxy', async (req, res) => {
  const r = await fetch('https://api.brendigo.com/assistant', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + process.env.BRENDY_API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(req.body)
  });
  res.status(r.status).send(await r.json());
});

Konfiguracija

Pregled dostupnih opcija konfiguracije.
Opcija Tip Zadano Opis
projectIdstringID vašeg projekta (obavezno).
apiKeystringAPI ključ za autentikaciju i kvote (obavezno).
licensestringLicenčni ključ; plan i dopuštene domene (obavezno).
langstring"auto"Jezik sučelja; može se naslijediti iz lang atributa dokumenta.
themestring"auto""light" | "dark" | "auto" (poštuje prefers-color-scheme).
sourcesarray<url>[]URL-ovi iz kojih asistent uči (FAQ, sitemap, dokumentacija).
userobject{}Podaci o korisniku (id, email uz privolu) radi personalizacije.
positionstring"right"Pozicija plutajućeg gumba.
offsetobject{x:24,y:24}Udaljenost od rubova prozora.
zIndexnumber1050Redoslijed sloja u odnosu na ostale elemente.
consentModestring"auto"Integracija s Google Consent Mode v2 / CMP-om.
endpointstring"/api/assistant"Vlastiti backend endpoint ako koristite proxy.
retryobject{count:2, backoff:300}Ponašanje pri pogreškama (broj pokušaja i odgoda u ms).
leadCapturebooleanfalseUključuje prikupljanje leadova (emitira događaj lead).
contextobject{}Početni kontekst (npr. { plan: 'Pro', cartValue: 129.90 }).
onReadyfunctionPoziva se kada je widget spreman.

Događaji i API

Asistent emitira događaje na objektu window i pruža tanki API preko globalnog objekta BrendyAI.

  • ready — widget je inicijaliziran
  • open/close — prozor asistenta otvoren/zatvoren
  • message — svaka korisnička ili AI poruka
  • lead — prikupljen potencijalni kontakt (ako je omogućeno)
  • error — pogreška u radu widgeta ili mreže
// Callback na spremnost
BrendyAI.on('ready', (ctx) => {
  console.log('Asistent spreman', ctx.version);
});

// Slušanje poruka
BrendyAI.on('message', (payload) => {
  // { text, from: 'user' | 'assistant', ts }
  analytics.track('ai_message', payload);
});

// Programski otvoriti / zatvoriti prozor
BrendyAI.open();
BrendyAI.close();

// Predavanje konteksta
BrendyAI.context.set({ cartValue: 129.90, plan: 'Pro' });

Otklanjanje poteškoća

  • Widget se ne prikazuje: provjerite učitavanje skripte (bez 404) i vrijednosti projectId, apiKey, license.
  • Blokiran od CMP-a: koristite consentMode: "auto" ili ručno proslijedite stanje privole.
  • Sudar stilova: povećajte zIndex ili postavite position na left.
Prijavi problem
// Provjera inicijalizacije
if (!window.BrendyAI || !BrendyAI.version) {
  console.warn('Brendy AI nije inicijaliziran');
}

// Evidentiranje pogrešaka
BrendyAI.on('error', (e) => console.error('[BrendyAI]', e));

Podrška

Trebate pomoć ili API ključ/licencu? Pišite na podrska@brendigo.com ili otvorite tiket preko kontakta.