ThunderPhone 2.0 je stigao.Postavite sve sami, već od 2 ¢/min.Pročitajte objavu

Developer cookbook

Obrada dolaznih poziva (API)

Cjeloviti postupak: konfigurirajte agenta, dodijelite ga telefonskom broju, primite poziv i pregledajte transkript.

Standardni postupak „odgovaranja na telefon pomoću umjetne inteligencije” iz Vašeg terminala. Vi ćete:

  1. Izraditi agenta s upitom i glasom.
  2. Dodijeliti (ili prenijeti) telefonski broj i postaviti agenta kao njegov upravitelj dolaznih poziva.
  3. Nazvati broj. Pregledati zapis poziva, transkript i snimku.

Ukupno API poziva: četiri. Ukupno vrijeme: manje od pet minuta.

1. Izradite agenta

Agent objedinjuje prompt, glas i razinu proizvoda koji će voditi poziv. Na agentu možete postaviti i ograničenja poziva, kao što su max_call_duration_seconds i ring_duration_seconds. Novim agentima potrebna je i vremenska zona. Pogledajte Agenti za sva polja konfiguracije; najmanje potrebno je:

curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Acme Support",
    "prompt":  "You are a friendly support agent for Acme. Help callers with orders and returns. Keep answers short.",
    "voice":   "john",
    "product": "spark"
  }'

Spremite vraćeni id — trebat će Vam u koraku 2.

2. Nabavite telefonski broj

Ako Vam je potreban samo broj koji možete nazvati, nabavite ThunderPhone broj iz ThunderPhoneova skupa brojeva:

curl -X POST https://api.thunderphone.com/v1/phone-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_code": "415"}'

Odgovor uključuje id i number u formatu E.164. ThunderPhone brojevi počinju sa status="provisioning" i postaju active unutar nekoliko sekundi — po potrebi provjeravajte GET /v1/phone-numbers/{id} kako biste pratili prijelaz.

3. Dodijelite agenta

Povežite agenta iz koraka 1 s dolaznim smjerom broja:

curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/{phone_id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'

To je sve — broj je aktivan. Nakon što se za Vašu organizaciju odobre odlazni pozivi, u istom PATCH zahtjevu možete postaviti i outbound_agent_id. Do tada API odbija tu dodjelu s 400.

Ako dolazne pozive usmjeravate putem konfiguracijskog webhooka umjesto fiksnog inbound_agent_id, taj webhook sada može vratiti timezone za svaki poziv zajedno s agent_id i variables.

4. Primite poziv

Nazovite broj sa svojeg telefona. Agent se javlja, predstavlja se u skladu s Vašim upitom i razgovor započinje.

Dok je poziv u tijeku, prikazuje se u GET /v1/calls sa statusom status="in_progress". Kada završi, zapis se ažurira s vrijednostima end_reason, duration_seconds, billable_minutes i (naknadno) URL-om snimke te ocjenom umjetne inteligencije.

Dolazni pozivi uračunavaju se u ograničenje vaše organizacije za istodobne pozive (prema zadanim postavkama 20 poziva u tijeku, dijeljeno s odlaznim, web i testnim pozivima). Poziv koji stigne nakon dosegnutog ograničenja odbija se prije nego što se agent javi i prekida se, ne naplaćuje se te se bilježi kao neuspjeli poziv s razlogom završetka concurrent_call_limit_reached. Pošaljite e-poruku na support@thunderphone.com ako vam je potrebno veće ograničenje.

5. Pregledajte rezultate

Dohvatite popis nedavnih poziva:

curl 'https://api.thunderphone.com/v1/calls?limit=5' \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Dohvatite transkript:

curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

I URL snimke (kratkotrajan, potpisan):

curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Ako ste se pretplatili na telephony.complete webhook, primit ćete iste podatke kao POST zahtjev na svoj poslužitelj — pogledajte call.complete.

Ako vaš agent ima konfigurirana polja za ekstrakciju, podaci o dovršenom pozivu mogu sadržavati i strukturirane izdvojene podatke.


Sljedeći koraci