ThunderPhone 2.0 är här.Kom igång själv, från 2 cent/minut.Läs lanseringsnyheten

Getting Started

Snabbstart (API)

Besvara ditt första telefonsamtal med en AI-agent: hämta en API-nyckel, skapa en agent, tilldela ett telefonnummer och ring ett live-testsamtal – allt via REST API:t.

Den här guiden går igenom de fyra REST-anrop som krävs för att besvara ditt första telefonsamtal med en röstagent.

Steg 1: Hämta en API-nyckel

  1. Logga in
  2. Gå till Nycklar

    Gå till Organisation → Nycklar på instrumentpanelen.

  3. Skapa en nyckel

    Klicka på Skapa nyckel, ge den ett namn och kopiera värdet sk_live_.... Den råa nyckeln visas endast en gång — spara den omedelbart i din hemlighetshanterare.

I hela den här guiden ska du ersätta sk_live_YOUR_API_KEY med värdet du just kopierade. Nyckeln identifierar din organisation automatiskt, så du behöver aldrig lägga in ett organisations-id i URL:er.

Steg 2: Skapa en agent

En röstagent definierar hur AI:n hanterar samtal — prompt, röst, produktnivå, verktyg och behörighet för widgetar.

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);

Steg 3: Tillhandahåll ett telefonnummer

Det här anropet ber ThunderPhones demopool om ett nummer och tilldelar din nya agent som hanterare för inkommande samtal. (Om du vill använda ett eget nummer från en VoIP- leverantör, se i stället VoIP-anslutningar.)

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"])

Ditt nya nummer börjar med status="provisioning" och övergår till active inom några sekunder; när du stänger webbläsaren är numret redo att ta emot samtal.

Steg 4 (valfritt): Konfigurera en webhook

Lägg till en webhook-slutpunkt för händelser i realtid (dynamisk samtalsdirigering, bearbetning efter samtal). Prenumerera bara på de händelser du behöver.

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 innehåller en secret för engångsvisning — kopiera den till din hemlighetshanterare. Använd hemligheten för att verifiera rubriken X-ThunderPhone-Signature för inkommande begäranden (se Översikt över webhooks).

Steg 5: Testa din agent

Ring numret du nyss tillhandahöll. Agenten svarar, presenterar sig och följer din prompt.

Granska samtalet när det har avslutats:

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

Gå in på ett specifikt samtal för att hämta transkriptionen och inspelnings-URL:en:

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"

Nästa steg