API לחסימת מספרי טלפון
ממשק חסימת המספרים של מיקרופיי מאפשר לחסום מספרי טלפון ברשימת החסומים של החשבון, לפתוח חסימה ולבדוק את מצב החסימה, לפי ערוץ: סמס יוצא, סמס נכנס, הודעה קולית, שיחה נכנסת ווואטסאפ. מספר חסום לא יקבל הודעות בערוץ שנחסם, מכל מקום במערכת. הפנייה מתבצעת ב-HTTPS, בשיטת HTTP GET/POST או JSON, ומאומתת באמצעות טוקן עם הרשאת חסימות.
סקירת הממשק
הפעולה נבחרת בפרמטר act: add לחסימה או לפתיחה של ערוצים, ו-check לבדיקת מצב החסימה.
בכל פנייה ניתן לשלוח עד 100 מספרים. זו אותה רשימת חסומים שמנוהלת במערכת בתפריט "ניהול חסומים".
כתובת הממשק ושיטת השליחה
https://www.micropay.co.il/extApi/blockList.php
יש לשלוח את כל שמות הפרמטרים באותיות קטנות. ניתן להעביר את הפרמטרים בשיטת GET או POST, או בגוף הבקשה בפורמט JSON.
אימות, טוקן ותתי מנהלים
כל קריאה דורשת פרמטר token, טוקן שיצרת במערכת עם הרשאת חסימות. טוקנים קיימים לא מקבלים את ההרשאה הזו אוטומטית: יש לסמן אותה בעריכת הטוקן.
| סוג הטוקן | על מי חלה החסימה | הערות |
|---|---|---|
| טוקן של החשבון הראשי | כל החשבון | אפשר לשלוח suid כדי שהחסימה תחול על תת מנהל מסוים בלבד. |
| טוקן של תת מנהל | תת המנהל בלבד | אין לשלוח suid. נדרש שניהול החסימות יהיה פתוח לתת המנהל במערכת. |
פרמטרים
| פרמטר | חובה | תיאור |
|---|---|---|
token | חובה | טוקן הזדהות עם הרשאת חסימות. |
act | חובה |
הפעולה:
• add: חסימה או פתיחה של ערוצים למספרים ברשימה.
• check: בדיקת מצב החסימה של המספרים.
|
list | חובה | מספרי טלפון מופרדים בפסיק, עד 100 בפנייה. מספרים בינלאומיים מתקבלים רק אם החשבון מורשה לשלוח לחו"ל. |
smsout | ב-add | סמס יוצא: 1 חסימה, 0 פתיחה. |
smsin | ב-add | סמס נכנס (הודעות מהמספר אל המערכת): 1 חסימה, 0 פתיחה. |
vms | ב-add | הודעה קולית: 1 חסימה, 0 פתיחה. |
callin | ב-add | שיחה נכנסת למספרי השירות: 1 חסימה, 0 פתיחה. |
wa | ב-add | וואטסאפ: 1 חסימה, 0 פתיחה. |
note | רשות | מידע קצר על החסימה, עד 50 תווים. אם לא נשלח: בחסימה קיימת נשמר המידע הקודם, ובחסימה חדשה נכתב "חסימה דרך API". |
suid | רשות | בטוקן של החשבון הראשי בלבד: קוד המנהל (תת מנהל) שהחסימה תחול עליו. 0 או בלי הפרמטר: החשבון הראשי. |
get / post | חובה | get=1 בשליחת GET, או post=2 בשליחת POST. (בפורמט JSON אין צורך.) |
add יש לשלוח לפחות ערוץ אחד. ערוץ שלא נשלח נשאר במצבו הנוכחי, כך שאפשר לחסום וואטסאפ בלבד בלי לגעת בסמס.
0) היא באחריות החשבון, לפי חוק התקשורת. מומלץ לפתוח רק מספרים שנחסמו בטעות או שנתנו הסכמה מחדש.
דוגמאות קוד
חסימת סמס יוצא ווואטסאפ (add)
curl "https://www.micropay.co.il/extApi/blockList.php?get=1&token=XXXXX&act=add&list=0501234567,0527654321&smsout=1&wa=1¬e=removed+from+site"curl -X POST https://www.micropay.co.il/extApi/blockList.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","act":"add","list":"0501234567,0527654321","smsout":1,"wa":1,"note":"הסרה מהאתר"}'
פתיחת וואטסאפ בלבד
curl -X POST https://www.micropay.co.il/extApi/blockList.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","act":"add","list":"0501234567","wa":0}'
חסימה לתת מנהל (טוקן של החשבון הראשי)
curl -X POST https://www.micropay.co.il/extApi/blockList.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","act":"add","list":"0501234567","smsout":1,"suid":"10025"}'
בדיקה (check)
curl "https://www.micropay.co.il/extApi/blockList.php?get=1&token=XXXXX&act=check&list=0501234567,0541111111"תשובת השרת
תשובה לחסימה ופתיחה (add)
השורה הראשונה היא OK, ואחריה שורה לכל קבוצת תוצאה, עם המספרים בפורמט בינלאומי מופרדים בפסיק:
OK NEW 972501234567,972527654321 INVALID 123
{"status":1,"action":"add","message":"OK","data":{"results":[{"phone":"972501234567","result":"NEW"},{"phone":"972527654321","result":"NEW"}],"invalid":["123"],"subUserId":0,"remoteIP":"203.0.113.10"}}| ערך | משמעות |
|---|---|
NEW | המספר נוסף לרשימת החסומים עם הערוצים שנבחרו. |
UPDATE | מצב החסימה של ערוץ אחד או יותר השתנה. |
DATA | רק המידע הקצר (note) השתנה. |
EXIST | המספר כבר היה במצב המבוקש, לא בוצע שינוי. |
NOT_FOUND | בקשה לפתיחה בלבד (בלי ערוץ 1) למספר שאינו ברשימת החסומים. לא בוצע שינוי. |
INVALID | המספר אינו מספר טלפון תקין (או מספר בינלאומי בחשבון שאינו מורשה לחו"ל). |
ERROR | תקלה בעדכון המספר. ניתן לנסות שוב. |
תשובה לבדיקה (check)
לכל מספר: מצב כל ערוץ (1 חסום, 0 פתוח), והרמה שבה הוא חסום: account (כל החשבון), subuser (תת המנהל), account,subuser (שתיהן), או none (לא חסום).
OK 972501234567 smsout=1 smsin=0 vms=0 callin=0 wa=1 level=account 972541111111 smsout=0 smsin=0 vms=0 callin=0 wa=0 level=none
{"status":1,"action":"check","message":"OK","data":{"results":[{"phone":"972501234567","smsout":1,"smsin":0,"vms":0,"callin":0,"wa":1,"level":"account"},{"phone":"972541111111","smsout":0,"smsin":0,"vms":0,"callin":0,"wa":0,"level":"none"}],"invalid":[],"remoteIP":"203.0.113.10"}}הבדיקה מציגה את החסימות שהחשבון מנהל: של החשבון, ובטוקן של תת מנהל (או עם suid) גם של תת המנהל.
שגיאות
ERROR --> Description: please send at least one channel: smsout, smsin, vms, callin or wa (1 = block, 0 = unblock)
ב-JSON: status הוא 0, message הוא ERROR, והתיאור נמצא ב-data.description. שגיאות נפוצות: טוקן בלי הרשאת חסימות, יותר מ-100 מספרים, note ארוך מ-50 תווים, suid שאינו שייך לחשבון או שאינו פעיל, תת מנהל שאינו פעיל, ותת מנהל שניהול החסימות סגור לו.
עדכון ל-webhook רשימת החסומים
כל חסימה או פתיחה שמשנה ערוץ (NEW או UPDATE) נשלחת גם ל-webhook רשימת החסומים, אם הוגדר בחשבון, עם source=api.
אם המערכת שלכם גם שולחת לממשק וגם מקבלת את ה-webhook, אפשר לזהות לפי source=api שינויים שהיא עצמה ביצעה.
שאלות נפוצות
מה ההבדל בין חסימה ברשימת החסומים לחסימה ברשימת תפוצה?
חסימה ברשימת החסומים חלה על כל החשבון (או על תת מנהל), בכל הערוצים שנבחרו, ומונעת שליחה למספר מכל מקום במערכת. חסימה ברשימת תפוצה מוציאה את המספר מאותה רשימה בלבד.
לכמה מספרים אפשר לפעול בפנייה אחת?
עד 100 מספרים מופרדים בפסיק בפרמטר list.
האם תת מנהל יכול לחסום מספרים?
כן, בטוקן של תת מנהל עם הרשאת חסימות, כאשר ניהול החסימות פתוח לו במערכת. החסימה חלה עליו בלבד.
האם חסימה דרך ה-API שולחת עדכון ל-webhook רשימת החסומים?
כן. כל חסימה או פתיחה שמשנה ערוץ נשלחת ל-webhook רשימת החסומים, אם הוגדר, עם source=api.