---
title: "Obsługa połączeń przychodzących (API)"
description: "Kompleksowo: skonfiguruj agenta, przypisz go do numeru telefonu, odbierz połączenie i sprawdź transkrypcję."
---

<Note>
  Tworzysz pierwszego agenta ręcznie? Panel przeprowadzi Cię przez dokładnie
  ten proces — utworzenie agenta, dodanie numeru, symulację i weryfikację —
  za pomocą prowadzonego kreatora. Zacznij od
  [szybkiego startu w panelu](/pl/quickstart-dashboard).
</Note>

Standardowy proces „odbierania telefonu przez AI” z poziomu terminala.
Wykonasz:

1. Utworzenie agenta z promptem i głosem.
2. Przydzielenie (lub dodanie własnego) numeru telefonu oraz przypisanie agenta jako jego
   obsługi połączeń przychodzących.
3. Połączenie na numer. Sprawdzenie dziennika połączeń, transkrypcji i nagrania.

Łączna liczba wywołań API: cztery. Łączny czas: mniej niż pięć minut.

## 1. Utwórz agenta

Agent obejmuje prompt, głos i wariant produktu używane podczas
połączenia. Możesz także ustawić dla agenta limity połączeń, takie jak `max_call_duration_seconds`
i `ring_duration_seconds`. Agenci obsługują również `intro_clip`
i `intro_ring_count`, aby odtworzyć wcześniej nagrane wprowadzenie i maksymalnie dwa sygnały dzwonienia, zanim
agent zacznie mówić. Nowi agenci wymagają również strefy czasowej. Jeśli Twój agent jest
wielojęzyczny, możesz ustawić `language_switching`, aby określić, czy pyta
przed zmianą języka, czy dostosowuje się do języka rozmówcy.
Wszystkie pola konfiguracji znajdziesz w sekcji [Agenci](/api-reference/agents); minimalna
konfiguracja to:

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

Zapisz zwrócone `id` — będzie potrzebne w kroku 2.

<Tip>
  Wybierz `spark` do prostych pytań i odpowiedzi przy najniższym koszcie, a `bolt`, gdy
  najważniejsza jest szybkość. Przejdź na `storm-base-with-ack`, gdy prompt
  wymaga głębszego rozumowania i może tolerować półsekundowe wypełnienie, podczas gdy
  model analizuje odpowiedź. Zobacz
  [poziomy produktu](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. Uzyskaj numer telefonu

Jeśli potrzebujesz tylko numeru, na który można zadzwonić, uzyskaj numer ThunderPhone
z puli ThunderPhone:

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

Odpowiedź zawiera `id` oraz `number` w formacie E.164. Numery ThunderPhone
początkowo mają `status="provisioning"` i w ciągu kilku
sekund stają się `active` — odpytywanie
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
pozwala obserwować tę zmianę, jeśli jest to potrzebne.

<Note>
  Numery ThunderPhone początkowo obsługują wyłącznie połączenia przychodzące. Administrator organizacji może wnioskować
  o połączenia wychodzące na stronie Numery telefonów. ThunderPhone ręcznie rozpatruje każdy
  wniosek; po zatwierdzeniu numery mogą wykonywać połączenia i uruchamiać
  kampanie. Numery VoIP klientów pozostają bez zmian.
</Note>

## 3. Przypisz agenta

Powiąż agenta z kroku 1 z kierunkiem przychodzącym numeru:

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

To wszystko — numer jest aktywny. Po zatwierdzeniu połączeń wychodzących dla Twojej
organizacji możesz również ustawić `outbound_agent_id` w tym samym żądaniu PATCH. Do
tego czasu API odrzuca takie przypisanie z kodem `400`.

Jeśli kierujesz połączenia przychodzące przez webhook konfiguracji zamiast stałego
`inbound_agent_id`, webhook może teraz zwracać dla każdego połączenia `timezone`
wraz z `agent_id` i `variables`.

## 4. Odbierz połączenie

Zadzwoń na numer ze swojego telefonu. Agent odbierze, przedstawi się
zgodnie z promptem i rozpocznie się rozmowa.

W trakcie połączenia jest ono widoczne w
[`GET /v1/calls`](/api-reference/calls#list-calls) ze statusem
`status="in_progress"`. Po zakończeniu rekord zostaje zaktualizowany o
`end_reason`, `duration_seconds`, `billable_minutes` oraz (ostatecznie)
adres URL nagrania i ocenę AI.

Połączenia przychodzące wliczają się do limitu
[współbieżnych połączeń](/api-reference/introduction#call-limits) w Twojej organizacji (domyślnie 20
połączeń w toku, współdzielonych z połączeniami wychodzącymi, internetowymi i testowymi). Połączenie, które nadejdzie po osiągnięciu limitu, zostanie odrzucone i rozłączone, zanim agent odbierze, nie zostanie naliczone i zostanie zarejestrowane jako nieudane połączenie z powodem zakończenia `concurrent_call_limit_reached`. Napisz na support@thunderphone.com, jeśli
potrzebujesz wyższego limitu.

## 5. Sprawdź wyniki

Pobierz listę ostatnich połączeń:

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

Pobierz transkrypcję:

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

Oraz adres URL nagrania (krótkotrwały, podpisany):

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

Jeśli zasubskrybowano
[webhook `telephony.complete`](/pl/webhooks/events),
te same dane zostaną wysłane jako żądanie POST na serwer — zobacz
[call.complete](/pl/webhooks/call-complete).

Jeśli agent ma skonfigurowane pola ekstrakcji, ładunek zakończonego połączenia może
również zawierać ustrukturyzowane wyodrębnione dane.

---

## Kolejne kroki

<CardGroup cols={2}>
  <Card title="Dynamiczna konfiguracja dla każdego połączenia" icon="bolt" href="/pl/guides/dynamic-call-config">
    Wybierz innego agenta dla każdego rozmówcy na podstawie numeru telefonu lub
    niestandardowej logiki w webhooku.
  </Card>
  <Card title="Dodaj integracje narzędzi" icon="screwdriver-wrench" href="/pl/guides/build-tool-integration">
    Pozwól agentowi wywoływać interfejsy API w trakcie rozmowy.
  </Card>
  <Card title="Przekazywanie połączeń" icon="phone-arrow-right" href="/pl/guides/call-transfers">
    Kieruj rozmówców bezpośrednio do celu lub zweryfikuj cel przed połączeniem.
  </Card>
  <Card title="Odbieraj webhooki call.complete" icon="bolt" href="/pl/webhooks/call-complete">
    Przesyłaj każde zakończone połączenie do systemu CRM lub procesu analitycznego.
  </Card>
  <Card title="Ocena AI i raporty problemów" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    Automatycznie oceniaj każde połączenie i kieruj oznaczone do weryfikacji.
  </Card>
</CardGroup>
