Open in
Kendi numaralarınızı getirin (VoIP, API)
Twilio, Telnyx, SignalWire, Vonage, Plivo veya diğer herhangi bir SIP trunk
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.
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ı 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.
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" }
}'{
"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:
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.
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:
# 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": "..."}}'{
"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 }
]
}# 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:
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:
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 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.
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 ve Giden çağrılar yapın.
Kimlik bilgilerini yenileme
Bir sağlayıcı anahtarı yenilendiğinde, önce test edip ardından güncelleme akışını yeniden çalıştırın:
# 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.