---
title: "Kendi numaralarınızı getirin (VoIP, API)"
description: "Twilio, Telnyx, SignalWire, Vonage, Plivo veya diğer herhangi bir SIP trunk'ı SIP üzerinden bağlayın, halihazırda sahip olduğunuz telefon numaralarını içe aktarın ve ThunderPhone ajanlarının bu numaralardan çağrıları yanıtlamasını ve arama yapmasını sağlayın."
---

Onaylı ThunderPhone numaraları giden aramalar yapabilir ve kampanyalar yürütebilir. Kendi VoIP sağlayıcınız üzerinden size ait numaraları kullanmayı tercih ediyorsanız, bu kılavuz bağlantı akışında size yol gösterir: **kimlik bilgilerini test edin → bağlantı oluşturun → numaraları içe aktarın → doğrulayın**.

<Note>
  Kontrol panelinde bu akışın tamamının yönlendirmeli bir sürümü
  **Bağlantılar → VoIP** (`/dashboard/voip-connections`) altında bulunur: önce mevcut bir sağlayıcıya bağlanma yolu (API anahtarıyla Twilio ve Telnyx; sağlayıcıya özel adımlar ve yapay zeka kurulum kılavuzu oluşturucusuyla manuel SIP formu üzerinden SignalWire, Vonage, Plivo ve diğer tüm trunk'lar), ardından yeni bir Telnyx hesabı açan yönlendirmeli kurulum yolu.
</Note>

## Desteklenen sağlayıcılar

| Sağlayıcı | `provider` kimliği | Notlar |
|----------|---------------|-------|
| Twilio | `twilio` | Hesap SID'si + Kimlik Doğrulama Belirteci; her Twilio hesabı veya alt hesabı için bir bağlantı ([Twilio alt hesapları](#twilio-subaccounts) bölümüne bakın) |
| Telnyx | `telnyx` | API anahtarı; rehberli başlangıç kurulumu kullanılabilir (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | Yerel sağlayıcı bağlantısı yoktur; SignalWire SIP ön ayarıyla `manual` olarak bağlayın |
| Vonage | `vonage` | Yerel sağlayıcı bağlantısı yoktur; Vonage SIP ön ayarıyla `manual` olarak bağlayın |
| Manuel SIP | `manual` | SignalWire, Vonage ve Plivo dahil olmak üzere herhangi bir SIP trunk'ı. Kontrol panelinde bu sağlayıcı kutucuklarından biriyle başlarsanız bağlantı yine `manual` olur ve seçimi `sip_config.preset` içinde (`signalwire`, `vonage` veya `plivo`) saklar |

## 1. Kimlik bilgilerini test edin

Kalıcı bir VoIP bağlantısı oluşturmadan önce, çalıştıklarını doğrulamak için sağlayıcı
kimlik bilgilerini sınayın. Bu işlem, oluşturma adımına ileteceğiniz bir
`verification_evidence_id` döndürür; böylece kimlik bilgileri test için iki kez
ücretlendirilmez.

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

Herhangi bir kontrol başarısız olursa, yanıt `status` değeri `fail` olur ve `checks`
hangi adımın başarısız olduğunu gösterir. Sağlayıcı tarafındaki yapılandırmayı (trunk
ataması, IP izin listesi, giden çağrı yetkilendirmesi) düzeltin ve yeniden deneyin.

## 2. Bağlantıyı oluşturun

Az önce aldığınız `verification_evidence_id` değerini iletin:

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

Yanıt, `status="connected"` durumunda bir [VoipConnection nesnesidir](/api-reference/voip-connections#connection-object).
Kimlik bilgileri sunucu tarafında saklanır ve sonraki GET isteklerinde hiçbir zaman
düz metin olarak döndürülmez — yenilemek için yeni bir `test` çalıştırın
ve yeni kanıtla PATCH isteği gönderin.

### Twilio alt hesapları

Bir Twilio bağlantısı, içerdiği Account SID ve Auth Token bilgilerine sahip tek Twilio hesabına bağlıdır. Twilio, telefon numaralarını ve SIP trunk'larını her alt hesap içinde tutar; bu nedenle ana hesapla oluşturulan bir bağlantı yalnızca ana hesabın kendi numaralarını görür ve mevcut bir bağlantı daha sonra farklı bir alt hesaba geçirilemez.

Alt hesaplarda bulunan numaralara erişmek için her alt hesap için bir bağlantı
oluşturun. Kontrol paneli bunu sizin için yapar: etkin alt hesapları olan bir ana
hesabı bağladığınızda, kurulum iletişim kutusu bunları listeler, istediklerinizi
işaretlersiniz ve ThunderPhone her birinde bir bağlantı (ve bir SIP trunk'ı)
oluşturur. Aynı akış API üzerinden de kullanılabilir:

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

Yanıt, her alt hesap için bir satır içerir; `status` değeri `created`,
`skipped` (zaten bağlı) veya `failed` olur ve işlem yapabileceğiniz bir `error`
da içerir. Satırlar birbirinden bağımsızdır; bu nedenle bir alt hesaptaki hata
diğerlerini asla engellemez. Ayrıca `discovery_id` 30 dakika boyunca geçerli
kalır, böylece başarısız bir satırı yeniden deneyebilirsiniz. Alt hesap
token'ları keşif sırasında Twilio'dan okunur ve yeni bağlantıda saklanır;
API tarafından hiçbir zaman döndürülmez. Her yeni bağlantı, elle oluşturduğunuz
bir bağlantıyla tamamen aynı şekilde numaraları içe aktarır ve doğrular.
Her yeni bağlantının SIP trunk'ında çağrı aktarımlarını da etkinleştirmek için
`"enable_transfers": true` ekleyin; buradaki bir hata, ilgili bağlantının
`test_result.transfer_enable_error` alanında bildirilir ve satırı başarısız
kılmaz.

## 3. Numaraları listeleyin ve içe aktarın

Kimlik bilgilerinizin görebildiği ve henüz bir ThunderPhone kuruluşunda bulunmayan
numaraları inceleyin:

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

Ardından istediklerinizi içe aktarın:

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

Her içe aktarma, kuruluşunuzda `number_type="voip"` ve `status="provisioning"` değerlerine sahip bir [telefon numarası kaynağına](/api-reference/phone-numbers) dönüşür.

## 4. İçe aktarılan her numarayı doğrulayın

İçe aktarma, numarayı *kullanılabilir* olarak kaydeder; çağrıların gerçekten bu numara üzerinden yönlendirilmesi doğrulama gerektirir. Sağlayıcı bağlantılarında (Twilio, Telnyx) bu işlem sağlayıcı kimlik bilgilerini ve SIP erişilebilirliğini yeniden kontrol eder. **manuel SIP** bağlantısında önce geri döngülü bir öz çağrı dener: ThunderPhone numaradan *başlayan*, SIP
trunk'ınız *üzerinden geçen* ve *aynı numaraya geri dönen* kısa bir yoklama çağrısı yapar. Bu işlem gelen çağrı yolunu doğrulamazsa, numaradan *başlayan*, SIP trunk'ınız *üzerinden geçen* ve bir ThunderPhone numarasına *giden* kısa bir yoklama çağrısına geri döner. Bu testler trunk'ın kullanıcı adını,
parolasını, aktarımını, giden çağrı yönlendirmesini ve gelen çağrı teslimini kontrol eder. Operatörünüz
bu çağrıları diğer çağrılar gibi ücretlendirir.

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

Başarılı olduğunda `voip_verification_status` değeri `verified` olur ve
numara `status="active"` durumuna geçer. Kendi Telnyx hesabınızdaki bir numara,
test çağrısı başarısız olduğunda veya giden çağrılar henüz ayarlanmamışsa bile gelen çağrıları almaya devam eder: `voip_verification_status`
değeri `unverified` olarak ayarlanmış şekilde `status="active"` durumuna geçer
ve yanıt nedenini belirtir. Başarısızlık durumunda yanıt,
neyin başarısız olduğunu açıklar — manuel bir trunk için bu, operatörün SIP yanıtıdır; örneğin *"ThunderPhone kimlik bilgileri reddedildi (SIP 401)"* veya *"bir çağrı yönlendirilemedi (SIP 404)"* — sorunu giderin (kimlik bilgileri, izin verilen kaynak
IP'leri, sağlayıcı panosunda eksik trunk ataması) ve yeniden çağırın.

İzin listesine alınmış manuel SIP bağlantısında, bu İzin Verilen Kaynak IP'ler gerçek bir gelen çağrıyı engelliyorsa gelen çağrı testi de başarısız olur.

## 5. Ajanları atayın ve çağrı alın

Numara doğrulandıktan sonra, gelen / giden ajanları bir ThunderPhone numarasıyla aynı şekilde atarsınız. Bkz. [Gelen çağrıları yönetin](/tr/guides/handle-inbound-calls) ve [Giden çağrılar yapın](/tr/guides/place-outbound-calls).

## Kimlik bilgilerini yenileme

Bir sağlayıcı anahtarı yenilendiğinde, önce test edip ardından güncelleme akışını yeniden çalıştırın:

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

Bağlantı olduğu yerde kalır — numaraları yeniden içe aktarmanız gerekmez.

---

## Sonraki adımlar

<CardGroup cols={2}>
  <Card title="VoIP bağlantıları referansı" icon="phone-volume" href="/api-reference/voip-connections">
    Bağlantı, kanıt ve içe aktarma yanıtlarındaki tüm alanlar.
  </Card>
  <Card title="Telefon numaraları referansı" icon="phone" href="/api-reference/phone-numbers">
    Ajanları atayın, kuruluşlar arasında aktarın, numaraları serbest bırakın.
  </Card>
  <Card title="Giden çağrılar yapın" icon="arrow-up-right" href="/tr/guides/place-outbound-calls">
    Artık numaraya sahip olduğunuza göre, giden çağrılar yapmaya başlayın.
  </Card>
</CardGroup>
