> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Eingehende Anrufe verarbeiten (API)

> End-to-End: Konfigurieren Sie einen Agenten, weisen Sie ihn einer Telefonnummer zu, nehmen Sie einen Anruf entgegen und prüfen Sie das Transkript.

<Note>
  Erstellen Sie Ihren ersten Agenten manuell? Das Dashboard führt Sie mit einem
  geführten Assistenten durch genau diesen Ablauf — Agent erstellen, Nummer
  hinzufügen, simulieren, prüfen. Starten Sie mit dem
  [Dashboard-Schnellstart](/de/quickstart-dashboard).
</Note>

Der Standardablauf zum „Beantworten eines Telefons mit KI“ direkt aus Ihrem Terminal.
Sie werden:

1. Einen Agenten mit Prompt und Stimme erstellen.
2. Eine Telefonnummer bereitstellen (oder mitbringen) und den Agenten als
   Handler für eingehende Anrufe zuweisen.
3. Die Nummer anrufen. Anrufprotokoll, Transkript und Aufzeichnung prüfen.

API-Aufrufe insgesamt: vier. Gesamtzeit: unter fünf Minuten.

## 1. Einen Agenten erstellen

Ein Agent bündelt Prompt, Stimme und Produkttarif, die den Anruf steuern.
Eine Übersicht aller Konfigurationsfelder finden Sie unter [Agenten](/api-reference/agents); das Minimum ist:

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Acme Support",
    "prompt":  "You are a friendly support agent for Acme. Help callers with orders and returns. Keep answers short.",
    "voice":   "john",
    "product": "spark"
  }'
```

Speichern Sie die zurückgegebene `id` — Sie benötigen sie in Schritt 2.

<Tip>
  Wählen Sie `spark` für einfache Fragen und Antworten zu den niedrigsten Kosten,
  `bolt`, wenn Geschwindigkeit am wichtigsten ist. Wechseln Sie zu
  `storm-base-with-ack`, wenn Ihr Prompt tiefgründigeres Schlussfolgern
  benötigt und eine halbe Sekunde Überbrückung tolerieren kann, während
  das Modell nachdenkt. Siehe
  [Produkttarife](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. Eine Telefonnummer erhalten

Wenn Sie nur eine Nummer zum Anrufen benötigen, stellen Sie eine Demo-Nummer
aus dem ThunderPhone-Pool bereit:

```bash theme={null}
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"}'
```

Die Antwort enthält eine `id` und eine `number` im E.164-Format. Demo-Nummern
starten mit `status="provisioning"` und werden innerhalb weniger Sekunden
`active` — fragen Sie
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
ab, um den Übergang zu verfolgen, falls Sie ihn benötigen.

<Note>
  Überspringen Sie für die Produktion Demo-Nummern und
  [bringen Sie Ihre eigenen Nummern über VoIP mit](/de/guides/bring-your-own-numbers).
  Demo-Nummern sind nur für eingehende Anrufe verfügbar und volumenbegrenzt.
</Note>

## 3. Den Agenten zuweisen

Verknüpfen Sie den Agenten aus Schritt 1 mit der Richtung für eingehende Anrufe der Nummer:

```bash theme={null}
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/{phone_id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'
```

Das ist alles — die Nummer ist aktiv. Sie können im selben PATCH auch
`outbound_agent_id` festlegen, damit die Nummer ebenfalls für ausgehende Anrufe bereit ist.

## 4. Einen Anruf entgegennehmen

Wählen Sie die Nummer von Ihrem Telefon aus. Der Agent nimmt ab, stellt sich
gemäß Ihrem Prompt vor, und das Gespräch beginnt.

Während der Anruf läuft, erscheint er in
[`GET /v1/calls`](/api-reference/calls#list-calls) mit
`status="in_progress"`. Nach dem Ende wird der Datensatz mit
`end_reason`, `duration_seconds`, `billable_minutes` und (später)
einer Aufzeichnungs-URL sowie einer KI-Bewertung aktualisiert.

## 5. Die Ergebnisse prüfen

Rufen Sie die Liste der letzten Anrufe ab:

```bash theme={null}
curl 'https://api.thunderphone.com/v1/calls?limit=5' \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Rufen Sie das Transkript ab:

```bash theme={null}
curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Und die Aufzeichnungs-URL (kurzlebig, signiert):

```bash theme={null}
curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Wenn Sie den Webhook
[`telephony.complete`](/de/webhooks/events)
abonniert haben, erhalten Sie dieselben Daten als POST an Ihren Server — siehe
[call.complete](/de/webhooks/call-complete).

***

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Dynamische Konfiguration pro Anruf" icon="bolt" href="/de/guides/dynamic-call-config">
    Wählen Sie je nach Telefonnummer oder benutzerdefinierter Logik in einem Webhook einen anderen Agenten für jeden Anrufer aus.
  </Card>

  <Card title="Tool-Integrationen hinzufügen" icon="screwdriver-wrench" href="/de/guides/build-tool-integration">
    Lassen Sie den Agenten während des Gesprächs Ihre APIs aufrufen.
  </Card>

  <Card title="call.complete-Webhooks empfangen" icon="bolt" href="/de/webhooks/call-complete">
    Streamen Sie jeden abgeschlossenen Anruf an Ihre CRM- bzw. Analyse-Pipeline.
  </Card>

  <Card title="KI-Bewertung und Problemberichte" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    Bewerten Sie jeden Anruf automatisch und leiten Sie markierte Anrufe zur Prüfung weiter.
  </Card>
</CardGroup>
