API להקצאת מספרים (DID)
חפשו מספרים (DID) זמינים, שייכו מספרים לחשבון שלכם, הגדירו העברה, הציגו רשימת מספרים שנרכשו, ושחררו מספרים באופן פרוגרמטי. שלבו את ניהול המספרים ישירות באפליקציה שלכם.
מהי הקצאת מספרים (DID Provisioning)?
הקצאת DID (חיוג פנימי ישיר) היא התהליך של רכישת מספר טלפון מקומי באופן פרוגרמטי והגדרת יעד המסירה של שיחות נכנסות. באמצעות ה-API של Israelnumber, האפליקציה שלכם יכולה להציג רשימת מספרים (DID) זמינים, לשייך מספר נבחר לחשבון שלכם, להגדיר את יעד ההעברה שלו, להציג רשימת מספרים שנרכשו, ולשחרר מספר כאשר אין בו עוד צורך.
הפניה לנקודות הקצה של ה-API
לפני השימוש ב-API, הוסיפו את כתובת ה-IP של השרת השולח את הבקשות לרשימת ההיתרים בפורטל החשבון של המשתמש. קריאת ה-Login הראשונית משתמשת ב-HTTP POST עם גוף בקשה בפורמט JSON, בשם המשתמש/סיסמה הייחודיים לחשבון, וב-x-auth-token הקבוע המפורסם בתיעוד ה-API. Login מוצלח מחזיר את ה-id של החשבון, את ה-account_token, ו-x-auth-token חדש עבור ה-session. יש להשתמש ב-x-auth-token של ה-session בכותרת הבקשה עבור כל הקריאות הבאות באותו session, בעוד ה-id וה-account_token שהוחזרו נשלחים בגוף הבקשה כערכי ה-id וה-token המתועדים. כתובת בסיס: https://newsip.israelnumber.com
| נקודת קצה | מה היא עושה | פרמטרים עיקריים |
|---|---|---|
| POST /api/login/ | התחברות וקבלת id, account_token, ו-x-auth-token של ה-session שנוצר עבור הקריאות הבאות | username, password |
| POST /customer/did_crud/ | חיפוש מספרים (DID) זמינים במדינה (action=available_list) | action, parent_id, country_id (אופציונלי), id, token |
| POST /customer/did_management/ | רכישה ושיוך מספר (DID) לחשבון שלכם (action=assign) | action, did_id, accountid, reseller_id, id, token |
| POST /customer/did_crud/ | הצגת כל המספרים שנרכשו בחשבון שלכם (action=purchase_list) | action, id, token |
| POST /customer/did_management/ | הגדרת העברת שיחות — תמיד, בעת תפוס, לא רשום, או ללא מענה | action, did_id, call_type, call_type_value, always, user_busy, user_not_registered, no_answer, extensions, call_type_vm_flag, always_destination, always_vm_flag, user_busy_destination, user_busy_vm_flag, user_not_registered_destination, user_not_registered_vm_flag, no_answer_destination, no_answer_vm_flag, id, token |
| POST /customer/did_management/ | שחרור מספר (DID) והסרתו מהחשבון שלכם (action=release) | action, did_id, accountid, id, token |
תהליך מלא: חיפוש ← הזמנה ← הגדרה ← שחרור
דוגמת Python מלאה שעוברת על כל מחזור החיים של מספר (DID).
import requests
BASE = "https://newsip.israelnumber.com"
# לפני קריאה ל-API, הוסיפו את כתובת ה-IP של השרת הזה
# לרשימת ההיתרים בפורטל החשבון של Israelnumber.
INITIAL_HEADERS = {
"x-auth-token": "YOUR_INITIAL_X_AUTH_TOKEN",
"Content-Type": "application/json"
}
# ── 1. התחברות (Login) עם ה-x-auth-token הקבוע ─────────────
res = requests.post(
f"{BASE}/api/login/",
headers=INITIAL_HEADERS,
json={
"username": "YOUR_ACCOUNT_NUMBER",
"password": "YOUR_PASSWORD"
}
)
res.raise_for_status()
login_data = res.json()
account_id = login_data["id"]
token = login_data["account_token"]
session_x_auth_token = login_data["x-auth-token"]
# שימוש ב-x-auth-token של ה-session שהוחזר לאחר ה-Login.
SESSION_HEADERS = {
"x-auth-token": session_x_auth_token,
"Content-Type": "application/json"
}
# ── 2. הצגת רשימת מספרים (DID) זמינים ──────────────────────
# country_id הוא מזהה מדינה מספרי אופציונלי, המסופק בהפניה לרשימת המדינות.
avail = requests.post(
f"{BASE}/customer/did_crud/",
headers=SESSION_HEADERS,
json={
"action": "available_list",
"parent_id": "0",
"country_id": "YOUR_COUNTRY_ID",
"id": account_id,
"token": token
}
)
available_data = avail.json()
print("Available DIDs:", available_data)
# ── 3. שיוך מספר (DID) ──────────────────────────────────────
# did_id מגיע מתגובת רשימת המספרים הזמינים.
chosen_id = "YOUR_DID_ID"
assign = requests.post(
f"{BASE}/customer/did_management/",
headers=SESSION_HEADERS,
json={
"action": "assign",
"did_id": chosen_id,
"accountid": account_id,
"reseller_id": "0",
"id": account_id,
"token": token
}
)
print("Assigned:", assign.json())
# ── 4. הגדרת העברה למספר (DID) ──────────────────────────────
# דוגמת ההפניה שסופקה משתמשת ב-call_type=2 וכתובת IP של טראנק
# כ-call_type_value. did_id כאן אמור להיות מזהה המספר שנרכש.
forwarding = requests.post(
f"{BASE}/customer/did_management/",
headers=SESSION_HEADERS,
json={
"action": "forward",
"did_id": "YOUR_PURCHASED_DID_ID",
"call_type": "2",
"call_type_value": "YOUR_TRUNK_IP",
"always": "5",
"user_busy": "5",
"user_not_registered": "5",
"no_answer": "5",
"extensions": "",
"call_type_vm_flag": "",
"always_destination": "",
"always_vm_flag": "",
"user_busy_destination": "",
"user_busy_vm_flag": "",
"user_not_registered_destination": "",
"user_not_registered_vm_flag": "",
"no_answer_destination": "",
"no_answer_vm_flag": "",
"id": account_id,
"token": token
}
)
print("Forwarding configured:", forwarding.json())
# ── 5. הצגת רשימת מספרים שנרכשו ─────────────────────────────
my_dids = requests.post(
f"{BASE}/customer/did_crud/",
headers=SESSION_HEADERS,
json={
"action": "purchase_list",
"id": account_id,
"token": token
}
)
print("Purchased DIDs:", my_dids.json())
# ── 6. שחרור מספר (DID) ─────────────────────────────────────
release = requests.post(
f"{BASE}/customer/did_management/",
headers=SESSION_HEADERS,
json={
"action": "release",
"did_id": "YOUR_PURCHASED_DID_ID",
"accountid": account_id,
"id": account_id,
"token": token
}
)
print("Released:", release.json())מדריכי API נוספים
|
| ||||
|
|
שאלות נפוצות — API להקצאת מספרים (DID)
כיצד רוכשים מספר טלפון וירטואלי דרך ה-API?
ראשית, הוסיפו את כתובת ה-IP של השרת השולח את קריאות ה-API לרשימת ההיתרים בפורטל החשבון שלכם. התחברו (Login) עם שם המשתמש/סיסמה של החשבון שלכם וה-x-auth-token הראשוני הקבוע מתיעוד ה-API. Login מוצלח מחזיר את ה-id של החשבון שלכם, את ה-account_token, ו-x-auth-token חדש עבור ה-session. השתמשו ב-x-auth-token של ה-session בכותרות הבקשות הבאות. לאחר מכן קראו לרשימת המספרים הזמינים (/customer/did_crud/, action=available_list) באמצעות מזהה ה-country_id המספרי האופציונלי המסופק בהפניה לרשימת המדינות. השתמשו בשיוך מספר (/customer/did_management/, action=assign) עם ה-did_id הנבחר, ה-accountid שלכם, ה-reseller_id, ה-id, וה-token.
האם ניתן לשחרר מספר באופן פרוגרמטי כאשר אין בו עוד צורך?
כן. קריאת השחרור המתועדת משתמשת ב-/customer/did_management/ עם action=release, ה-did_id שנרכש, ה-accountid, ה-id, וה-token. הפניית ה-API שסופקה מאשרת את פעולת השחרור; תזמון החיוב אמור לפעול לפי התנאים המסחריים של החשבון שלכם.
אילו סוגי יעדי העברה נתמכים?
נקודת הקצה להגדרת העברת מספר (DID) תומכת בתנאים always, user_busy, user_not_registered, ו-no_answer. דוגמת ה-API שסופקה משתמשת ב-call_type=2 עם call_type_value המוגדר לכתובת IP של טראנק. יש להשתמש בסוגי יעד אחרים רק עם ערכי ה-call_type הנתמכים המתאימים.
באילו מדינות ניתן להקצות מספרים דרך ה-API?
השתמשו במזהה ה-country_id המספרי האופציונלי המסופק בהפניה לרשימת המדינות, ולאחר מכן העבירו את הערך לרשימת המספרים הזמינים כדי לראות מספרים זמינים כרגע עבור המדינה הנבחרת. הזמינות משתנה לפי מדינה ומלאי המספרים. הפניית ה-API הנוכחית מסמנת את קריאת רשימת המדינות כמושבתת, ומספקת את מזהי המדינות בדוגמה שלה.
התחילו להקצות מספרים עוד היום
צרו חשבון, בצעו אימות דרך קריאת ה-Login, והתחילו לחפש מספרים (DID) זמינים לפי מזהה מדינה.