ThunderPhone 2.0 er lanceret.Selvbetjening fra 2 cent/min.Læs mere om lanceringen

Getting Started

Hurtig start (API)

Besvar dit første telefonopkald med en AI-agent: Hent en API-nøgle, opret en agent, klargør et telefonnummer, og foretag et live testopkald — alt sammen via REST API

Denne guide gennemgår de fire REST-kald, der skal til for at besvare dit første telefonopkald med en AI-agent.

Trin 1: Hent en API-nøgle

  1. Log ind
  2. Gå til Nøgler

    Gå til Organisation → Nøgler i dashboardet.

  3. Opret en nøgle

    Klik på Opret nøgle, giv den et navn, og kopiér værdien sk_live_.... Den rå nøgle vises kun én gang — gem den straks i din secret manager.

I hele denne guide skal du erstatte sk_live_YOUR_API_KEY med den værdi, du lige har kopieret. Nøglen identificerer automatisk din organisation, så du aldrig behøver at angive et organisations-id i URL'er.

Trin 2: Opret en agent

En agent definerer, hvordan AI'en håndterer samtaler — prompt, stemme, produktniveau, værktøjer og widget-berettigelse.

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

Trin 3: Klargør et telefonnummer

Dette kald beder ThunderPhones demopulje om et nummer og tildeler din nye agent som håndtering af indgående opkald. (Hvis du vil medbringe dit eget nummer fra en VoIP- udbyder, kan du i stedet se VoIP-forbindelser.)

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

Dit nye nummer starter med status="provisioning" og skifter til active inden for få sekunder. Når du lægger på i browseren, er nummeret klar til at modtage opkald.

Trin 4 (valgfrit): Konfigurer en webhook

Til hændelser i realtid (dynamisk opkaldsrouting, behandling efter opkald) skal du tilføje et webhook-endpoint. Abonner kun på de hændelser, du har brug for.

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 indeholder en engangs-secret — kopiér den til din hemmelighedsadministrator. Brug denne hemmelighed til at verificere headeren X-ThunderPhone-Signature på indgående anmodninger (se Oversigt over webhooks).

Trin 5: Test din agent

Ring til det nummer, du lige har klargjort. Agenten svarer, præsenterer sig selv og følger din prompt.

Gennemse opkaldet, når det er afsluttet:

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

Gå ind på et specifikt opkald for at hente transskriptionen og optagelsens URL:

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æste trin