JavaScript Widget SDK (window.PitajIO)
Pitaj.io chat widget na globalnom nivou preglednika izlaže robustan JavaScript API objekat: window.PitajIO.
Putem ovog SDK-a možete programski otvarati i zatvarati chat, slati predefinisane poruke, osluškivati događaje konverzije i proslijediti identitet prijavljenog korisnika.
1. Provjera spremnosti (Ready Event)
Budući da se skripta učitava asinhrono (defer), preporučuje se pozivanje SDK metoda unutar ready callbacka:
window.addEventListener('pitaj:ready', () => { console.log('Pitaj.io SDK je uspješno inicijalizovan!');});
// Ili putem PitajIO objekta:window.PitajIO = window.PitajIO || [];window.PitajIO.push(['on', 'ready', () => { console.log('Widget spreman za rad!');}]);2. Ključne programske metode
open()
Programski otvara prozor chat widgeta na ekranu.
window.PitajIO.open();close()
Zatvara prozor chat widgeta i vraća fokus na stranicu.
window.PitajIO.close();toggle()
Mijenja trenutno stanje (ako je zatvoren otvara ga, ako je otvoren zatvara ga).
window.PitajIO.toggle();sendMessage(text)
Šalje poruku u chat u ime posjetioca i automatski otvara prozor widgeta.
// Primjer: Klik na dugme na stranici šalje pitanje agentudocument.getElementById('cta-btn').addEventListener('click', () => { window.PitajIO.sendMessage('Zanima me ponuda za solarnu elektranu snage 10kW.');});identify(userData)
Povezuje prijavljenog korisnika sa chat sesijom. Agent odmah zna kome se obraća i ne mora ponovo tražiti email ili ime:
window.PitajIO.identify({ userId: 'usr_98124', name: 'Tarik Hadžić', email: 'tarik@kompanija.ba', company: 'Tech Solutions d.o.o.', plan: 'Enterprise VIP'});resetSession()
Briše historiju lokalnog razgovora i resetuje sesiju (korisno prilikom odjave korisnika sa vašeg web portala).
window.PitajIO.resetSession();3. Osluškivanje životnih događaja (Event Hooks)
Možete pratiti interakcije korisnika u vašim analitičkim alatima (Google Analytics 4, Meta Pixel, Mixpanel):
// Korisnik je otvorio chat prozorwindow.PitajIO.on('widget:opened', () => { gtag('event', 'chat_opened', { event_category: 'Pitaj_Chat' });});
// Korisnik je poslao porukuwindow.PitajIO.on('message:sent', (data) => { console.log('Poslana poruka:', data.text);});
// Posjetilac je popunio formu za prikupljanje leadovawindow.PitajIO.on('lead:captured', (lead) => { gtag('event', 'generate_lead', { currency: 'BAM', value: 50.0, lead_email: lead.email });});