מפתחים

POST/v3/lnp/project/{uniqueid}/addnumbers

הוספת מספרים לפרויקט ניוד קיים

הוסיפו רשומות מספרים, ולאחר מכן בדקו את התאמת נתוני הפרויקט לפני שליחה חוזרת של בקשה שתוצאתה אינה ודאית.

בעמוד זה
  1. גישה לחשבון ולפרויקט
  2. הכנה להוספת המספרים
  3. בקשת POST
  4. התוצאה המדווחת
  5. בדקו את התאמת הנתונים לפני ניסיון חוזר
  6. שגיאות במנגנון הישן
  7. היקף החיוב והניוד

גישה לחשבון ולפרויקט

השתמשו בחשבון API פעיל דרך HTTPS מכתובת IP מורשית. הפרויקט חייב להשתייך לחשבון זה ואסור שיהיה מחוק. השתמשו במזהה הייחודי של הפרויקט מתוך תהליך הזמנת הניוד, ולא במזהה המספרי שלו במסד הנתונים או במספר טלפון. בעת בניית בקשה, קודדו את מזהה הפרויקט בקידוד כתובות URL.

הכנה להוספת המספרים

פעולה זו משנה פרויקט ניוד קיים. תחילה אשרו את המספרים ואת הרשאת הלקוח במסגרת תהליך הזמנת הניוד שלכם. כתבו כל מספר כרצף הספרות הבינלאומי המלא, הסירו כפילויות בעצמכם ובדקו את רשימת המספרים הקיימת בפרויקט. אין להשתמש בנקודת קצה זו לבדיקת מספרים שרירותיים.

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

בקשת POST

צרו קובץ מקומי בשם numbers.json במבנה הבא. המספרים בדויים; החליפו אותם במספרים שהתקבלה הרשאה להשתמש בהם בפרויקט שנבחר.

{
  "numbers": [
    "12025550123",
    "12025550124"
  ],
  "isocode": "US"
}
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header "Content-Type: application/json" \
  --data-binary @numbers.json \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"
שדות הבקשה להוספת מספרים
שדהמשמעות
numbersערך חובה: מערך לא ריק של מחרוזות מספרים, או מחרוזת שבה כל מספר מופיע בשורה נפרדת. רשומות ריקות מושמטות ורווחים בתחילת הערכים ובסופם מוסרים. טקסט המופרד בפסיקים אינו מפוצל למספרים נפרדים.
isocodeקוד מדינה אופציונלי לרשומות שנוספות. אם הוא מושמט או ריק, נעשה שימוש במיקום הפרויקט. קוד הטיפול מסיר רווחים מתחילת הערך שסופק ומסופו, אך אינו ממיר אותו לאותיות גדולות ואינו בודק את תקינותו. ספקו בעצמכם את קוד המדינה הנכון באותיות גדולות.

בדוגמה זו השתמשו ב־POST עם application/json. גם קלט מטופס שנשלח ב־POST נקרא. המתודה אינה מגדירה מפתח אידמפוטנטיות או התחייבות לגודל אצווה בטוח עבור נקודת קצה זו; בדקו את התאמת הנתונים באצוות שניתן לנהל, במקום להסתמך על מגבלה משוערת.

התוצאה המדווחת

דוגמה בדויה לתשובה.

{
  "status": {
    "code": 200,
    "msg": "Success add numbers"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "count": 2,
    "numbers": [
      {
        "id": 21,
        "number": "12025550123",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      },
      {
        "id": 22,
        "number": "12025550124",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      }
    ]
  }
}

התשובה מסמנת ניסיונות הוספה כ־Pending. היא אינה מאמתת את התוצאה של כל הוספה למסד הנתונים לפני הדיווח עליה. לכן ספירה או מזהה שהוחזרו אינם כשלעצמם הוכחה שכל רשומה נשמרה. הוספה במצב Pending אינה מעידה על קבלה מצד מפעיל התקשורת, על ניוד שנקבע לו מועד או על הפעלה שהושלמה.

בדקו את התאמת הנתונים לפני ניסיון חוזר

  1. קראו את רשימת המספרים של הפרויקט לפני הוספת מספרים ושמרו את פרטי ההוספה המתוכננת ברישומי הבקשות שלכם.
  2. שלחו את בקשת ההוספה פעם אחת.
  3. קראו שוב את רשימת המספרים של הפרויקט והשוו אליה כל מספר שהתכוונתם להוסיף. בדקו כפילויות ואת המצב של כל מספר.
  4. אם הבקשה חורגת מזמן ההמתנה, מחזירה שגיאה או מדווחת על תוצאה שאינה חד־משמעית, קראו שוב את הנתונים לפני ניסיון חוזר. ייתכן שחלק מהמספרים כבר נוספו.
  5. טפלו ברשומות חסרות או כפולות באמצעות תהליך הזמנת הניוד או התמיכה, במקום לשלוח שוב את הבקשה המלאה ללא בדיקה.

קוד הטיפול מוסיף רשומות בזו אחר זו, ללא טרנזקציה או הגנה מפני כפילויות. הפסקה עלולה להשאיר כתיבות קודמות במקומן; גם הוספה שנכשלה והחזירה false עשויה להיכלל בספירה המדווחת. שליחה חוזרת של בקשה עלולה להוסיף רשומות כפולות. קוד הטיפול עצמו אינו רושם אירוע ואינו משלים ניוד אצל מפעיל התקשורת.

שגיאות במנגנון הישן

מתודה שאינה POST מחזירה קוד API 403. פרויקט חסר, מחוק או שאינו בבעלות החשבון מחזיר קוד API 404. גם קלט מספרים ריק מחזיר קוד API 404. חלות דרישות אימות והגבלות על כתובת ה־IP של המקור. קודים אלה של המנגנון הישן אינם מוכיחים שלא בוצעה הוספה קודמת לאחר תחילת העיבוד.

היקף החיוב והניוד

קוד הטיפול שנבדק מוסיף רשומות מספרים לפרויקט ואינו כולל חיוב ישיר של החשבון או הגשה למפעיל התקשורת. אין בכך כדי להפוך את שירות הניוד הכולל לחינמי או לבטל דמי ניוד שסוכמו. השלימו את דרישות ההרשאה, המסמכים והבדיקה של הפרויקט לפני שתצפו לביצוע ניוד.