Webhook לרשימת החסומים
ה-Webhook של רשימת החסומים מאפשר לקבל לשרת שלך, בזמן אמת, כל שינוי ברשימת החסומים של החשבון: חסימה חדשה, שינוי בערוצי החסימה או הסרת חסימה, בחשבון הראשי ובכל תתי המנהלים. כך אפשר לשמור את רשימת החסומים במערכות שלך (CRM, מערכת דיוור, אתר) מעודכנת תמיד, גם כשלקוח מבקש הסרה בסמס, בקישור או בטלפון. כאן המערכת פונה אליך: עליך לבנות עמוד בשרת שלך ולעדכן את כתובתו בהגדרות החשבון.
סקירת ה-Webhook
עדכון נשלח על כל אחד מהשינויים הבאים, בכל ערוץ חסימה (סמס יוצא, סמס נכנס, שיחה נכנסת, הודעה קולית ווואטסאפ):
- חסימה חדשה של מספר שלא היה ברשימה (
event=new). - שינוי בערוצי החסימה של מספר שכבר ברשימה, למשל חסימה נוספת לוואטסאפ (
event=update). - הסרת חסימה, שנשלחת כ-
event=updateכשכל הערוצים0.
השינויים נשלחים מכל הדרכים שבהן רשימת החסומים מתעדכנת, והשדה source מציין את המקור:
| ערך source | מקור השינוי |
|---|---|
manual | הוספה, עדכון או הסרה ידניים במערכת, כולל העלאת קובץ או רשימה, בתפריט "ניהול חסומים גלובלית". |
sms | מילת הסרה בסמס נכנס. |
link | קישור ההסרה בהודעה. |
ivr | שירות חסימה בטלפוניה. |
automation | שלב חסימה באוטומציה. |
הגדרת העמוד שלך
- 1 בנה עמוד בשרת שלך שמקבל את הפרמטרים שהמערכת שולחת (ראו טבלת הפרמטרים למטה) ומעבד אותם.
- 2 היכנס למערכת מיקרופיי, לחץ על אייקון הפרופיל בפינת המסך, ובתפריט שנפתח בחר "הגדרות חשבון".
- 3 באזור "הגדרות טכניות" לחץ על "עדכן", הזן את כתובת העמוד בשדה "כתובת URL לקבלת עדכונים על רשימת החסומים", ובחר את הפורמט: GET (ברירת מחדל) או JSON.
- 4 שמור. מעתה כל שינוי ברשימת החסומים יישלח לעמוד שהגדרת. כדי להפסיק, מחק את הכתובת ושמור.
suid מציין למי שייכת הרשומה: 0 לחשבון הראשי, אחרת קוד תת המנהל (אותו קוד כמו בפרמטר suid של ממשק ניהול תתי המנהלים). תת מנהל חדש נכלל אוטומטית.
כתובת ציבורית: הכתובת חייבת להיות כתובת אינטרנט ציבורית שהשרתים שלנו יכולים לפנות אליה. כתובת שמפנה לרשת פנימית לא תתקבל.
מה אפשר לכלול בכתובת: כתובת ב-http או ב-https (מומלץ https), עם פורט או בלי, ואפשר להוסיף פרמטרים משלך אחרי
?, למשל מפתח זיהוי: https://www.mysite.co.il/blocklist.php?key=abc123. הפרמטרים שלנו יתווספו אחריהם עם &. בכתובת אסור לכלול רווחים, אותיות בעברית (אפשר בקידוד, למשל %D7%90), גרשיים או את התו #. אורך הכתובת עד 100 תווים, והיא חייבת להיות כתובת ציבורית ברשת.
Content-Type: application/json. שתי השיטות מעבירות בדיוק את אותם שדות.
שיטת ה-HTTP בפורמט GET: כאשר כתובת העמוד היא https, הפנייה מתבצעת כבקשת
HEAD (הפרמטרים בכתובת ה-URL, ללא הורדת גוף התשובה). כאשר הכתובת היא http רגיל, הפנייה מתבצעת כבקשת GET. לכן ודא שהעמוד שלך קורא את הפרמטרים משורת הכתובת (למשל $_GET ב-PHP, שמאוכלס גם בבקשת HEAD), ואינו מתנה את פעולתו בכך ש-REQUEST_METHOD הוא דווקא GET.
הפרמטרים שהמערכת שולחת
| פרמטר | ערכים | תיאור |
|---|---|---|
type | מחרוזת | סוג העדכון. תמיד blocklist. |
phone | מספר טלפון | המספר שהשתנה. מספר ישראלי בפורמט מקומי (לדוגמה 0541234567), ומספר מחו"ל בפורמט בינלאומי מלא עם קידומת המדינה (לדוגמה 447911123456). |
suid | מספר | למי שייכת הרשומה: 0 לרשימה של החשבון הראשי, אחרת קוד תת המנהל. |
event | מחרוזת | new: המספר נוסף לרשימה. update: ערוצי החסימה של מספר קיים השתנו, כולל הסרת חסימה. |
source | מחרוזת | מקור השינוי: manual, sms, link, ivr או automation. ראו את הטבלה למעלה. |
smsout | 0 / 1 | חסימה לסמס יוצא (שליחת סמס למספר). |
smsin | 0 / 1 | חסימה לסמס נכנס מהמספר. |
callin | 0 / 1 | חסימה לשיחה נכנסת מהמספר. |
vms | 0 / 1 | חסימה להודעה קולית למספר. |
wa | 0 / 1 | חסימה להודעות וואטסאפ למספר. |
note | טקסט | ההערה שנשמרה עם הרשומה, כפי שהיא מופיעה בעמודה "מידע נוסף" בדוח החסומים במערכת, עד 50 תווים. כשאין הערה: 0. |
date | תאריך ושעה | מועד השינוי, לפי שעון ישראל, בפורמט YYYY-MM-DD HH:MM:SS. |
smsout, smsin, callin, vms, wa) מכילים תמיד את המצב אחרי השינוי, 1 חסום ו-0 פתוח. אין צורך לחשב הבדלים: די לשמור את הערכים שהתקבלו עבור המספר.
דוגמת עדכון בפורמט GET
אם, לדוגמה, כתובת העמוד שהגדרת היא https://www.mysite.co.il/blocklist.php, ולקוח שלח סמס עם מילת ההסרה, המערכת תפנה לעמוד עם הפרמטרים משורשרים לכתובת. מכיוון שהכתובת היא https, הפנייה מתבצעת כבקשת HEAD:
HEAD https://www.mysite.co.il/blocklist.php?type=blocklist&phone=0541234567&suid=0&event=new&source=sms&smsout=1&smsin=0&callin=0&vms=0&wa=0¬e=%5BSMS%5D+%D7%94%D7%A1%D7%A8&date=2026-10-18+14%3A02%3A11
דוגמה להסרת חסימה ידנית ברשימה של תת מנהל שהקוד שלו 10025:
HEAD https://www.mysite.co.il/blocklist.php?type=blocklist&phone=0527654321&suid=10025&event=update&source=manual&smsout=0&smsin=0&callin=0&vms=0&wa=0¬e=0&date=2026-10-18+14%3A05%3A40
אם כתובת העמוד היא http רגיל (ללא TLS), אותה פנייה מתבצעת כבקשת GET במקום HEAD, עם אותם פרמטרים בדיוק. בשני המקרים העמוד שלך קורא את הפרמטרים משורת הכתובת, מעבד אותם, ומחזיר קוד HTTP 200.
דוגמת עדכון בפורמט JSON
אם בחרת בפורמט JSON, המערכת שולחת בקשת POST לכתובת שהגדרת, עם גוף JSON המכיל את אותם שדות (כל הערכים כמחרוזת):
POST https://www.mysite.co.il/blocklist.php
Content-Type: application/json
{"type":"blocklist","phone":"0541234567","suid":"0","event":"new","source":"sms","smsout":"1","smsin":"0","callin":"0","vms":"0","wa":"0","note":"[SMS] הסר","date":"2026-10-18 14:02:11"}json_decode(file_get_contents("php://input"), true), ולא דרך $_POST.
תגובת השרת שלך
העמוד שלך צריך להחזיר קוד HTTP 200 בלבד, אין צורך להחזיר תוכן בגוף התשובה.
בכתובת https או בפורמט JSON, אם העמוד מחזיר קוד אחר, או שאינו זמין, המערכת תנסה לפנות אליו שוב עד 3 פעמים נוספות, בהפרש של 5 דקות.
בכתובת http רגיל בפורמט GET, המערכת שולחת את העדכון בלי להמתין לתשובה, ולכן ניסיון חוזר מתבצע רק כאשר אין אפשרות להתחבר לשרת שלך.
- כמות: כל מספר נשלח בפנייה נפרדת. העלאה של עשרות אלפי מספרים יוצרת עשרות אלפי פניות לעמוד שלך. מומלץ שהעמוד יענה מהר, בפחות משנייה, ויבצע את העיבוד ברקע.
- סדר: עדכון שנכשל בפנייה לעמוד שלך נשלח שוב מאוחר יותר, ולכן העדכונים לא תמיד מגיעים לפי הסדר. לכל מספר, החילו את העדכון עם ה-
dateהמאוחר ביותר. - כפילויות: במקרים נדירים אותו עדכון יכול להגיע פעמיים. קבלה חוזרת של אותם ערכים לא אמורה לשנות דבר אצלכם.
- סנכרון מלא: עדכון שלא הצליח להגיע אחרי כל הניסיונות החוזרים לא יישלח שוב. אפשר תמיד לייצא את רשימת החסומים המלאה מהמערכת, בתפריט "ניהול חסומים", ולסנכרן מחדש.
שאלות נפוצות
על אילו שינויים ברשימת החסומים נשלח עדכון?
על כל חסימה חדשה, על כל שינוי בערוצי החסימה של מספר קיים, ועל הסרת חסימה, בכל הדרכים: הוספה ועדכון ידניים במערכת, העלאת קובץ, מילת הסרה בסמס נכנס, קישור הסרה, שירות חסימה בטלפוניה ואוטומציה. שינוי של ההערה בלבד, או עדכון עם אותם ערכים בדיוק, אינו נשלח.
האם מתקבלים גם שינויים של תתי המנהלים?
כן. הכתובת מוגדרת בחשבון הראשי בלבד ומקבלת את כל השינויים בחשבון: ברשימה של החשבון הראשי וברשימות של כל תתי המנהלים. השדה suid מציין למי שייכת הרשומה: 0 לחשבון הראשי, אחרת קוד תת המנהל. תת מנהל חדש נכלל אוטומטית.
איך מזהים הסרת חסימה?
הסרת חסימה נשלחת כ-event=update, כשכל ערוצי החסימה (smsout, smsin, callin, vms, wa) הם 0. בכל עדכון נשלח המצב המלא של כל הערוצים אחרי השינוי, כך שאין צורך לחשב הבדלים.
מה קורה בהעלאה של הרבה מספרים?
כל מספר שנחסם או השתנה נשלח בפנייה נפרדת. העלאה של עשרות אלפי מספרים יוצרת עשרות אלפי פניות לעמוד שלך, ולכן העמוד צריך לענות מהר ולבצע את העיבוד ברקע.
מה העמוד שלי צריך להחזיר בתגובה?
די שהעמוד יחזיר קוד HTTP 200, מהר ככל האפשר. אין צורך להחזיר תוכן. בכתובת https או בפורמט JSON, אם מוחזר קוד אחר או שהעמוד אינו זמין, המערכת מנסה שוב עד 3 פעמים נוספות, בהפרש של 5 דקות. בכתובת http בפורמט GET העדכון נשלח בלי המתנה לתשובה, ולכן ניסיון חוזר מתבצע רק כשאין אפשרות להתחבר לשרת.