Vloženie webového widgetu
Webový widget umožňuje návštevníkom vašej stránky konverzáciu s hlasovým agentom po kliknutí pomocou mikrofónu prehliadača. Ide o samostatné JavaScript / React SDK s vlastnou referenciou SDK — tento návod sa zameriava na nastavenie na strane ThunderPhone, ktoré widget potrebuje.
Predpoklady
- Vytvorte agenta
Agent, ktorého prompt a hlas budú spúšťať reláciu widgetu. Nastavte
widget_enabled: true(predvolená hodnota). - Rozhodnite o režime smerovania
mode="agent"— jeden statický agent pre každý kľúč. Najjednoduchšie riešenie.mode="webhook"— váš server vyberie agenta pre každého návštevníka prostredníctvom webhookuweb.incoming. Použite ho pre prihlásených používateľov, A/B testy alebo smerovanie podľa stránky.
- Uveďte povolené domény
Publikovateľné kľúče sú viazané na pôvod. Musíte uviesť každý názov hostiteľa, do ktorého bude widget vložený.
localhost/127.0.0.1sú počas lokálneho vývoja vždy povolené.
Vytvorte publikovateľný kľúč
curl -X POST https://api.thunderphone.com/v1/publishable-key \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Marketing site (prod)",
"mode": "agent",
"agent_id": 12,
"allowed_domains": ["example.com", "*.example.com"]
}'
curl -X POST https://api.thunderphone.com/v1/publishable-key \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support (dynamic)",
"mode": "webhook",
"webhook_url": "https://example.com/thunderphone/widget-hook",
"allowed_domains": ["support.example.com"]
}'
Odpoveď obsahuje key začínajúci na pk_live_.... Publikovateľné
kľúče sú verejné už z princípu — je bezpečné zahrnúť ich do balíka front-endu.
Všetky polia nájdete v referencii publikovateľných kľúčov.
Vložte widget na svoju stránku
V dokumentácii SDK widgetu sú popísané tri možnosti integrácie:
<ThunderPhoneWidget publishableKey="pk_live_..." />.
useThunderPhone() pre vlastné používateľské rozhrania.
ThunderPhone.mount({...}) pre stránky bez bundlera.
Všetky tri prijímajú rovnaký publishableKey a vykreslia tlačidlo mikrofónu
aj zvukový prvok počas hovoru.
context widgetu je skrátený na 12 000 znakov (približne 3 400
tokenov typického anglického textu) a započítava sa do
príplatku za veľkosť promptu.
Webhooky režimu widgetu
Keď mode="webhook", ThunderPhone zavolá vaše webhook_url pri každom
začatí relácie s dátami web.incoming. Vráťte konfiguráciu agenta,
ktorú chcete spustiť pre daného návštevníka — používa rovnakú
schému odpovede ako telefónne
hovory:
{
"prompt": "You are a VIP concierge for Jane Doe.",
"voice": "john",
"product": "storm-base",
"tools": [ /* per-customer tools */ ]
}
Do promptu môžete pridať kontext z vlastnej relácie (ktorý zákazník prehliada stránku, na ktorej stránke sa nachádza) a meniť agentov podľa jednotlivých nasadení.
Monitorovanie relácií
Relácie widgetu sa zobrazujú v
GET /v1/calls s
direction="widget" — majú rovnaký prepis, nahrávku, hodnotenie a
fakturáciu ako telefonické hovory. Filtrujte podľa direction a vytvorte si
panel len pre widget.
Ďalšie kroky
Podrobnosti integrácie React / hook / CDN.
Implementujte tok mode="webhook" od začiatku do konca.
Každé pole v prostriedku kľúča.
Preskočte widget; ovládajte LiveKit priamo pre vlastné používateľské rozhrania.