---
title: "Håndter indgående opkald (API)"
description: "End-to-end: konfigurer en agent, tildel den til et telefonnummer, tag imod et opkald, og gennemse transskriptionen."
---

<Note>
  Bygger du din første agent manuelt? Dashboardet gennemgår præcis
  dette forløb — byg agenten, tilføj et nummer, simulér, gennemgå — med en
  guidet guide. Start med
  [dashboard-quickstart](/da/quickstart-dashboard).
</Note>

Det kanoniske forløb til at "besvare en telefon med en AI", fra din terminal.
Du skal:

1. Oprette en agent med en prompt og en stemme.
2. Klargøre (eller medbringe) et telefonnummer og tildele agenten som
   håndtering af indgående opkald.
3. Ringe til nummeret. Se opkaldsloggen, transskriptionen og optagelsen.

Samlet antal API-kald: fire. Samlet tid: under fem minutter.

## 1. Opret en agent

En agent samler den prompt, stemme og det produktniveau, der skal håndtere
opkaldet. Du kan også angive opkaldsgrænser som `max_call_duration_seconds`
og `ring_duration_seconds` på agenten. Agenter understøtter også `intro_clip`
og `intro_ring_count` til at afspille en forudindspillet introduktion og op til to ringninger,
før agenten taler. Nye agenter skal også have en tidszone. Hvis din agent er
flersproget, kan du angive `language_switching` for at styre, om den spørger,
før den skifter sprog, eller følger opkalderens sprog.
Se [Agenter](/api-reference/agents) for alle konfigurationsfelter; det
mindste nødvendige er:

```bash
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"
  }'
```

Gem det returnerede `id` — du skal bruge det i trin 2.

<Tip>
  Vælg `spark` til simpel spørgsmål og svar til den laveste pris, og `bolt`, når
  hastighed er vigtigst. Opgrader til `storm-base-with-ack`, når din prompt
  kræver dybere ræsonnement og kan tolerere en fyldelyd på et halvt sekund, mens
  modellen tænker. Se
  [produktniveauer](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. Få et telefonnummer

Hvis du blot har brug for noget at ringe til, kan du få et ThunderPhone-nummer
fra ThunderPhones pulje:

```bash
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"}'
```

Svaret indeholder et `id` og et `number` i E.164-format. ThunderPhone-
numre starter med `status="provisioning"` og bliver `active` inden for få
sekunder — forespørg
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
for at følge overgangen, hvis det er relevant.

<Note>
  ThunderPhone-numre starter kun til indgående opkald. En organisationsadministrator kan
  anmode om udgående opkald fra siden Telefonnumre. ThunderPhone gennemgår hver
  anmodning manuelt; når den er godkendt, kan numrene foretage opkald og køre
  kampagner. Kunders VoIP-numre er uændrede.
</Note>

## 3. Tildel agenten

Knyt agenten fra trin 1 til nummerets indgående retning:

```bash
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}'
```

Det er det — nummeret er aktivt. Når udgående opkald er godkendt for din
organisation, kan du også angive `outbound_agent_id` i samme PATCH. Indtil
da afviser API'et denne tildeling med `400`.

Hvis du dirigerer indgående opkald via en konfigurationswebhook i stedet for et fast
`inbound_agent_id`, kan webhooken nu returnere en `timezone` pr. opkald sammen
med `agent_id` og `variables`.

## 4. Tag imod et opkald

Ring til nummeret fra din telefon. Agenten tager telefonen, præsenterer sig
i henhold til din prompt, og samtalen begynder.

Mens opkaldet er i gang, vises det i
[`GET /v1/calls`](/api-reference/calls#list-calls) med
`status="in_progress"`. Når det slutter, opdateres posten med
`end_reason`, `duration_seconds`, `billable_minutes` og (med tiden)
en optagelses-URL og AI-bedømmelse.

Indgående opkald tæller med i din organisations
[samtidige opkaldsgrænse](/api-reference/introduction#call-limits) (20
opkald i gang som standard, delt med udgående opkald, web- og test-
opkald). Et opkald, der ankommer ved grænsen, afvises og lægges på,
før agenten svarer, faktureres ikke og registreres som et mislykket
opkald med afslutningsårsagen `concurrent_call_limit_reached`. Send en e-mail til support@thunderphone.com, hvis du
har brug for en højere grænse.

## 5. Gennemse resultaterne

Hent listen over seneste opkald:

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

Hent transskriptionen:

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

Og optagelses-URL'en (kortvarig, signeret):

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

Hvis du har abonneret på
[`telephony.complete`-webhooken](/da/webhooks/events),
modtager du de samme data som en POST til din server — se
[call.complete](/da/webhooks/call-complete).

Hvis din agent har konfigurerede udtræksfelter, kan payloaden for det afsluttede
opkald også indeholde strukturerede udtrukne data.

---

## Næste trin

<CardGroup cols={2}>
  <Card title="Dynamisk konfiguration pr. opkald" icon="bolt" href="/da/guides/dynamic-call-config">
    Vælg en anden agent pr. opkalder baseret på telefonnummeret eller
    tilpasset logik i en webhook.
  </Card>
  <Card title="Tilføj værktøjsintegrationer" icon="screwdriver-wrench" href="/da/guides/build-tool-integration">
    Lad agenten kalde dine API'er midt i samtalen.
  </Card>
  <Card title="Overfør opkald" icon="phone-arrow-right" href="/da/guides/call-transfers">
    Viderestil opkaldere direkte, eller gennemgå destinationen, før du forbinder dem.
  </Card>
  <Card title="Modtag call.complete-webhooks" icon="bolt" href="/da/webhooks/call-complete">
    Stream hvert afsluttet opkald til din CRM- eller analysepipeline.
  </Card>
  <Card title="AI-vurdering og problemrapporter" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    Vurder automatisk hvert opkald, og send markerede opkald til gennemgang.
  </Card>
</CardGroup>
