---
title: "Pievienojiet savus numurus (VoIP, API)"
description: "Pievienojiet Twilio, Telnyx, SignalWire, Vonage, Plivo vai jebkuru citu SIP maģistrāli, izmantojot SIP, importējiet jau piederošos tālruņa numurus un ļaujiet ThunderPhone balss aģentiem tajos atbildēt uz zvaniem un veikt zvanus."
---

Apstiprinātie ThunderPhone numuri var veikt izejošos zvanus un palaist kampaņas. Ja vēlaties izmantot savus numurus ar sava VoIP pakalpojumu sniedzēja starpniecību, šajā ceļvedī ir aprakstīta savienošanas plūsma: **pārbaudiet akreditācijas datus → izveidojiet savienojumu → importējiet numurus → verificējiet**.

<Note>
  Informācijas panelī ir pieejama vadīta visa šī procesa versija sadaļā
  **Savienojumi → VoIP** (`/dashboard/voip-connections`): vispirms ceļš esoša savienojuma izveidei (Twilio un Telnyx, izmantojot API atslēgu; SignalWire,
  Vonage, Plivo un jebkurš cits tranks, izmantojot manuālo SIP veidlapu ar
  pakalpojumu sniedzējam specifiskām darbībām un MI iestatīšanas ceļveža ģeneratoru), pēc tam —
  vadīta iestatīšana, kas atver jaunu Telnyx kontu.
</Note>

## Atbalstītie pakalpojumu sniedzēji

| Pakalpojumu sniedzējs | `provider` ID | Piezīmes |
|----------|---------------|-------|
| Twilio | `twilio` | Konta SID + autentifikācijas marķieris; viens savienojums katram Twilio kontam vai apakškontam (skatiet [Twilio apakškonti](#twilio-subaccounts)) |
| Telnyx | `telnyx` | API atslēga; pieejama vadītā sākotnējā iestatīšana (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | Nav vietēja pakalpojumu sniedzēja savienojuma; pievienojiet to kā `manual`, izmantojot SignalWire SIP priekšiestatījumu |
| Vonage | `vonage` | Nav vietēja pakalpojumu sniedzēja savienojuma; pievienojiet to kā `manual`, izmantojot Vonage SIP priekšiestatījumu |
| Manuāls SIP | `manual` | Jebkurš SIP maģistrālais savienojums, tostarp SignalWire, Vonage un Plivo. Ja informācijas panelī sākat no kāda no šo pakalpojumu sniedzēju elementiem, savienojums joprojām ir `manual` un saglabā izvēli laukā `sip_config.preset` (`signalwire`, `vonage` vai `plivo`) |

## 1. Pārbaudiet akreditācijas datus

Pirms izveidojat pastāvīgu VoIP savienojumu, pārbaudiet pakalpojumu sniedzēja
akreditācijas datus, lai apstiprinātu, ka tie darbojas. Tiek atgriezts
`verification_evidence_id`, ko nododat izveides darbībai, lai par
akreditācijas datu pārbaudi netiktu divreiz iekasēta maksa.

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

Ja kāda pārbaude neizdodas, atbildes `status` būs `fail`, un `checks`
parādīs, kurā darbībā radās kļūda. Izlabojiet pakalpojumu sniedzēja puses
konfigurāciju (maģistrāles piešķiršanu, IP atļauto sarakstu, izejošo zvanu
autorizāciju) un mēģiniet vēlreiz.

## 2. Izveidojiet savienojumu

Nododiet tikko iegūto `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..."
  }'
```

Atbilde ir [VoipConnection objekts](/api-reference/voip-connections#connection-object)
ar `status="connected"`. Akreditācijas dati un citas slepenās savienojuma vērtības tiek glabātas servera pusē un nekad
netiek atgrieztas atklātā tekstā turpmākajos GET pieprasījumos — lai tās nomainītu, palaidiet jaunu
`test` un veiciet PATCH ar jaunajiem pierādījumiem.

### Twilio apakškonti

Twilio savienojums ir piesaistīts vienam Twilio kontam, kura Account SID un Auth Token tas satur. Twilio glabā tālruņa numurus un SIP maģistrāles katrā apakškontā, tāpēc ar vecākkontu izveidots savienojums redz tikai vecākkonta numurus, un esošu savienojumu vēlāk nevar pārslēgt uz citu apakškontu.

Lai piekļūtu numuriem apakškontos, izveidojiet vienu savienojumu katram
apakškontam. Vadības panelis to izdara jūsu vietā: kad pievienojat vecākkontu,
kuram ir aktīvi apakškonti, iestatīšanas dialoglodziņā tie tiek uzskaitīti, jūs
atzīmējat vajadzīgos, un ThunderPhone katrā no tiem izveido savienojumu (un
SIP trunk). Tas pats process ir pieejams arī 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..."]}'
```

Atbildē katram apakškontam ir viena rinda ar `status` vērtību
`created`, `skipped` (jau savienots) vai `failed`, kā arī `error`,
uz kuru varat reaģēt. Rindas ir neatkarīgas, tāpēc kļūme vienā apakškontā
nekad nebloķē pārējos, un `discovery_id` ir derīgs 30
minūtes, tāpēc neizdevušos rindu var vienkārši mēģināt vēlreiz. Apakškonta pilnvaras
atklāšanas laikā tiek nolasītas no Twilio un saglabātas jaunajā savienojumā;
tās nekad netiek atgrieztas, izmantojot API. Pēc tam katrs jaunais savienojums importē
un pārbauda numurus tieši tāpat kā savienojums, ko izveidojāt manuāli.
Pievienojiet `"enable_transfers": true`, lai arī ieslēgtu zvanu pārsūtīšanu katra
jaunā savienojuma SIP maģistrālei; kļūme tur tiek norādīta šī
savienojuma `test_result.transfer_enable_error` un neizraisa rindas kļūmi.

## 3. Numuru uzskaitīšana un importēšana

Pārbaudiet numurus, kas ir pieejami jūsu akreditācijas datiem un vēl nav
ThunderPhone organizācijā:

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

Pēc tam importējiet vajadzīgos:

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

Katrs imports jūsu organizācijā kļūst par [tālruņa numura resursu](/api-reference/phone-numbers)
ar `number_type="voip"` un `status="provisioning"`.

## 4. Pārbaudiet katru importēto numuru

Importējot numurs tiek reģistrēts kā *pieejams*; lai faktiski maršrutētu zvanus
caur to, nepieciešama verifikācija. Pakalpojumu sniedzēja savienojumiem (Twilio,
Telnyx) tā atkārtoti pārbauda pakalpojumu sniedzēja akreditācijas datus un SIP sasniedzamību.
**manuālam SIP** savienojumam vispirms tiek mēģināts veikt cilpas pašzvanu:
ThunderPhone veic īsu pārbaudes zvanu *no* numura, *caur* jūsu SIP
trunku, *atpakaļ uz to pašu numuru*. Ja tas neapstiprina ienākošo ceļu, tas
izmanto īsu pārbaudes zvanu *no* numura, *caur* jūsu SIP trunku,
*uz* ThunderPhone numuru. Šīs pārbaudes pārbauda trunka lietotājvārdu,
paroli, transportu, izejošo maršrutēšanu un ienākošo piegādi. Jūsu operators
par šiem zvaniem izraksta rēķinu tāpat kā par jebkuriem citiem.

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

Ja pārbaude ir veiksmīga, `voip_verification_status` tiek iestatīts uz `verified`, un numurs iegūst `status="active"`. Numurs jūsu Telnyx kontā turpina pieņemt ienākošos zvanus, ja tā testa zvans neizdodas vai izejošie zvani vēl nav iestatīti: tas iegūst `status="active"`, bet `voip_verification_status` tiek iestatīts uz `unverified`, un atbilde paskaidro iemeslu. Ja pārbaude neizdodas, atbilde precīzi norāda,
kas neizdevās — manuālam maģistrālajam savienojumam tā ir operatora SIP atbilde, piemēram, *"noraidīja ThunderPhone akreditācijas datus (SIP 401)"* vai *"nevarēja maršrutēt zvanu (SIP 404)"* — novērsiet problēmu (akreditācijas dati, atļautās avota IP adreses, trūkstošs maģistrāles piešķīrums pakalpojumu sniedzēja informācijas panelī) un izsauciet to vēlreiz.

Manuālam SIP savienojumam ar atļauto sarakstu ienākošo zvanu pārbaude arī neizdodas, ja
šie Allowed Source IPs bloķētu reālu ienākošo zvanu.

## 5. Piešķiriet balss aģentus un veiciet zvanu

Kad numurs ir pārbaudīts, ienākošo / izejošo zvanu balss aģentus piešķiriet
tāpat kā ThunderPhone numuram. Skatiet
[Apstrādājiet ienākošos zvanus](/lv/guides/handle-inbound-calls) un
[Veiciet izejošos zvanus](/lv/guides/place-outbound-calls).

## Akreditācijas datu maiņa

Kad pakalpojumu sniedzēja atslēga tiek nomainīta, atkārtoti veiciet pārbaudes un pēc tam atjaunināšanas procesu:

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

Savienojums paliek spēkā — numuri nav jāimportē atkārtoti.

---

## Nākamās darbības

<CardGroup cols={2}>
  <Card title="VoIP savienojumu atsauce" icon="phone-volume" href="/api-reference/voip-connections">
    Katrs lauks savienojuma, pierādījumu un importēšanas atbildēs.
  </Card>
  <Card title="Tālruņa numuru atsauce" icon="phone" href="/api-reference/phone-numbers">
    Piešķiriet balss aģentus, pārsūtiet starp organizācijām, atbrīvojiet numurus.
  </Card>
  <Card title="Veiciet izejošos zvanus" icon="arrow-up-right" href="/lv/guides/place-outbound-calls">
    Tagad, kad numurs pieder jums, sāciet veikt izejošos zvanus.
  </Card>
</CardGroup>
