ThunderPhone 2.0 on nüüd saadaval.Iseteenindusena alates 2 senti/min.Loe uudist

Developer cookbook

Lisa veebividin manustatud kujul

Lisa häälagent oma turundus- või tugisaidile ühe skriptisildiga — külastajad saavad sellega rääkida otse brauserist, telefoninumbrit pole vaja.

Veebividin annab sinu saidi külastajatele brauseri mikrofoni abil klõpsuga algatatava vestluse AI-häälagendiga. See on eraldi JavaScripti / Reacti SDK koos oma SDK viitega — see juhend keskendub ThunderPhone'i-poolsele seadistusele, mida vidin vajab.

Eeldused

  1. Loo agent

    Agent, mille viip ja hääl käitavad vidina seanssi. Määra widget_enabled: true (vaikeväärtus).

  2. Vali marsruutimisrežiim
    • mode="agent" — üks staatiline agent võtme kohta. Kõige lihtsam.
    • mode="webhook" — sinu server valib agendi külastaja järgi web.incoming veebikonksu kaudu. Kasuta seda sisselogitud kasutajate, A/B-testide või lehepõhise marsruutimise jaoks.
  3. Loetle lubatud domeenid

    Määra iga hostinimi, kuhu vidin manustatakse. Brauserid saadavad iga seansitaotlusega lehe päritolu, seega takistab see loend sinu võtmel töötamast, kui keegi kopeerib selle teisele saidile. See ei ole autentimine: brauseriväline skript võib saata mis tahes Origin päise. localhost ei ole tootmises automaatselt lubatud; kui soovid tootmis-API-ga kohalikult testida, lisa localhost loendisse.

  4. Vali brauseri alistused

    Otsusta, milliseid seansisätteid sinu leht võib saata. Uued võtmed ei aktsepteeri ühtegi; vaata Brauseri alistused.

Loo avaldatav võti

Static agent
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"],
    "allowed_overrides": ["context"]
  }'
Dynamic via webhook
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"]
  }'

Vastus sisaldab key väärtust, mis algab tekstiga pk_live_.... Avaldatavad võtmed on kavandatult avalikud — neid on turvaline lisada sinu front-endi paketti. Kõigi väljade kohta vaata avaldatavate võtmete viidet.

Lisa vidin oma saidile

Kolme integreerimisviisi kirjeldatakse vidina SDK dokumentatsioonis:

Kõik kolm kasutavad sama publishableKey väärtust ning kuvavad mikrofoninupu ja kõnesisese helielemendi.

Brauseri alistused

Vidin saab lehelt saata neli seansipõhist sätet:

SäteVidina atribuutMida see muudab
contextcontextLehe tekst, mis lisatakse viitena agendi viibale
variablespuudub (ainult töötlemata POST /v1/widget/session)Viibas olevate {{variable}} kohatäidete väärtused
voicevoiceAgendi hääl selle seansi jaoks
languagelanguageKeel, milles seanss algab

Sinu avaldatav võti on avalik, seega võib igaüks, kellel see on, saata need sätted, sealhulgas skriptist, mis jäljendab sinu domeeni. Seetõttu on kõik need vaikimisi välja lülitatud, kuni lubad need võtmel: märgi need juhtpaneelil vidina loomisel või muutmisel jaotises Brauseri alistused või määra allowed_overrides avaldatavate võtmete API kaudu. Luba ainult see, mida sinu leht tegelikult saadab.

Seansitaotlus, mis sisaldab sätet, mida võti ei luba, nurjub väärtusega 400 ja nimetab selle:

{
  "error": "override_not_allowed",
  "fields": ["voice"],
  "message": "This publishable key does not allow the browser to set `voice`. ..."
}

Kontroll rakendub mõlemas režiimis. Veebikonksu režiimis edastatakse lubatud säte ka sinu web.incoming veebikonksule (context saabub nimega website_context). Enne selle sätte lisamist loodud võtmed lubavad kõiki nelja, seega olemasolevad manustused töötavad edasi; lülita välja see, mida sa ei kasuta.

Vidina context kärbitakse 12 000 tähemärgini (ligikaudu 3400 tüüpilise ingliskeelse teksti tokenit) ning see arvestatakse viiba mahu lisatasu hulka. Agendile antakse juhis käsitleda seda lehe sisuna, mitte juhistena.

Veebividina režiimi webhookid

Kui mode="webhook", kutsub ThunderPhone sinu webhook_url-i iga seansi alguses web.incoming payloadiga. Tagasta häälagendi konfiguratsioon, mida soovid selle külastaja jaoks käivitada — see järgib sama vastuseskeemi nagu telefonikõned:

{
  "prompt":  "You are a VIP concierge for Jane Doe.",
  "voice":   "john",
  "product": "storm-base",
  "tools":   [ /* per-customer tools */ ]
}

Saad lisada viibale konteksti oma seansist (milline klient sirvib, millisel lehel ta on) ning vahetada agente iga juurutuse jaoks.

Jälgi seansse

Vidina seansid kuvatakse GET /v1/calls kaudu koos direction="widget" — sama transkriptsioon, salvestus, hindamine ja arveldus nagu telefonikõnedel. Ainult vidina seansside armatuurlaua loomiseks filtreeri direction järgi.


Järgmised sammud