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 direktetest samtale – alt gjennom REST API-et.

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

Trinn 1: Hent 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åndtereren din.

Gjennom hele denne veiledningen erstatter du sk_live_YOUR_API_KEY med verdien du nettopp kopierte. Nøkkelen identifiserer organisasjonen din automatisk, så du trenger aldri å legge en organisasjons-ID i URL-er.

Trinn 2: Opprett en agent

En stemmeagent definerer hvordan KI-en håndterer samtaler — prompt, stemme, produktnivå, verktøy og hvilke widgeter den kan brukes i.

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 ThunderPhones demopool om et nummer og tildeler den nye agenten din som behandler for innkommende anrop. (Hvis du vil bruke 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 å motta anrop.

Trinn 4 (valgfritt): Konfigurer en webhook

For sanntidshendelser (dynamisk anropsruting, behandling etter samtalen) 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 secret som bare vises én gang — kopier den til hemmelighetsbehandleren din. Bruk denne hemmeligheten til å verifisere headeren X-ThunderPhone-Signature i innkommende forespørsler (se Oversikt over webhooks).

Trinn 5: Test agenten din

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

Undersøk samtalen etter at den er avsluttet:

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

Gå inn på en bestemt samtale 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 trinn