ThunderPhone 2.0 er lansert.Kom i gang selv – fra 2¢/min.Les mer om lanseringen

Getting Started

Hurtigstart (API)

Besvar din første telefonsamtale med en AI-stemmeagent: hent en API-nøkkel, opprett en agent, klargjør et telefonnummer og foreta en direkte testsamtale — alt gjennom REST API-et.

Denne veiledningen tar deg gjennom de fire REST-kallene som kreves for å svare på din første telefonsamtale med en stemmeagent.

Trinn 1: Skaff en API-nøkkel

  1. Logg inn
  2. Gå til Nøkler

    Gå til Organisasjon → Nøkler i dashbordet.

  3. Opprett en nøkkel

    Klikk på Opprett nøkkel, gi den et navn, og kopier verdien sk_live_.... Den rå nøkkelen vises bare én gang — lagre den umiddelbart i hemmelighetshåndteringen din.

I resten av denne veiledningen bytter du ut sk_live_YOUR_API_KEY med verdien du nettopp kopierte. Nøkkelen identifiserer automatisk organisasjonen din, så du trenger aldri å legge inn en organisasjons-ID i URL-er.

Trinn 2: Opprett en agent

En agent definerer hvordan KI-en håndterer samtaler — ledetekst, stemme, produktnivå, verktøy og widgettilgjengelighet.

cURL
curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":   "Customer Support",
    "prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
    "voice":  "john",
    "product": "spark"
  }'
Python
import os, requests
 
agent = requests.post(
    "https://api.thunderphone.com/v1/agents",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={
        "name":   "Customer Support",
        "prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
        "voice":  "john",
        "product": "spark",
    },
).json()
print("Agent id:", agent["id"])
Node.js
const agent = await fetch("https://api.thunderphone.com/v1/agents", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.THUNDERPHONE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name:    "Customer Support",
    prompt:  "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
    voice:   "john",
    product: "spark",
  }),
}).then((r) => r.json());
console.log("Agent id:", agent.id);

Trinn 3: Klargjør et telefonnummer

Dette kallet ber ThunderPhone om et nummer og tilordner den nye agenten din som behandler for innkommende anrop. (Hvis du vil ta med ditt eget nummer fra en VoIP- leverandør, kan du se VoIP-tilkoblinger i stedet.)

cURL
# First provision
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"}'
 
# Then assign the agent you created in Step 2
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/<id-from-previous> \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'
Python
number = requests.post(
    "https://api.thunderphone.com/v1/phone-numbers",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={"area_code": "415"},
).json()
requests.patch(
    f"https://api.thunderphone.com/v1/phone-numbers/{number['id']}",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={"inbound_agent_id": agent["id"]},
)
print("Your ThunderPhone number:", number["number"])

Det nye nummeret ditt starter med status="provisioning" og går over til active i løpet av noen sekunder. Når du lukker nettleseren, er nummeret klart til å ta imot anrop.

Trinn 4 (valgfritt): Sett opp en webhook

For sanntidshendelser (dynamisk anropsruting, behandling etter anrop) legger du til et webhook-endepunkt. Abonner bare på hendelsene du trenger.

curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label":  "Prod webhook",
    "url":    "https://your-server.com/thunderphone-webhook",
    "events": ["telephony.incoming", "telephony.complete"]
  }'

Svaret inneholder en engangs-secret — kopier den til hemmelighetshåndtereren din. Bruk denne hemmeligheten til å verifisere X-ThunderPhone-Signature-V2-headeren på innkommende forespørsler (se Oversikt over webhooks).

Trinn 5: Test agenten din

Ring nummeret du nettopp klargjorde. Agenten svarer, presenterer seg og følger instruksen din.

Undersøk anropet etter at det er avsluttet:

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

Gå inn på et bestemt anrop for å hente transkripsjonen og URL-en til opptaket:

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

Neste steg