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
- Logga in
Öppna app.thunderphone.com.
- Gå till Nycklar
Gå till Organisation → Nycklar på instrumentpanelen.
- 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 -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: 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.)
# 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 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"