Open in
Foreta utgående samtaler (API)
Utløs en KI-drevet utgående samtale fra din egen kode — for spørreundersøkelser, oppfølging eller bekreftelsesflyter.
Utgående oppringing lar deg sende et destinasjonsnummer og en agentkonfigurasjon til ThunderPhone, slik at KI-en ringer på dine vegne. Vanlige bruksområder:
- Avtalebekreftelser
- Tilbakeoppringinger for undersøkelser
- «Andre forsøk»-oppfølging etter et ubesvart anrop
- Varsler i utsendelsesstil
Forutsetninger
- Velg et nummer aktivert for utgående anrop
Bruk et nummer du eier gjennom en VoIP-tilkobling, eller be om tillatelse til å bruke ThunderPhone-numrene dine til utgående anrop fra siden Phone Numbers. ThunderPhone-numre starter som kun innkommende. ThunderPhone gjennomgår hver forespørsel manuelt. Når den er godkjent, kan numrene ringe opp til den godkjente daglige grensen (som tilbakestilles kl. 00:00 UTC) og kjøre kampanjer, og du kan be om en høyere grense. Kundens VoIP-numre har ingen daglig grense, så vi anbefaler dem for utgående anrop. Se Bruk dine egne numre.
- Opprett en agent
En prompt tilpasset utgående anrop starter vanligvis med at agenten identifiserer seg selv og formålet sitt — «Hei, dette er Acme som ringer for å bekrefte avtalen din i morgen kl. 15 …» Angi
outbound_speak_ordertilagent_first(standard). - Hold en positiv saldo
Utgående anrop returnerer
402 Payment Requiredhvis saldoen er ≤$0.00. Fyll på saldoen eller aktiver automatisk påfylling under Organisasjon → Faktureringsinnstillinger i dashbordet.sk_live_- nøkkelen din kan sjekke saldoen medGET /v1/billing, men kan ikke fylle på saldoen eller endre automatisk påfylling.
Ring med en lagret agent
Den enkleste metoden — referer til en agent med ID:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12
}'Svar:
{ "call_id": 987654321, "status": "initiated" }Ring med innebygd konfigurasjon
Hvis du vil ha en engangsledetekst som ikke er verdt å lagre som en agent,
sender du config i stedet. Strukturen samsvarer med svarskjemaet for
call.incoming-webhooken:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"config": {
"prompt": "You are confirming Jane Doe appointment for 3pm tomorrow…",
"voice": "john",
"product": "spark"
}
}'Følg samtalen
Abonner parallelt på
telephony.complete-webhooken —
den raskeste måten å vite at en samtale er avsluttet på. Hvis du ikke kan ta imot innkommende
webhooker, spør GET /v1/calls/{call_id} hvert par sekunder; oppføringen
inneholder end_reason, duration_seconds og opptaks-URL-en når samtalen avsluttes.
Hvis agenten din er konfigurert til å hente ut strukturerte data etter samtalen, leveres disse dataene separat etter at fullføringen er ferdig.
Send variabler per samtale til en lagret agent
Lagrede agenter kan bruke plassholdere som {{name}} eller {{name|there}} i
prompttekst. Når du foretar en utgående samtale med agent_id, sender du
variables med verdiene for den samtalen:
{
"from_number": "+[REDACTED_PHONE]",
"to_number": "+[REDACTED_PHONE]",
"agent_id": 12,
"variables": {
"name": "Jordan"
}
}Bruk strengverdier med plassholdernavnet som nøkkel. Disse variablene gjelder
lagrede agenter; denne veiledningens innebygde config-eksempel bruker dem ikke.
Feiltilstander det er verdt å håndtere
| Feil | Løsning |
|---|---|
402 Payment Required | Fyll på saldoen eller aktiver automatisk påfylling |
400 med code: destination_not_allowed | ThunderPhone ringer ikke dette nummeret: ugyldige numre, nødnumre, numre med overtakst, kortnumre eller land underlagt sanksjoner. Fra ThunderPhone-numre kan du bare ringe vanlige amerikanske og canadiske numre (ikke numre med overtakst). reason angir hvilket; se blokkerte destinasjoner |
409 med retryable: false for et ThunderPhone-nummer | Følg code: be om utgående samtaler på siden Phone Numbers, vent på en pågående gjennomgang, eller bruk et annet kvalifisert nummer |
429 med code: platform_outbound_daily_limit_reached | Organisasjonen har brukt opp dagens utgående samtaler fra ThunderPhone-numre. Vent til resets_at (00:00 UTC), be om en høyere grense på siden Phone Numbers, eller ring fra et nummer på din egen VoIP-tilkobling |
429 med code: concurrent_call_limit_reached | Organisasjonen har så mange samtaler pågående som grensen for samtidige samtaler tillater (20 som standard, inkludert innkommende, utgående, nett- og testsamtaler). Prøv på nytt etter antallet sekunder i Retry-After-headeren eller når en samtale avsluttes; send e-post til support@thunderphone.com for å øke grensen |
429 med code: same_number_too_soon | Du ringte det samme to_number for mindre enn 10 sekunder siden. Prøv på nytt etter antallet sekunder i Retry-After-headeren |
409 med retryable: false for et kundes VoIP-nummer | Korriger tilstanden som er angitt av code; ved verifiseringsfeil kjører du POST /v1/phone-numbers/{id}/verify-voip |
409 idempotenskonflikt | Gjenbruk nøkkelen bare med den opprinnelige normaliserte forespørselen, eller send en ny nøkkel |
404 from_number is not registered to this organization | Bekreft at from_number samsvarer med et aktivt telefonnummer i organisasjonen din. Et nummer som allerede klargjøres, har feilet, frigjøres eller er frigitt, returnerer også dette svaret |
500 med bare et detail-felt | Ingen utgående trunk er konfigurert. Kontakt brukerstøtte; dette er ikke et problem med nummerstatus som du kan korrigere |
502 Bad Gateway | Midlertidig SIP-/LiveKit-feil; det er trygt å prøve på nytt |
Se referansen for utgående samtaler
for den komplette stabile listen over kvalifiseringskoder og begge 409-svarformatene.
Hvis et aktivt nummer blir ukvalifisert etter at forespørselen er godtatt, men før
samtalen foretas, returnerer den endelige kontrollen 409-nyttelasten som ikke kan prøves på nytt.
Kontrollere ventetid
Utgående samtaler som varer lenge fordi mottakeren er treg til å svare
(IVR-trær, køer), kan begrenses med max_hold_seconds:
{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12,
"max_hold_seconds": 120
}Agenten legger på hvis det ikke har blitt mottatt menneskelig lyd de siste N sekundene. Standardverdien er 900 sekunder (15 minutter).