> ## 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.

# Hantera inkommande samtal (API)

> Från början till slut: konfigurera en röstagent, tilldela den ett telefonnummer, ta emot ett samtal och granska transkriptionen.

<Note>
  Bygger du din första agent manuellt? Instrumentpanelen guidar dig genom exakt
  detta flöde — bygg agenten, lägg till ett nummer, simulera, granska — med en
  guidad guide. Börja med
  [snabbstart för instrumentpanelen](/sv/quickstart-dashboard).
</Note>

Det vanliga flödet för att "svara i telefon med AI", från din terminal.
Du kommer att:

1. Skapa en agent med en prompt och röst.
2. Tillhandahålla (eller ta med) ett telefonnummer och tilldela agenten som
   hanterare för inkommande samtal.
3. Ringa numret. Granska samtalsloggen, transkriptionen och inspelningen.

Totalt antal API-anrop: fyra. Total tid: under fem minuter.

## 1. Skapa en agent

En agent samlar prompten, rösten och produktnivån som driver
samtalet. Se [Agenter](/api-reference/agents) för alla konfigurations-
fält; minimikravet är:

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

Spara det returnerade `id` — du behöver det i steg 2.

<Tip>
  Välj `spark` för enkel frågor och svar till lägsta kostnad, `bolt` när
  hastighet är viktigast. Uppgradera till `storm-base-with-ack` när din prompt
  behöver djupare resonemang och kan tolerera en halv sekunds utfyllnad medan
  modellen tänker. Se
  [produktnivåer](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. Skaffa ett telefonnummer

Om du bara behöver något att ringa till kan du tillhandahålla ett demonummer
från ThunderPhones pool:

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

Svaret innehåller ett `id` och ett `number` i E.164-format. Demonummer
startar med `status="provisioning"` och blir `active` inom några
sekunder — hämta
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
upprepade gånger för att följa övergången om du behöver.

<Note>
  För produktion kan du hoppa över demonummer och
  [ta med dina egna nummer via VoIP](/sv/guides/bring-your-own-numbers).
  Demonummer är endast för inkommande samtal och har volymbegränsningar.
</Note>

## 3. Tilldela agenten

Koppla agenten från steg 1 till numrets inkommande riktning:

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

Klart — numret är aktivt. Du kan även ange `outbound_agent_id`
i samma PATCH så att numret också är redo att ringa ut.

## 4. Ta emot ett samtal

Ring numret från din telefon. Agenten svarar, presenterar sig enligt
din prompt och samtalet börjar.

Medan samtalet pågår visas det i
[`GET /v1/calls`](/api-reference/calls#list-calls) med
`status="in_progress"`. När det avslutas uppdateras posten med
`end_reason`, `duration_seconds`, `billable_minutes` och (så småningom)
en URL till inspelningen och AI-betyg.

## 5. Granska resultaten

Hämta listan över senaste samtal:

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

Hämta transkriptionen:

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

Och inspelnings-URL:en (kortlivad, signerad):

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

Om du prenumererar på webhooken
[`telephony.complete` webhook](/sv/webhooks/events)
får du samma data som en POST till din server — se
[call.complete](/sv/webhooks/call-complete).

***

## Nästa steg

<CardGroup cols={2}>
  <Card title="Dynamisk konfiguration per samtal" icon="bolt" href="/sv/guides/dynamic-call-config">
    Välj en annan agent per uppringare baserat på telefonnumret eller
    anpassad logik i en webhook.
  </Card>

  <Card title="Lägg till verktygsintegrationer" icon="screwdriver-wrench" href="/sv/guides/build-tool-integration">
    Låt agenten anropa dina API:er mitt i samtalet.
  </Card>

  <Card title="Ta emot call.complete-webhooks" icon="bolt" href="/sv/webhooks/call-complete">
    Strömma varje avslutat samtal till din CRM- / analyspipeline.
  </Card>

  <Card title="AI-betygsättning och problemrapporter" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    Betygsätt varje samtal automatiskt och skicka flaggade samtal för granskning.
  </Card>
</CardGroup>
