ThunderPhone 2.0 באוויר.בשירות עצמי, החל מ-2¢/דקה.קראו את הודעת ההשקה

Developer cookbook

הביאו מספרים משלכם (VoIP, API)

חברו את Twilio או Telnyx — או כל קו SIP — ייבאו את מספרי הטלפון שכבר בבעלותכם, ואפשרו לסוכני ThunderPhone לענות לשיחות ולבצע שיחות באמצעותם.

מספרי הדגמה מתאימים לאב־טיפוס, אך תעבורת ייצור צריכה להשתמש במספרים שבבעלותכם דרך ספק ה-VoIP שלכם. מדריך זה מלווה אתכם בתהליך בן שלושה שלבים: בדיקת פרטי גישה → יצירת חיבור → ייבוא מספרים → אימות.

ספקים נתמכים

ספקמזהה providerהערות
Twiliotwilioמפתח API + סוד
Telnyxtelnyxמפתח API; קליטה מודרכת זמינה (setup_method: guided_telnyx)
SignalWiresignalwireבקרוב — התחברו כיום דרך SIP ידני
Vonagevonageבקרוב — התחברו כיום דרך 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" }
  }'
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..."
  }'

התגובה היא אובייקט VoipConnection עם status="connected". פרטי הגישה נשמרים בצד השרת ולעולם אינם מוחזרים כטקסט גלוי בבקשות 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". במקרה של כשל, התגובה מפרטת מה נכשל — תקנו זאת (לעיתים קרובות חסרה הקצאת trunk בלוח הבקרה של הספק) והפעילו שוב את הקריאה.

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

החיבור נשאר במקומו — אין צורך לייבא מחדש מספרים.


השלבים הבאים