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

Developer cookbook

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

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

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

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

வழங்குநர்provider idகுறிப்புகள்
Twiliotwilioகணக்கு SID + Auth Token; ஒவ்வொரு Twilio கணக்கு அல்லது துணைக்கணக்கிற்கும் ஒரு இணைப்பு (Twilio துணைக்கணக்குகள் பார்க்கவும்)
TelnyxtelnyxAPI விசை; வழிகாட்டப்பட்ட தொடக்க அமைப்பு கிடைக்கிறது (setup_method: guided_telnyx)
SignalWiresignalwireவிரைவில் வருகிறது — தற்போது கைமுறை SIP வழியாக இணைக்கவும்
Vonagevonageவிரைவில் வருகிறது — தற்போது கைமுறை SIP வழியாக இணைக்கவும்
கைமுறை SIPmanualஎந்த 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" }
  }'
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 டிரங்க்களையும் வைத்திருக்கும்; எனவே முதன்மைக் கணக்கைப் பயன்படுத்தி உருவாக்கப்பட்ட இணைப்பு, முதன்மைக் கணக்கின் சொந்த எண்களை மட்டுமே பார்க்கும். ஏற்கனவே உள்ள இணைப்பை பின்னர் வேறு துணைக் கணக்கிற்கு மாற்ற முடியாது (இணைப்பின் 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 மூலம் ஒருபோதும் திருப்பி அனுப்பப்படாது. பின்னர் ஒவ்வொரு புதிய இணைப்பும், நீங்கள் கைமுறையாக உருவாக்கிய இணைப்பைப் போலவே எண்களை இறக்குமதி செய்து சரிபார்க்கும்.

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 trunk வழியாக, ஒரு ThunderPhone எண்ணுக்கு ஒரு குறுகிய சோதனை அழைப்பை (சில வினாடிகள், தானாகத் துண்டிக்கப்படும்) மேற்கொள்கிறது — இதன் மூலம் trunk-இன் பயனர்பெயர், கடவுச்சொல், போக்குவரத்து மற்றும் வெளிச்செல்லும் வழிமாற்றம் உண்மையாகச் சரிபார்க்கப்படும். உங்கள் கேரியர் அந்த அழைப்பிற்கும் மற்ற எந்த அழைப்பைப் போலவே கட்டணமிடும்.

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" நிலைக்குள் செல்கிறது. தோல்வியடைந்தால், பதில் எது தோல்வியடைந்தது என்பதைத் தெளிவாகக் குறிப்பிடும் — எடுத்துக்காட்டாக, கைமுறை trunk-க்கு அது கேரியரின் SIP பதிலாக இருக்கும், "ThunderPhone-ன் சான்றுகள் நிராகரிக்கப்பட்டன (SIP 401)" அல்லது "அழைப்பை வழிமாற்ற முடியவில்லை (SIP 404)" — அதைச் சரிசெய்து (சான்றுகள், அனுமதிக்கப்பட்ட மூல IP-கள், வழங்குநர் டாஷ்போர்டில் இல்லாத trunk ஒதுக்கீடு) மீண்டும் அழைக்கவும்.

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

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


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