---
title: "Vykdykite išeinančius skambučius (API)"
description: "Iš savo kodo inicijuokite DI valdomą išeinantį skambutį – apklausų, tolesnių veiksmų ar patvirtinimo srautams."
---

Išeinantys skambučiai leidžia pateikti ThunderPhone paskirties numerį ir agento
konfigūraciją, kad AI atliktų skambutį jūsų vardu. Įprasti naudojimo atvejai:

- Susitikimų patvirtinimai
- Pakartotiniai skambučiai apklausoms
- Pakartotiniai bandymai po praleisto skambučio
- Pranešimai pagal dispečerinį modelį

<Note>
  Skambinate visam sąrašui? Valdymo skydelio
  [**Kampanijų**](/lt/guides/outbound-campaigns) funkcija
  (`/dashboard/campaigns`) priima kontaktų CSV failą ir tvarko
  į laiko juostas atsižvelgiančius skambinimo laikus, lygiagretumą ir
  pakartojimo politiką už jus. Šiame vadove aptariami pavieniai programiškai atliekami skambučiai.
</Note>

## Būtinosios sąlygos

<Steps>
  <Step title="Naudokite savo VoIP numerį">
    Kad galėtumėte atlikti išeinančius skambučius, turite turėti `from_number` per
    [VoIP ryšį](/api-reference/voip-connections). ThunderPhone numeriai
    skirti tik įeinantiems skambučiams. Žr.
    [Naudokite savo numerius](/lt/guides/bring-your-own-numbers).
  </Step>
  <Step title="Sukurkite agentą">
    Išeinantiems skambučiams pritaikyta instrukcija paprastai prasideda tuo, kad agentas
    prisistato ir nurodo savo tikslą — „Sveiki, čia Acme, skambiname, kad
    patvirtintume jūsų rytojaus susitikimą 15 val.…“ Nustatykite
    `outbound_speak_order` į `agent_first` (numatytąją reikšmę).
  </Step>
  <Step title="Išlaikykite teigiamą balansą">
    Išeinantys skambučiai grąžina `402 Payment Required`, jei balansas yra ≤
    `$0.00`. Papildykite balansą per
    [`POST /v1/billing/top-up`](/api-reference/billing#top-up-balance)
    arba įjunkite [automatinį papildymą](/api-reference/billing#update-auto-reload).
  </Step>
</Steps>

## Atlikite skambutį naudodami išsaugotą agentą

Paprasčiausias būdas — nurodyti agentą pagal ID:

```bash
curl -X POST https://api.thunderphone.com/v1/call \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_number": "+15551234567",
    "to_number":   "+14155550199",
    "agent_id":    12
  }'
```

Atsakymas:

```json
{ "call_id": 987654321, "status": "initiated" }
```

<Warning>
  `status: "initiated"` reiškia tik tai, kad užklausa buvo priimta — skambutis
  **dar neprijungtas**. Tikrinkite
  [`GET /v1/calls/{call_id}`](/api-reference/calls#retrieve-a-call)
  esamą būseną (`in_progress` → `completed` / `failed`).
</Warning>

## Atlikite skambutį su įterpta konfigūracija

Jei norite naudoti vienkartinę instrukciją, kurios neverta išsaugoti kaip agento,
vietoj to pateikite `config`. Forma atitinka
[`call.incoming` žiniatinklio kabliuko](/lt/webhooks/call-incoming) atsako schemą:

```bash
curl -X POST https://api.thunderphone.com/v1/call \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_number": "+15551234567",
    "to_number":   "+14155550199",
    "config": {
      "prompt":  "You are confirming Jane Doe appointment for 3pm tomorrow…",
      "voice":   "john",
      "product": "spark"
    }
  }'
```

## Stebėkite skambutį

Taip pat užsiprenumeruokite
[`telephony.complete` žiniatinklio kabliuką](/lt/webhooks/events) —
tai greičiausias būdas sužinoti, kad skambutis baigtas. Jei negalite priimti įeinančių
žiniatinklio kabliukų, kas kelias sekundes tikrinkite `GET /v1/calls/{call_id}`; įraše
pateikiami `end_reason`, `duration_seconds` ir įrašo URL, kai skambutis baigiasi.

## Klaidos, kurias verta apdoroti

| Klaida | Sprendimas |
|-------|-----|
| `402 Payment Required` | Papildykite balansą arba įjunkite automatinį papildymą |
| `403` išeinantys skambučiai blokuojami (ThunderPhone numeris) | Vietoj to naudokite VoIP numerį |
| `403` išeinantys skambučiai blokuojami (nepatvirtintas VoIP) | Paleiskite [`POST /v1/phone-numbers/{id}/verify-voip`](/api-reference/phone-numbers#verify-a-voip-sourced-number) |
| `404 from_number is not registered to this organization` | Patvirtinkite, kad `from_number` atitinka jums priklausantį telefono numerį |
| `502 Bad Gateway` | Laikinas SIP / LiveKit sutrikimas; galima saugiai bandyti dar kartą |

## Valdymas laukimo trukme

Ilgi išeinantys skambučiai, kai abonentas lėtai atsako
(IVR medžiai, eilės), gali būti apriboti naudojant `max_hold_seconds`:

```json
{
  "from_number": "+15551234567",
  "to_number":   "+14155550199",
  "agent_id":    12,
  "max_hold_seconds": 120
}
```

Agentas nutraukia skambutį, jei per pastarąsias
N sekundžių nebuvo gauta žmogaus garso. Numatytoji reikšmė yra 900 (15 minučių).

---

## Kiti veiksmai

<CardGroup cols={2}>
  <Card title="Išeinančių skambučių nuoroda" icon="phone-arrow-up-right" href="/api-reference/outbound-calls">
    Kiekvienas užklausos laukas ir klaidos kodas.
  </Card>
  <Card title="Gauti call.complete" icon="bolt" href="/lt/webhooks/call-complete">
    Siųskite užbaigtų išeinančių skambučių srautą į savo sistemą.
  </Card>
  <Card title="Atsiskaitymas" icon="credit-card" href="/api-reference/billing">
    Automatinis papildymas, kad išeinantys skambučiai niekada nepavyktų dėl likučio.
  </Card>
  <Card title="Išbandykite išeinančių skambučių agentus" icon="flask" href="/lt/guides/test-agents">
    Prieš diegdami į produkcinę aplinką, atlikite bandomąjį išeinančių skambučių agento vykdymą.
  </Card>
</CardGroup>
