ThunderPhone 2.0 அறிமுகமாகிவிட்டது.நீங்களே தொடங்கலாம்; நிமிடத்திற்கு 2¢ முதல்.அறிவிப்பைப் படிக்கவும்

Developer cookbook

உங்கள் சொந்த எண்களைப் பயன்படுத்துங்கள் (VoIP, API)

Twilio, Telnyx, SignalWire, Vonage, Plivo அல்லது வேறு எந்த SIP trunk-ஐயும் SIP வழியாக இணைக்கவும், நீங்கள் ஏற்கனவே வைத்திருக்கும் தொலைபேசி எண்களை இறக்குமதி செய்யவும், அவற்றில் ThunderPhone ஏஜென்ட்கள் அழைப்புகளுக்கு பதிலளிக்கவும் அழைப்புகளை மேற்கொள்ளவும் அனுமதிக்கவும்.

அங்கீகரிக்கப்பட்ட ThunderPhone எண்கள் வெளிச்செல்லும் அழைப்புகளை மேற்கொள்ளவும் பிரச்சாரங்களை இயக்கவும் முடியும். உங்கள் சொந்த VoIP வழங்குநர் மூலம் உங்களுக்குச் சொந்தமான எண்களைப் பயன்படுத்த விரும்பினால், இந்த வழிகாட்டி இணைப்பு செயல்முறையை விளக்குகிறது: நற்சான்றிதழ்களைச் சோதிக்கவும் → இணைப்பை உருவாக்கவும் → எண்களை இறக்குமதி செய்யவும் → சரிபார்க்கவும்.

ஆதரிக்கப்படும் வழங்குநர்கள்

வழங்குநர்provider idகுறிப்புகள்
Twiliotwilioகணக்கு SID + அங்கீகார டோக்கன்; ஒவ்வொரு Twilio கணக்கு அல்லது துணைக் கணக்கிற்கும் ஒரு இணைப்பு (Twilio துணைக் கணக்குகள் பார்க்கவும்)
TelnyxtelnyxAPI விசை; வழிகாட்டப்பட்ட ஆன்போர்டிங் கிடைக்கும் (setup_method: guided_telnyx)
SignalWiresignalwireஇயல்புநிலை வழங்குநர் இணைப்பு இல்லை; SignalWire SIP முன்னமைவுடன் இதை manual ஆக இணைக்கவும்
Vonagevonageஇயல்புநிலை வழங்குநர் இணைப்பு இல்லை; Vonage SIP முன்னமைவுடன் இதை manual ஆக இணைக்கவும்
கைமுறை SIPmanualSignalWire, Vonage மற்றும் Plivo உட்பட எந்த SIP டிரங்கும். டாஷ்போர்டில் உள்ள அந்த வழங்குநர் டைல்களில் ஒன்றிலிருந்து தொடங்கினால், இணைப்பு தொடர்ந்து manual ஆகவே இருக்கும்; தேர்வை sip_config.preset இல் சேமிக்கும் (signalwire, vonage அல்லது plivo)

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" }
  }'
Response
{
  "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 அனுமதிப்பட்டியல், வெளிச்செல்லும் அங்கீகாரம்), பின்னர் மீண்டும் முயற்சிக்கவும்.

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 இணைப்பு, அது வைத்திருக்கும் Account SID மற்றும் Auth Token-க்கு உரிய ஒரே Twilio கணக்குடன் பிணைக்கப்பட்டுள்ளது. Twilio ஒவ்வொரு துணைக்கணக்கிலும் தொலைபேசி எண்களையும் 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": "..."}}'
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 }
  ]
}
# 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 மூலம் ஒருபோதும் திருப்பி வழங்கப்படாது. பின்னர் ஒவ்வொரு புதிய இணைப்பும், நீங்கள் கையால் உருவாக்கிய இணைப்பைப் போலவே எண்களை இறக்குமதி செய்து சரிபார்க்கும். ஒவ்வொரு புதிய இணைப்பின் SIP trunk-க்கும் அழைப்பு பரிமாற்றங்களை இயக்க "enable_transfers": true என்பதைச் சேர்க்கவும்; அங்கு தோல்வி ஏற்பட்டால் அது அந்த இணைப்பின் test_result.transfer_enable_error-இல் தெரிவிக்கப்படும், மேலும் அது வரியைத் தோல்வியடையச் செய்யாது.

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

ஒவ்வொரு இறக்குமதியும் உங்கள் org-இல் number_type="voip" மற்றும் status="provisioning" கொண்ட தொலைபேசி எண் வளமாக மாறும்.

4. இறக்குமதி செய்யப்பட்ட ஒவ்வொரு எண்ணையும் சரிபார்க்கவும்

இறக்குமதி செய்வது எண்ணை கிடைக்கக்கூடியது எனப் பதிவுசெய்கிறது; அதன் வழியாக அழைப்புகளை உண்மையில் வழிமாற்றுவதற்கு சரிபார்ப்பு தேவை. வழங்குநர் இணைப்புகளுக்கு (Twilio, Telnyx), இது வழங்குநரின் சான்றுகளையும் SIP அணுகல்தன்மையையும் மீண்டும் சரிபார்க்கிறது. கைமுறை SIP இணைப்புக்கு, முதலில் லூப்ப்பேக் சுய-அழைப்பை முயற்சிக்கிறது: ThunderPhone எண்ணிலிருந்து, உங்கள் 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" நிலைக்குள் செல்கிறது. உங்கள் சொந்த Telnyx கணக்கிலுள்ள எண், அதன் சோதனை அழைப்பு தோல்வியடைந்தாலும் அல்லது வெளியேறும் அழைப்பு இன்னும் அமைக்கப்படவில்லை என்றாலும், உள்வரும் அழைப்புகளைத் தொடர்ந்து பெறும்: அது voip_verification_status ஐ unverified ஆக அமைத்தபடி status="active" ஆகும், மேலும் ஏன் என்பதை பதில் தெரிவிக்கும். தோல்வியடைந்தால், எது தோல்வியடைந்தது என்பதை பதில் தெளிவாகக் குறிப்பிடும் — கைமுறை டிரங்கிற்கு, அது கேரியரின் SIP பதிலாக இருக்கும்; உதாரணமாக "ThunderPhone-ன் சான்றுகளை நிராகரித்தது (SIP 401)" அல்லது "அழைப்பை வழிமாற்ற முடியவில்லை (SIP 404)" — அதைச் சரிசெய்து (சான்றுகள், அனுமதிக்கப்பட்ட மூல IP-கள், வழங்குநர் டாஷ்போர்டில் விடுபட்ட டிரங்க் ஒதுக்கீடு) மீண்டும் அழைக்கவும்.

அனுமதிப்பட்டியலில் உள்ள கைமுறை SIP இணைப்புக்கு, அந்த அனுமதிக்கப்பட்ட மூல 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"
  }'

இணைப்பு அப்படியே இருக்கும் — எண்களை மீண்டும் இறக்குமதி செய்யத் தேவையில்லை.


அடுத்த படிகள்