Webhook לסטטוס מסירת סמס (DLR)
ה-Webhook של סטטוס המסירה מאפשר לקבל לשרת שלך, בזמן אמת, את מצב המסירה של הודעות הסמס ששלחת ללקוחות, כדי לדעת האם ההודעה הגיעה למכשיר או נדחתה. בשונה משאר הממשקים, כאן המערכת פונה אליך: עליך לבנות עמוד בשרת שלך, ולעדכן את כתובתו בהגדרות החשבון. ברגע קבלת הסטטוס מחברת הסלולר, המערכת תפנה לעמוד ותעביר את פרטי החיווי.
סקירת ה-Webhook
המערכת מאפשרת לקבל לעמוד בשרת שלך את הסטטוס של הודעות סמס ששלחת ללקוחות. הסטטוס מאפשר לדעת האם ההודעה הגיעה למכשיר הנמען או נדחתה. כדי לקבל את הסטטוס עליך לבנות עמוד בשרת שלך, שאליו תפנה המערכת ברגע קבלת הסטטוס מחברת הסלולר. לאחר בניית העמוד יש לעדכן את כתובתו בהגדרות החשבון במערכת.
הגדרת העמוד שלך
- 1 בנה עמוד בשרת שלך שמקבל את הפרמטרים שהמערכת שולחת (ראו טבלת הפרמטרים למטה) ומעבד אותם.
- 2 היכנס למערכת מיקרופיי, ולחץ על אייקון הפרופיל בפינת המסך כדי להיכנס להגדרות החשבון.
- 3 הזן את כתובת העמוד בשדה "כתובת URL לקבלת חיווים", ובחר את פורמט החיווי: GET (ברירת מחדל) או JSON.
- 4 שמור. מעתה, בכל קבלת סטטוס מסירה, המערכת תפנה לעמוד שהגדרת.
Content-Type: application/json. שתי השיטות מעבירות בדיוק את אותם שדות.
הפרמטרים שהמערכת שולחת
| פרמטר | ערכים | תיאור |
|---|---|---|
type | pushreg / momt | סוג החיווי: pushreg = חיווי על הודעה שנשלחה מקמפיין סמס. momt = חיווי על הודעת תשובה שנשלחה כמענה להודעה נכנסת. |
msgid | מחרוזת | הקוד הייחודי של ההודעה. בהודעה מקמפיין סמס זהו קוד המשימה (taskId) שקיבלת בתגובת בקשת השליחה. בהודעת תשובה להודעה נכנסת זהו הקוד הייחודי של ההודעה כפי שנשלח אליך עם קבלת הבקשה מהלקוח. |
phone | מספר טלפון | מספר הטלפון אליו נשלחה ההודעה, בפורמט מקומי (לדוגמה 0541234567). |
cid | מספר | קוד רשימת התפוצה או השירות (אם קיים). |
status | ok / nd | תוצאת המסירה: ok = הלקוח קיבל את ההודעה. nd = ההודעה נדחתה ולא תגיע ללקוח. |
net | מספר | קוד הרשת הסלולרית של הנמען (נשלח בנוסף, כאשר המידע קיים). |
דוגמת חיווי בפורמט GET
אם, לדוגמה, כתובת העמוד שהגדרת היא https://www.mysite.co.il/smsConfirm.php, המערכת תפנה אליו כך, עם הפרמטרים משורשרים לכתובת:
GET https://www.mysite.co.il/smsConfirm.php?type=pushreg&msgid=348812&status=ok&phone=0541234567&cid=4475&net=1
העמוד שלך קורא את הפרמטרים (כמו בבקשת GET רגילה), מעבד אותם, ומחזיר קוד HTTP 200.
דוגמת חיווי בפורמט JSON
אם בחרת בפורמט JSON, המערכת שולחת בקשת POST לכתובת שהגדרת, עם גוף JSON המכיל את אותם שדות (כל הערכים כמחרוזת):
POST https://www.mysite.co.il/smsConfirm.php
Content-Type: application/json
{"type":"pushreg","msgid":"348812","status":"ok","phone":"0541234567","cid":"4475","net":"1"}json_decode(file_get_contents("php://input"), true), ולא דרך $_POST.
ערכי הסטטוס
| ערך | משמעות |
|---|---|
ok | ההודעה נמסרה: הלקוח קיבל אותה למכשיר. |
nd | ההודעה נדחתה ולא תגיע ללקוח. |
תגובת השרת שלך
העמוד שלך צריך להחזיר קוד HTTP 200 בלבד, אין צורך להחזיר תוכן בגוף התשובה. אם העמוד מחזיר קוד אחר, או שאינו זמין, המערכת תנסה לפנות אליו שוב מספר פעמים.
שאלות נפוצות
מתי המערכת שולחת את חיווי המסירה?
ברגע שחברת הסלולר מחזירה למערכת סטטוס מסירה עבור הודעה ששלחת, המערכת פונה לעמוד שהגדרת ומעבירה את הסטטוס. החיווי נשלח לכל נמען בנפרד.
איך מקשרים בין החיווי להודעה ששלחתי?
לפי הפרמטר msgid. בחיווי על הודעה מקמפיין סמס, ערך זה הוא קוד המשימה (taskId) שקיבלת בתגובת בקשת השליחה, כך שניתן לשייך את החיווי לקמפיין ולנמען.
מה ההבדל בין פורמט GET לפורמט JSON?
בפורמט GET המערכת משרשרת את הפרמטרים לכתובת ה-URL שלך, כמו בבקשת GET. בפורמט JSON המערכת שולחת בקשת POST עם הכותרת Content-Type: application/json וגוף JSON המכיל את אותם שדות. את הפורמט בוחרים בהגדרות החשבון.
מה העמוד שלי צריך להחזיר בתגובה?
די שהעמוד יחזיר קוד HTTP 200. אין צורך להחזיר תוכן. אם מוחזר קוד אחר, המערכת מנסה שוב לפנות לעמוד מספר פעמים.