اپنے نمبر استعمال کریں (VoIP، API)

ڈیمو نمبرز پروٹوٹائپنگ کے لیے موزوں ہیں، لیکن پروڈکشن ٹریفک کے لیے اپنے VoIP فراہم کنندہ کے ذریعے اپنے نمبرز استعمال کریں۔ یہ گائیڈ آپ کو تین مراحل کے فلو سے گزارتا ہے: اسناد کی جانچ → کنکشن بنائیں → نمبرز امپورٹ کریں → تصدیق کریں۔

معاون فراہم کنندگان

فراہم کنندہprovider idنوٹس
TwiliotwilioAPI کلید + سیکرٹ
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" }
  }'
{
  "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" میں ایک VoIP کنکشن آبجیکٹ ہوتا ہے۔ اسناد سرور کی طرف محفوظ کی جاتی ہیں اور بعد کی GET درخواستوں میں کبھی سادہ متن میں واپس نہیں کی جاتیں — روٹیٹ کرنے کے لیے، ایک نیا test چلائیں اور نئے ثبوت کے ساتھ PATCH کریں۔

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. ہر درآمد کردہ نمبر کی تصدیق کریں

درآمد کرنے سے نمبر دستیاب کے طور پر رجسٹر ہو جاتا ہے؛ اس کے ذریعے کالز کو واقعی روٹ کرنے کے لیے دو طرفہ تصدیق درکار ہوتی ہے (ان باؤنڈ ڈائل اِن جانچ + آؤٹ باؤنڈ اجازت کی جانچ)۔

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

کنکشن اپنی جگہ برقرار رہتا ہے — نمبرز دوبارہ درآمد کرنے کی ضرورت نہیں۔


اگلے مراحل