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

# Folosiți propriile numere (VoIP, API)

> Conectați Twilio sau Telnyx — sau orice trunk SIP — și importați numere de telefon din contul dumneavoastră existent.

Numerele demo sunt potrivite pentru prototipare, dar traficul de producție trebuie să
folosească numere pe care le dețineți, prin propriul furnizor VoIP. Acest ghid vă prezintă
fluxul în trei pași: **testați acreditările → creați
conexiunea → importați numerele → verificați**.

<Note>
  Tabloul de bord include o versiune ghidată a întregului flux, în
  **Conexiuni → VoIP** (`/dashboard/voip-connections`): o
  configurare ghidată Telnyx care vă ajută cu crearea contului și cheile API, o
  opțiune de conectare a unui cont existent și un formular SIP manual cu un generator
  de ghiduri de configurare AI.
</Note>

## Furnizori acceptați

| Furnizor   | ID `provider` | Note                                                                     |
| ---------- | ------------- | ------------------------------------------------------------------------ |
| Twilio     | `twilio`      | Cheie API + secret                                                       |
| Telnyx     | `telnyx`      | Cheie API; integrare ghidată disponibilă (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire`  | **În curând** — conectați-vă astăzi prin SIP manual                      |
| Vonage     | `vonage`      | **În curând** — conectați-vă astăzi prin SIP manual                      |
| SIP manual | `manual`      | Orice trunk SIP — folosiți propria configurație                          |

## 1. Testați acreditările

Înainte de a crea o conexiune VoIP persistentă, verificați acreditările
furnizorului pentru a confirma că funcționează. Aceasta returnează un
`verification_evidence_id` pe care îl transmiteți la pasul de creare, astfel încât
acreditările să nu fie taxate de două ori pentru testare.

```bash theme={null}
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 theme={null}
{
  "status": "pass",
  "verification_evidence_id": "b9a2...",
  "suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
  "checks": {
    "credentials_valid": true,
    "inbound_reachable": true,
    "outbound_authorized": true
  }
}
```

Dacă oricare verificare eșuează, `status` din răspuns va fi `fail`, iar `checks` va
arăta ce pas a eșuat. Corectați configurația de la furnizor (atribuirea
trunkului, lista de IP-uri permise, autorizarea apelurilor de ieșire) și reîncercați.

## 2. Creați conexiunea

Transmiteți `verification_evidence_id` pe care tocmai l-ați obținut:

```bash theme={null}
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..."
  }'
```

Răspunsul este un [obiect VoipConnection](/api-reference/voip-connections#connection-object)
cu `status="connected"`. Acreditările sunt stocate pe server și nu sunt returnate
niciodată în text simplu de GET-urile ulterioare — pentru rotație, executați un nou
`test` și un PATCH cu noile dovezi.

## 3. Listați și importați numerele

Examinați numerele vizibile pentru acreditările dumneavoastră care nu sunt deja
într-o organizație ThunderPhone:

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

Apoi importați-le pe cele dorite:

```bash theme={null}
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"]}'
```

Fiecare import devine o [resursă de număr de telefon](/api-reference/phone-numbers)
în organizația dumneavoastră, cu `source="voip"` și `status="provisioning"`.

## 4. Verificați fiecare număr importat

Importul înregistrează numărul ca fiind *disponibil*; direcționarea efectivă a apelurilor
prin acesta necesită o verificare dus-întors (verificare de apelare pentru apelurile primite +
test de autorizare pentru apelurile efectuate).

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

În caz de reușită, `voip_verification_status` devine `verified`, iar
numărul primește `status="active"`. În caz de eșec, răspunsul precizează
ce nu a reușit — remediați problema (adesea, o atribuire de trunk lipsă în
tabloul de bord al furnizorului) și apelați din nou.

## 5. Atribuiți agenți și preluați un apel

După verificarea numărului, atribuiți agenți pentru apeluri primite / efectuate în
același mod ca pentru un număr demonstrativ. Consultați
[Gestionarea apelurilor primite](/ro/guides/handle-inbound-calls) și
[Inițierea apelurilor efectuate](/ro/guides/place-outbound-calls).

## Rotirea credențialelor

Când se rotește o cheie de furnizor, reluați fluxul de testare-apoi-actualizare:

```bash theme={null}
# 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"
  }'
```

Conexiunea rămâne configurată — nu este necesar să reimportați numerele.

***

## Pașii următori

<CardGroup cols={2}>
  <Card title="Referință pentru conexiunile VoIP" icon="phone-volume" href="/api-reference/voip-connections">
    Toate câmpurile din răspunsurile pentru conexiune, dovezi și import.
  </Card>

  <Card title="Referință pentru numerele de telefon" icon="phone" href="/api-reference/phone-numbers">
    Atribuiți agenți, transferați între organizații, eliberați numere.
  </Card>

  <Card title="Inițiați apeluri efectuate" icon="arrow-up-right" href="/ro/guides/place-outbound-calls">
    Acum că dețineți numărul, începeți să inițiați apeluri efectuate.
  </Card>
</CardGroup>
