Open in
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.
Den här guiden visar de fyra REST-anrop som krävs för att besvara ditt första telefonsamtal med en röstagent.
Steg 1: Skaffa en API-nyckel
- Logga in
Öppna app.thunderphone.com.
- Gå till Nycklar
Gå till Organisation → Nycklar i dashboarden.
- 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 ersätter du sk_live_YOUR_API_KEY med värdet du
nyss kopierade. Nyckeln identifierar automatiskt din organisation, så
du behöver aldrig ange ett organisations-id i URL:er.
Steg 2: Skapa en agent
En röstagent definierar hur AI:n hanterar konversationer — prompt, röst, produktnivå, verktyg och behörighet för widgetar.
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"
}'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"])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: Tilldela ett telefonnummer
Det här anropet ber ThunderPhone om ett nummer och tilldelar din nya agent som hanterare för inkommande samtal. (Om du vill ta med ditt eget nummer från en VoIP-leverantör, se i stället VoIP-anslutningar.)
# 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}'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 har hängt upp i 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 endast 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 engångs-secret — kopiera den till din hemlighetshanterare. Använd hemligheten för att verifiera rubriken X-ThunderPhone-Signature-V2 i inkommande begäranden (se Översikt över webhooks).
Steg 5: Testa din agent
Ring numret som du just tilldelade. 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"