Open in
તમારા પોતાના નંબર લાવો (VoIP, API)
Twilio અથવા Telnyx — અથવા કોઈપણ SIP trunk — કનેક્ટ કરો, તમારા પહેલાથી માલિકીના ફોન નંબરો આયાત કરો અને 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 એલાઉલિસ્ટ, આઉટબાઉન્ડ ઓથોરાઇઝેશન) સુધારો અને ફરી પ્રયાસ કરો.
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"
}'કનેક્શન યથાવત રહે છે — નંબરો ફરી આયાત કરવાની જરૂર નથી.