ਆਪਣੇ ਨੰਬਰ ਲਿਆਓ (VoIP, API)
ਡੈਮੋ ਨੰਬਰ ਪ੍ਰੋਟੋਟਾਈਪਿੰਗ ਲਈ ਠੀਕ ਹਨ, ਪਰ ਪ੍ਰੋਡਕਸ਼ਨ ਟ੍ਰੈਫਿਕ ਲਈ ਤੁਹਾਨੂੰ ਆਪਣੇ VoIP ਪ੍ਰਦਾਤਾ ਰਾਹੀਂ ਆਪਣੇ ਨੰਬਰ ਵਰਤਣੇ ਚਾਹੀਦੇ ਹਨ। ਇਹ ਗਾਈਡ ਤੁਹਾਨੂੰ ਤਿੰਨ-ਕਦਮੀ ਫ਼ਲੋ ਰਾਹੀਂ ਲੈ ਕੇ ਜਾਂਦੀ ਹੈ: ਕ੍ਰੈਡੈਂਸ਼ਲਾਂ ਦੀ ਜਾਂਚ ਕਰੋ → ਕਨੈਕਸ਼ਨ ਬਣਾਓ → ਨੰਬਰ ਇੰਪੋਰਟ ਕਰੋ → ਤਸਦੀਕ ਕਰੋ।
ਸਮਰਥਿਤ ਪ੍ਰਦਾਤਾ
| ਪ੍ਰਦਾਤਾ | provider id | ਨੋਟਸ |
|---|---|---|
| Twilio | twilio | API ਕੁੰਜੀ + ਸੀਕ੍ਰੇਟ |
| 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 ਕਰੋ।
3. ਨੰਬਰਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਇੰਪੋਰਟ ਕਰੋ
ਤੁਹਾਡੀਆਂ ਕ੍ਰੈਡੈਂਸ਼ਲਾਂ ਨੂੰ ਦਿਖਣ ਵਾਲੇ ਉਹ ਨੰਬਰ ਵੇਖੋ ਜੋ ਪਹਿਲਾਂ ਹੀ ਕਿਸੇ ThunderPhone org ਵਿੱਚ ਨਹੀਂ ਹਨ:
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 ਵਿੱਚ source="voip" ਅਤੇ status="provisioning" ਵਾਲਾ
ਇੱਕ ਫ਼ੋਨ ਨੰਬਰ ਰਿਸੋਰਸ ਬਣ ਜਾਂਦਾ ਹੈ।
4. ਹਰੇਕ ਇੰਪੋਰਟ ਕੀਤੇ ਨੰਬਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
ਇੰਪੋਰਟ ਕਰਨ ਨਾਲ ਨੰਬਰ ਉਪਲਬਧ ਵਜੋਂ ਰਜਿਸਟਰ ਹੁੰਦਾ ਹੈ; ਇਸ ਰਾਹੀਂ ਕਾਲਾਂ ਨੂੰ ਅਸਲ ਵਿੱਚ ਰੂਟ ਕਰਨ ਲਈ ਰਾਊਂਡ-ਟ੍ਰਿਪ ਪੁਸ਼ਟੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ (ਇਨਬਾਊਂਡ ਡਾਇਲ-ਇਨ ਜਾਂਚ + ਆਊਟਬਾਊਂਡ ਅਧਿਕਾਰ ਪ੍ਰੋਬ)।
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" ਵਿੱਚ ਦਾਖਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਅਸਫਲ ਹੋਣ 'ਤੇ, ਜਵਾਬ ਸਪਸ਼ਟ ਦੱਸਦਾ ਹੈ ਕਿ
ਕੀ ਅਸਫਲ ਹੋਇਆ — ਇਸਨੂੰ ਠੀਕ ਕਰੋ (ਅਕਸਰ ਪ੍ਰਦਾਤਾ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਟਰੰਕ ਅਸਾਈਨਮੈਂਟ ਗੁੰਮ ਹੁੰਦੀ ਹੈ)
ਅਤੇ ਦੁਬਾਰਾ ਕਾਲ ਕਰੋ।
5. ਏਜੰਟ ਅਸਾਈਨ ਕਰੋ ਅਤੇ ਕਾਲ ਲਓ
ਨੰਬਰ ਦੀ ਪੁਸ਼ਟੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਇਨਬਾਊਂਡ / ਆਊਟਬਾਊਂਡ ਏਜੰਟਾਂ ਨੂੰ ਡੈਮੋ ਨੰਬਰ ਵਾਂਗ ਹੀ ਅਸਾਈਨ ਕਰਦੇ ਹੋ। ਵੇਖੋ ਇਨਬਾਊਂਡ ਕਾਲਾਂ ਹੈਂਡਲ ਕਰੋ ਅਤੇ ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਕਰੋ।
ਕ੍ਰੈਡੈਂਸ਼ਲ ਰੋਟੇਟ ਕਰਨਾ
ਜਦੋਂ ਪ੍ਰਦਾਤਾ ਕੁੰਜੀ ਰੋਟੇਟ ਹੁੰਦੀ ਹੈ, ਟੈਸਟ-ਫਿਰ-ਅੱਪਡੇਟ ਫਲੋ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ:
# 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"
}'
ਕਨੈਕਸ਼ਨ ਆਪਣੀ ਥਾਂ 'ਤੇ ਰਹਿੰਦਾ ਹੈ — ਨੰਬਰਾਂ ਨੂੰ ਦੁਬਾਰਾ ਇੰਪੋਰਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ।