---
title: "Prijunkite savo numerius (VoIP, API)"
description: "Prijunkite Twilio arba Telnyx – arba bet kurią SIP liniją – importuokite jau turimus telefono numerius ir leiskite ThunderPhone agentams į juos atsiliepti bei iš jų skambinti."
---

ThunderPhone numeriai apima įeinančius skambučius, tačiau siunčiamiems skambučiams ir
kampanijoms reikia numerių, kuriuos turite per savo VoIP teikėją. Šiame vadove
aprašoma trijų veiksmų seka: **išbandykite prisijungimo duomenis → sukurkite
ryšį → importuokite numerius → patvirtinkite**.

<Note>
  Valdymo skydelyje pateikiama vedama visos šios sekos versija:
  **Ryšiai → VoIP** (`/dashboard/voip-connections`). Joje rasite vedamą „Telnyx“
  sąranką, kurioje aprašomas paskyros kūrimas ir API raktai, esamos paskyros
  prijungimo kelią bei rankinę SIP formą su DI sąrankos vadovo generatoriumi.
</Note>

## Palaikomi teikėjai

| Teikėjas | `provider` ID | Pastabos |
|----------|---------------|---------|
| Twilio | `twilio` | Paskyros SID + „Auth Token“; vienas ryšys kiekvienai „Twilio“ paskyrai arba papildomai paskyrai (žr. [„Twilio“ papildomas paskyras](#twilio-subaccounts)) |
| Telnyx | `telnyx` | API raktas; galima vedama registracija (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | **Netrukus** — šiandien prijunkite per rankinį SIP |
| Vonage | `vonage` | **Netrukus** — šiandien prijunkite per rankinį SIP |
| Rankinis SIP | `manual` | Bet kuris SIP magistralinis ryšys — naudokite savo konfigūraciją |

## 1. Išbandykite prisijungimo duomenis

Prieš kurdami išsaugomą VoIP ryšį, patikrinkite teikėjo
prisijungimo duomenis, kad įsitikintumėte, jog jie veikia. Taip grąžinamas
`verification_evidence_id`, kurį perduodate kūrimo veiksmui, kad už
prisijungimo duomenų tikrinimą nebūtų apmokestinta du kartus.

```bash
curl -X POST https://api.thunderphone.com/v1/voip-connections/test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider":    "telnyx",
    "credentials": { "apiKey": "KEY...", "connectionId": "123456" },
    "sip_config":  { "domain": "acme.sip.telnyx.com" }
  }'
```

```json Response
{
  "status": "pass",
  "verification_evidence_id": "b9a2...",
  "suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
  "checks": {
    "credentials_valid": true,
    "inbound_reachable": true,
    "outbound_authorized": true
  }
}
```

Jei kuris nors patikrinimas nepavyksta, atsakymo `status` bus `fail`, o `checks`
parodys, kuris veiksmas nepavyko. Ištaisykite teikėjo pusės konfigūraciją
(magistralinio ryšio priskyrimą, IP leidžiamų adresų sąrašą, siunčiamų skambučių autorizavimą)
ir bandykite dar kartą.

## 2. Sukurkite ryšį

Perduokite ką tik gautą `verification_evidence_id`:

```bash
curl -X POST https://api.thunderphone.com/v1/voip-connections \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":         "Acme Telnyx Main",
    "provider":     "telnyx",
    "setup_method": "api_key",
    "credentials":  { "apiKey": "KEY...", "connectionId": "123456" },
    "sip_config":   { "domain": "acme.sip.telnyx.com" },
    "verification_evidence_id": "b9a2..."
  }'
```

Atsakymas yra [VoipConnection objektas](/api-reference/voip-connections#connection-object)
su `status="connected"`. Prisijungimo duomenys saugomi serverio pusėje ir vėlesnėse
GET užklausose niekada negrąžinami kaip paprastas tekstas — norėdami juos pakeisti, atlikite naują
`test` ir PATCH užklausą su naujais patvirtinimo duomenimis.

### Twilio subpaskyros

Twilio ryšys susiejamas su viena Twilio paskyra, kurios
Account SID ir Auth Token jis turi. Twilio telefono numerius ir SIP
magistrales saugo kiekvienoje subpaskyroje, todėl su pagrindine
paskyra sukurtas ryšys mato tik pačios pagrindinės paskyros numerius, o esamo
ryšio vėliau negalima perjungti į kitą subpaskyrą (atnaujinimas atmetamas, nes
ryšio SIP magistralė yra pradinėje paskyroje).

Norėdami pasiekti subpaskyrose esančius numerius, sukurkite po vieną ryšį kiekvienai
subpaskyrai. Valdymo skydelis tai atlieka už jus: prijungus pagrindinę
paskyrą, turinčią aktyvių subpaskyrų, sąrankos dialogo lange jos išvardijamos, jūs
pažymite norimas, o ThunderPhone kiekvienoje sukuria ryšį (ir
SIP magistralę). Tas pats procesas galimas per API:

```bash
# Discover active subaccounts visible to the parent credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"credentials": {"accountSid": "ACparent...", "authToken": "..."}}'
```

```json Response
{
  "discovery_id": "7c1e...",
  "parent": { "sid": "ACparent...", "friendly_name": "Acme" },
  "subaccounts": [
    { "sid": "ACsupport...", "friendly_name": "Acme Support", "already_connected": false, "connection_id": null },
    { "sid": "ACsales...",   "friendly_name": "Acme Sales",   "already_connected": true,  "connection_id": 5 }
  ]
}
```

```bash
# Create a connection for each selected subaccount
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts/connect \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"discovery_id": "7c1e...", "subaccount_sids": ["ACsupport..."]}'
```

Atsakyme pateikiama po vieną eilutę kiekvienai subpaskyrai su `status`
`created`, `skipped` (jau prijungta) arba `failed` bei `error`,
pagal kurią galite imtis veiksmų. Eilutės yra nepriklausomos, todėl vienos subpaskyros
klaida niekada neblokuoja kitų, o `discovery_id` galioja 30
minučių, todėl nepavykusią eilutę galima tiesiog bandyti dar kartą. Subpaskyrų prieigos raktai
atradimo metu nuskaitomi iš Twilio ir saugomi naujame ryšyje;
jie niekada negrąžinami per API. Kiekvienas naujas ryšys tada importuoja
ir patvirtina numerius lygiai taip pat kaip rankiniu būdu sukurtas ryšys.

## 3. Išvardykite ir importuokite numerius

Peržiūrėkite prisijungimo duomenims matomus numerius, kurių dar nėra
ThunderPhone organizacijoje:

```bash
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Tada importuokite norimus:

```bash
curl -X POST https://api.thunderphone.com/v1/voip-connections/5/import-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+15550001234", "+15550009999"]}'
```

Kiekvienas importuotas numeris tampa [telefono numerio ištekliumi](/api-reference/phone-numbers)
jūsų organizacijoje su `source="voip"` ir `status="provisioning"`.

## 4. Patvirtinkite kiekvieną importuotą numerį

Importavus numeris užregistruojamas kaip *pasiekiamas*; kad skambučiai iš tikrųjų būtų nukreipiami
per jį, reikia patvirtinimo. Teikėjo ryšiams („Twilio“,
„Telnyx“) tai iš naujo patikrina teikėjo prisijungimo duomenis ir SIP pasiekiamumą.
Naudojant **rankinį SIP** ryšį atliekamas trumpas bandomasis skambutis (kelios
sekundės, automatiškai nutraukiamas) *iš* numerio, *per* jūsų SIP
magistralę, *į* ThunderPhone numerį — taip praktiškai patvirtinami magistralės naudotojo vardas, slaptažodis,
perdavimo protokolas ir išeinančių skambučių maršrutizavimas. Jūsų ryšio teikėjas už
šį skambutį apmokestina kaip už bet kurį kitą.

```bash
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Sėkmės atveju `voip_verification_status` pasikeičia į `verified`, o
numeriui priskiriama `status="active"`. Nesėkmės atveju atsakyme nurodoma,
kas nepavyko — naudojant rankinę magistralę tai yra ryšio teikėjo SIP atsakymas, pavyzdžiui,
*"atmesti ThunderPhone prisijungimo duomenys (SIP 401)"* arba *"nepavyko
nukreipti skambučio (SIP 404)"* — ištaisykite problemą (prisijungimo duomenis, leistinus šaltinio
IP adresus, trūkstamą magistralės priskyrimą teikėjo valdymo skydelyje) ir skambinkite
dar kartą.

## 5. Priskirkite agentus ir priimkite skambutį

Patvirtinus numerį, įeinančiųjų ir išeinančiųjų skambučių agentus
priskirkite taip pat, kaip ThunderPhone numeriui. Žr.
[Įeinančiųjų skambučių tvarkymas](/lt/guides/handle-inbound-calls) ir
[Išeinančiųjų skambučių atlikimas](/lt/guides/place-outbound-calls).

## Prisijungimo duomenų keitimas

Pasikeitus teikėjo raktui, pakartokite tikrinimo ir atnaujinimo procesą:

```bash
# 1. Test the new credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/test ...

# 2. PATCH the connection with the new evidence
curl -X PATCH https://api.thunderphone.com/v1/voip-connections/{id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "credentials": { "apiKey": "NEW_KEY..." },
    "verification_evidence_id": "fresh-evidence-id"
  }'
```

Ryšys lieka vietoje — numerių iš naujo importuoti nereikia.

---

## Tolesni veiksmai

<CardGroup cols={2}>
  <Card title="VoIP ryšių nuoroda" icon="phone-volume" href="/api-reference/voip-connections">
    Visi ryšio, įrodymų ir importavimo atsakymų laukai.
  </Card>
  <Card title="Telefono numerių nuoroda" icon="phone" href="/api-reference/phone-numbers">
    Priskirkite agentus, perkelkite tarp organizacijų, atsisakykite numerių.
  </Card>
  <Card title="Išeinančiųjų skambučių atlikimas" icon="arrow-up-right" href="/lt/guides/place-outbound-calls">
    Dabar, kai turite numerį, pradėkite skambinti į išorę.
  </Card>
</CardGroup>
