ThunderPhone 2.0 ist live.Direkt im Self-Service – ab 2 ¢/Min..Ankündigung lesen

Getting Started

Schnellstart (API)

Beantworten Sie Ihren ersten Anruf mit einem KI-Agenten: API-Schlüssel abrufen, Agenten erstellen, Telefonnummer bereitstellen und einen Live-Testanruf durchführen – alles über die REST-API.

Diese Anleitung führt Sie durch die vier REST-Aufrufe, die erforderlich sind, um Ihren ersten Anruf mit einem Sprachagenten zu beantworten.

Schritt 1: API-Schlüssel abrufen

  1. Anmelden
  2. Zu Schlüsseln navigieren

    Gehen Sie im Dashboard zu Organisation → Schlüssel.

  3. Schlüssel erstellen

    Klicken Sie auf Schlüssel erstellen, geben Sie ihm einen Namen und kopieren Sie den Wert sk_live_.... Der vollständige Schlüssel wird nur einmal angezeigt — speichern Sie ihn sofort in Ihrer Geheimnisverwaltung.

Ersetzen Sie in dieser Anleitung sk_live_YOUR_API_KEY durch den Wert, den Sie gerade kopiert haben. Der Schlüssel identifiziert Ihre Organisation automatisch, sodass Sie niemals eine Organisations-ID in URLs angeben müssen.

Schritt 2: Einen Agenten erstellen

Ein Agent definiert, wie die Sprach-KI Gespräche verarbeitet — Prompt, Stimme, Produktstufe, Tools und Widget-Berechtigung.

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

Schritt 3: Eine Telefonnummer bereitstellen

Dieser Aufruf fordert eine Nummer aus dem Demo-Pool von ThunderPhone an und weist Ihren neuen Agenten als Handler für eingehende Anrufe zu. (Um Ihre eigene Nummer von einem VoIP- Anbieter zu verwenden, siehe stattdessen VoIP-Verbindungen.)

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

Ihre neue Nummer startet mit status="provisioning" und wechselt innerhalb weniger Sekunden zu active; bis Sie Ihren Browser schließen, ist die Nummer bereit, Anrufe entgegenzunehmen.

Schritt 4 (optional): Einen Webhook einrichten

Fügen Sie für Echtzeitereignisse (dynamische Anrufweiterleitung, Verarbeitung nach dem Anruf) einen Webhook-Endpunkt hinzu. Abonnieren Sie nur die Ereignisse, die Sie benötigen.

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"]
  }'

Die Antwort enthält ein einmal verwendbares secret — kopieren Sie es in Ihren Secret- Manager. Verwenden Sie dieses Secret, um den Header X-ThunderPhone-Signature bei eingehenden Anfragen zu verifizieren (siehe Webhook-Übersicht).

Schritt 5: Ihren Agenten testen

Rufen Sie die Nummer an, die Sie gerade bereitgestellt haben. Der Agent nimmt ab, stellt sich vor und folgt Ihrem Prompt.

Prüfen Sie den Anruf nach seinem Ende:

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

Rufen Sie die Details eines bestimmten Anrufs ab, um Transkript und Aufzeichnungs-URL zu erhalten:

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ächste Schritte