Open in
तुमचे स्वतःचे नंबर वापरा (VoIP, API)
Twilio किंवा Telnyx — किंवा कोणताही SIP ट्रंक — जोडा, तुमच्याकडे आधीपासून असलेले फोन नंबर आयात करा आणि ThunderPhone एजंटना त्यांवर कॉल स्वीकारू व करू द्या.
ThunderPhone नंबर इनबाउंड कॉल्ससाठी आहेत, पण आउटबाउंड कॉल्स आणि कॅम्पेनसाठी तुमच्या स्वतःच्या VoIP प्रदात्यामार्फत तुमच्या मालकीचे नंबर आवश्यक आहेत. हे मार्गदर्शक तुम्हाला तीन-टप्प्यांच्या प्रवाहातून घेऊन जाते: क्रेडेन्शियल्सची चाचणी करा → कनेक्शन तयार करा → नंबर इंपोर्ट करा → पडताळणी करा.
समर्थित प्रदाते
| प्रदाता | provider id | नोंदी |
|---|---|---|
| Twilio | twilio | खाते SID + Auth Token; प्रत्येक Twilio खाते किंवा उपखात्यासाठी एक कनेक्शन (पहा Twilio उपखाती) |
| Telnyx | telnyx | API की; मार्गदर्शित ऑनबोर्डिंग उपलब्ध (setup_method: guided_telnyx) |
| SignalWire | signalwire | लवकरच उपलब्ध — आजच मॅन्युअल SIP द्वारे कनेक्ट करा |
| Vonage | vonage | लवकरच उपलब्ध — आजच मॅन्युअल SIP द्वारे कनेक्ट करा |
| मॅन्युअल SIP | manual | कोणताही SIP ट्रंक — तुमची स्वतःची कॉन्फिगरेशन वापरा |
1. क्रेडेन्शियल्सची चाचणी करा
कायमस्वरूपी VoIP कनेक्शन तयार करण्यापूर्वी, प्रदात्याच्या
क्रेडेन्शियल्स कार्यरत असल्याची खात्री करण्यासाठी त्यांची चाचणी करा. यामुळे
verification_evidence_id परत मिळतो, जो तुम्ही तयार करण्याच्या टप्प्यात पाठवता, त्यामुळे
चाचणीसाठी क्रेडेन्शियल्सवर दुहेरी शुल्क आकारले जात नाही.
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
}
}कोणतीही तपासणी अयशस्वी झाल्यास, प्रतिसादातील status हे fail असेल आणि checks मध्ये
कोणता टप्पा अयशस्वी झाला ते दिसेल. प्रदात्याच्या बाजूचे कॉन्फिगरेशन (ट्रंक
असाइनमेंट, IP allowlist, आउटबाउंड अधिकृतीकरण) दुरुस्त करा आणि पुन्हा प्रयत्न करा.
2. कनेक्शन तयार करा
तुम्हाला नुकताच मिळालेला verification_evidence_id पास करा:
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..."
}'प्रतिसाद status="connected" असलेला VoipConnection ऑब्जेक्ट असतो. क्रेडेन्शियल्स सर्व्हर-साइड संचयित केले जातात आणि पुढील GET विनंत्यांमध्ये कधीही साध्या मजकुरात परत केले जात नाहीत — रोटेट करण्यासाठी नवीन test चालवा आणि नवीन पुराव्यासह PATCH करा.
Twilio उपखाती
Twilio कनेक्शन हे ज्या एकाच Twilio खात्याचे Account SID आणि Auth Token त्यात असतात त्या खात्याशी बांधलेले असते. Twilio प्रत्येक उपखात्यामध्ये फोन नंबर आणि SIP ट्रंक ठेवते, त्यामुळे मूळ खात्यासह तयार केलेल्या कनेक्शनला फक्त मूळ खात्याचे स्वतःचे नंबर दिसतात आणि विद्यमान कनेक्शन नंतर वेगळ्या उपखात्यावर बदलता येत नाही (कनेक्शनची SIP ट्रंक मूळ खात्यात असल्यामुळे अपडेट नाकारले जाते).
उपखात्यांमध्ये असलेल्या नंबरपर्यंत पोहोचण्यासाठी, प्रत्येक उपखात्यासाठी एक कनेक्शन तयार करा. डॅशबोर्ड हे तुमच्यासाठी करतो: सक्रिय उपखाती असलेले मूळ खाते तुम्ही कनेक्ट करता तेव्हा, सेटअप संवादात ती सूचीबद्ध होतात, तुम्ही हवी असलेली निवडता आणि ThunderPhone प्रत्येकामध्ये कनेक्शन (आणि SIP ट्रंक) तयार करते. हाच प्रवाह API द्वारे उपलब्ध आहे:
# 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..."]}'प्रतिसादात प्रत्येक उपखात्यासाठी एक पंक्ती असते, ज्यामध्ये status म्हणून created, skipped (आधीच कनेक्ट केलेले) किंवा failed आणि तुम्ही ज्यावर कारवाई करू शकता अशी error असते. पंक्ती स्वतंत्र असतात, त्यामुळे एका उपखात्यातील अपयश इतरांना कधीही अडवत नाही आणि discovery_id 30 मिनिटांसाठी वैध राहते, त्यामुळे अयशस्वी पंक्तीचा सहज पुनर्प्रयत्न करता येतो. उपखाता टोकन डिस्कव्हरीच्या वेळी Twilio मधून वाचले जातात आणि नवीन कनेक्शनवर संचयित केले जातात; ते API द्वारे कधीही परत केले जात नाहीत. त्यानंतर प्रत्येक नवीन कनेक्शन तुम्ही हाताने तयार केलेल्या कनेक्शनप्रमाणेच नंबर इंपोर्ट आणि सत्यापित करते.
3. नंबर सूचीबद्ध करा आणि इंपोर्ट करा
तुमच्या क्रेडेन्शियल्सना दिसणारे आणि आधीपासून ThunderPhone संस्थेमध्ये नसलेले नंबर तपासा:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"त्यानंतर तुम्हाला हवे असलेले नंबर इंपोर्ट करा:
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"]}'प्रत्येक इंपोर्ट तुमच्या संस्थेमध्ये source="voip" आणि status="provisioning" असलेला फोन नंबर रिसोर्स बनतो.
4. प्रत्येक इम्पोर्ट केलेला नंबर सत्यापित करा
इम्पोर्ट केल्याने नंबर उपलब्ध म्हणून नोंदवला जातो; त्यातून कॉल प्रत्यक्ष रूट करण्यासाठी सत्यापन आवश्यक आहे. प्रोव्हायडर कनेक्शनसाठी (Twilio, Telnyx) यामुळे प्रोव्हायडर क्रेडेन्शियल्स आणि SIP पोहोचक्षमता पुन्हा तपासली जाते. मॅन्युअल SIP कनेक्शनसाठी तो नंबर वरून, तुमच्या SIP ट्रंक मार्गे, ThunderPhone नंबरवर एक लहान प्रोब कॉल करतो (काही सेकंदांचा, आपोआप डिस्कनेक्ट होणारा) — त्यामुळे ट्रंकचे युजरनेम, पासवर्ड, ट्रान्सपोर्ट आणि आउटबाउंड रूटिंग प्रत्यक्ष सिद्ध होते. तुमचा कॅरिअर त्या कॉलसाठी इतर कोणत्याही कॉलप्रमाणे बिल आकारतो.
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"यशस्वी झाल्यावर, voip_verification_status चे मूल्य verified होते आणि
नंबर status="active" मध्ये जातो. अयशस्वी झाल्यास, प्रतिसादात
काय अयशस्वी झाले ते स्पष्ट केले जाते — मॅन्युअल ट्रंकसाठी ते कॅरिअरचे SIP उत्तर असते, उदाहरणार्थ
"ThunderPhone चे क्रेडेन्शियल्स नाकारले (SIP 401)" किंवा "कॉल रूट
करता आला नाही (SIP 404)" — ते दुरुस्त करा (क्रेडेन्शियल्स, अनुमत स्रोत
IP, प्रोव्हायडर डॅशबोर्डमधील गहाळ ट्रंक असाइनमेंट) आणि पुन्हा कॉल करा.
5. एजंट असाइन करा आणि कॉल घ्या
नंबर सत्यापित झाल्यावर, तुम्ही इनबाउंड / आउटबाउंड एजंट त्याच पद्धतीने असाइन करता जसे ThunderPhone नंबरसाठी करता. पहा इनबाउंड कॉल हाताळा आणि आउटबाउंड कॉल करा.
क्रेडेन्शियल्स रोटेट करणे
प्रोव्हायडर की रोटेट झाल्यावर, टेस्ट-नंतर-अपडेट प्रक्रिया पुन्हा चालवा:
# 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"
}'कनेक्शन कायम राहते — नंबर पुन्हा इम्पोर्ट करण्याची गरज नाही.