ThunderPhone 2.0 ਹੁਣ ਲਾਈਵ ਹੈ।ਸੈਲਫ਼-ਸਰਵਿਸ—2¢/ਮਿੰਟ ਤੋਂ।ਐਲਾਨ ਪੜ੍ਹੋ

Developer cookbook

ਆਪਣੇ ਨੰਬਰ ਲਿਆਓ (VoIP, API)

Twilio ਜਾਂ Telnyx, ਜਾਂ SignalWire, Vonage, Plivo ਅਤੇ ਕਿਸੇ ਵੀ ਹੋਰ SIP trunk ਨੂੰ SIP ਰਾਹੀਂ ਕਨੈਕਟ ਕਰੋ, ਆਪਣੇ ਮੌਜੂਦਾ ਫ਼ੋਨ ਨੰਬਰ ਇੰਪੋਰਟ ਕਰੋ, ਅਤੇ ThunderPhone ਏਜੰਟਾਂ ਨੂੰ ਉਹਨਾਂ

ਮਨਜ਼ੂਰਸ਼ੁਦਾ ThunderPhone ਨੰਬਰ ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਕੈਂਪੇਨ ਚਲਾ ਸਕਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ VoIP ਪ੍ਰਦਾਤਾ ਰਾਹੀਂ ਆਪਣੇ ਨੰਬਰ ਵਰਤਣਾ ਪਸੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਗਾਈਡ ਤੁਹਾਨੂੰ ਕਨੈਕਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚੋਂ ਲੰਘਾਉਂਦੀ ਹੈ: ਕ੍ਰੈਡੈਂਸ਼ਲ ਦੀ ਜਾਂਚ ਕਰੋ → ਕਨੈਕਸ਼ਨ ਬਣਾਓ → ਨੰਬਰ ਇੰਪੋਰਟ ਕਰੋ → ਤਸਦੀਕ ਕਰੋ।

ਸਮਰਥਿਤ ਪ੍ਰਦਾਤਾ

ਪ੍ਰਦਾਤਾprovider idਨੋਟਸ
Twiliotwilioਅਕਾਊਂਟ SID + Auth Token; ਹਰ 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 ਕਨੈਕਸ਼ਨ ਉਸੇ ਇੱਕ 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": "..."}}'
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 ਟਰੰਕ ਲਈ ਕਾਲ ਟ੍ਰਾਂਸਫਰ ਵੀ ਚਾਲੂ ਕਰਨ ਲਈ "enable_transfers": true ਸ਼ਾਮਲ ਕਰੋ; ਉੱਥੇ ਹੋਈ ਅਸਫਲਤਾ ਉਸ ਕਨੈਕਸ਼ਨ ਦੇ test_result.transfer_enable_error ਵਿੱਚ ਦਰਜ ਹੁੰਦੀ ਹੈ ਅਤੇ ਕਤਾਰ ਨੂੰ ਅਸਫਲ ਨਹੀਂ ਕਰਦੀ।

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 ਵਿੱਚ ਇੱਕ ਫੋਨ ਨੰਬਰ ਸਰੋਤ ਬਣ ਜਾਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚ number_type="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" ਵਿੱਚ ਦਾਖਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਤੁਹਾਡੇ ਆਪਣੇ Telnyx ਖਾਤੇ ਦਾ ਨੰਬਰ ਆਪਣੀ ਟੈਸਟ ਕਾਲ ਅਸਫਲ ਹੋਣ ਜਾਂ ਆਊਟਬਾਊਂਡ ਹਾਲੇ ਸੈੱਟਅੱਪ ਨਾ ਹੋਣ 'ਤੇ ਵੀ ਇਨਬਾਊਂਡ ਕਾਲਾਂ ਲੈਂਦਾ ਰਹਿੰਦਾ ਹੈ: ਇਹ voip_verification_status ਨੂੰ unverified 'ਤੇ ਸੈੱਟ ਕਰਕੇ 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"
  }'

ਕਨੈਕਸ਼ਨ ਜਿਉਂ ਦਾ ਤਿਉਂ ਰਹਿੰਦਾ ਹੈ — ਨੰਬਰਾਂ ਨੂੰ ਦੁਬਾਰਾ ਇੰਪੋਰਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ।


ਅਗਲੇ ਕਦਮ