Webhook לסמס נכנס (טקסט דינמי)
ה-Webhook של סמס נכנס מאפשר לקבל לשרת שלך, בזמן אמת, הודעות סמס ששולחים אליך לקוחות, ולהחזיר להם הודעת תשובה אוטומטית. כך ניתן לבנות שירותים אינטראקטיביים מבוססי סמס: רישום, בירור יתרה, אישור הגעה ועוד. בשונה משאר הממשקים, כאן המערכת פונה אליך: עליך לפתוח שירות סמס מסוג "טקסט דינמי", להגדיר בו את כתובת העמוד בשרת שלך, וברגע שתתקבל הודעה מלקוח, המערכת תפנה לעמוד ותעביר את פרטי ההודעה.
סקירת ה-Webhook
כדי לקבל הודעות סמס נכנסות מלקוחות לשרת שלך, עליך לפתוח במערכת שירות סמס מסוג "טקסט דינמי". בשירות תגדיר כתובת של עמוד אינטרנט בשרת שלך, שאליו תפנה המערכת ברגע שתתקבל הודעת סמס מלקוח. המערכת מעבירה לעמוד את פרטי ההודעה (כולל תוכן ההודעה ומספר השולח), והעמוד שלך יכול להחזיר בתגובה הודעת תשובה שתישלח אוטומטית ללקוח.
הגדרת השירות
- 1 בנה עמוד בשרת שלך שמקבל את הפרמטרים שהמערכת שולחת (ראו טבלת הפרמטרים למטה), ומחזיר תשובה.
- 2 במערכת מיקרופיי, פתח שירות סמס מסוג "טקסט דינמי".
- 3 הגדר בשירות את כתובת העמוד בשרת שלך, ובמידת הצורך מילת קוד ייחודית לשירות.
- 4 בחר את פורמט הפנייה: GET (ברירת מחדל), POST או JSON, ושמור.
application/json). שלוש השיטות מעבירות בדיוק את אותם שדות.
הפרמטרים שהמערכת שולחת
| פרמטר | תיאור |
|---|---|
origsms | תוכן ההודעה המלא והמקורי, כפי ששלח אותו הלקוח (כולל מילת הקוד). |
phone | מספר הטלפון שממנו נשלחה ההודעה. |
cid | קוד השירות שהופעל במערכת. |
dest | מספר הטלפון שאליו שלח המשתמש את ההודעה. |
msgid | קוד ייחודי שמיוצר על ידי המערכת לכל הודעה נכנסת. |
code | מילת הקוד ששלח המשתמש. המערכת לוקחת את הטקסט מתחילת ההודעה עד התו הראשון שאינו אות או מספר, ומגדירה אותו כמילת הקוד. כך ניתן להפעיל מספר שירותים שונים על אותו מספר טלפון. |
sms | תוכן ההודעה שמופיע אחרי מילת הקוד. לדוגמה, אם הלקוח שלח "שלום אני רוצה לקבל את השירות", מילת הקוד תהיה "שלום" ותוכן ה-sms יהיה "אני רוצה לקבל את השירות". |
net | קוד המסמל את הרשת הסלולרית של השולח (ראו טבלת קודי הרשתות למטה). |
קודי הרשתות הסלולריות
| 97250 | פלאפון |
|---|---|
| 97252 | סלקום |
| 97254 | פרטנר |
| 97253 | הוט מובייל |
| 97258 | גולן טלקום |
| 97255 | כל המפעילים הווירטואליים |
דוגמת פנייה בפורמט GET
אם, לדוגמה, העמוד שהגדרת בשירות הוא https://www.mysite.com/getSms.php, המערכת תפנה אליו כך, עם הפרמטרים משורשרים לכתובת:
GET https://www.mysite.com/getSms.php?get=1&origsms=This+is+a+test+message&phone=0501234567&cid=12762&dest=034567890&msgid=00705d38b642d5423&code=This&sms=is+a+test+message&net=97250
דוגמת פנייה בפורמט POST
בפורמט POST המערכת שולחת את אותם שדות בגוף בקשת POST רגילה (application/x-www-form-urlencoded), בתוספת post=2:
POST https://www.mysite.com/getSms.php Content-Type: application/x-www-form-urlencoded post=2&origsms=This+is+a+test+message&phone=0501234567&cid=12762&dest=034567890&msgid=00705d38b642d5423&code=This&sms=is+a+test+message&net=97250
דוגמת פנייה בפורמט JSON
בפורמט JSON המערכת שולחת בקשת POST עם גוף JSON המכיל את אותם שדות:
POST https://www.mysite.com/getSms.php
Content-Type: application/json
{"code":"This","cid":"12762","dest":"034567890","msgid":"00705d38b642d5423","sms":"is a test message","phone":"0501234567","origsms":"This is a test message","net":"97250"}התשובה שהעמוד שלך צריך להחזיר
המערכת מצפה לקבל תשובה חוזרת מהעמוד שלך. אם לא מתקבלת תשובה תקינה, המערכת מסמנת זאת כשגיאה בדוחות, ושולחת מייל התראה לכתובת ההתראות הטכניות המוגדרת בחשבון שלך.
HTTP 200. כל קוד אחר ייחשב כשגיאה, והמערכת תחזיר הודעת שגיאה קבועה ללקוח.
פורמט GET ו-POST: פלט טקסט בלבד
החזרת התשובה מתבצעת על ידי הוצאת פלט מהעמוד (print, echo, response.write או כל פקודה אחרת), כאשר חשוב לא להוציא שום פלט נוסף כגון תגיות HTML, רווחים או טקסט אחר.
- 1 ללא תשובה ללקוח: החזר את המילה
OKבאותיות גדולות (ללא תגיות, רווחים או טקסט נוסף), או עמוד ריק. - 2 עם תשובה ללקוח: החזר את תוכן ההודעה בלבד. התוכן יכול להיות כל טקסט שתבחר, עד 1000 תווים, והוא יישלח כהודעת סמס חוזרת ללקוח.
פורמט JSON: אובייקט תשובה
בפורמט JSON, העמוד מחזיר אובייקט JSON עם השדה reply המכיל את תוכן ההודעה ללקוח:
// תשובה ללקוח {"reply":"תודה, הבקשה שלך התקבלה"} // ללא תשובה ללקוח (reply ריק או חסר) {"reply":""}
שאלות נפוצות
איך מקבלים הודעות סמס נכנסות לשרת?
פותחים במערכת שירות סמס מסוג טקסט דינמי, ומגדירים בו את כתובת העמוד בשרת שלך. ברגע שמתקבלת הודעת סמס מלקוח, המערכת פונה לעמוד שהגדרת ומעבירה את פרטי ההודעה כפרמטרים.
מה ההבדל בין הפרמטר code לפרמטר sms?
code הוא מילת הקוד שבתחילת ההודעה: המערכת לוקחת את הטקסט מתחילת ההודעה עד התו הראשון שאינו אות או מספר. sms הוא תוכן ההודעה שמופיע אחרי מילת הקוד. לדוגמה בהודעה "שלום אני רוצה לקבל את השירות", code הוא "שלום" ו-sms הוא "אני רוצה לקבל את השירות".
איך מחזירים הודעת תשובה אוטומטית ללקוח?
העמוד שלך מחזיר את תוכן התשובה כפלט בלבד, ללא תגיות או טקסט נוסף, והמערכת תשלח אותו כהודעת סמס חוזרת ללקוח. התשובה יכולה להכיל עד 1000 תווים. אם אין צורך בתשובה, מחזירים את המילה OK באותיות גדולות או עמוד ריק. בפורמט JSON מחזירים אובייקט עם השדה reply.
מה קורה אם העמוד שלי לא מחזיר תשובה תקינה?
אם לא מתקבלת תשובה תקינה, או אם העמוד אינו מחזיר קוד HTTP 200, המערכת מסמנת זאת כשגיאה בדוחות ושולחת מייל התראה לכתובת ההתראות הטכניות המוגדרת בחשבון. אך אם התשובה ארוכה מ-1000 תווים, היא לא תישלח כלל, הלקוח לא יקבל הודעה, והאירוע יירשם כשגיאה בדוחות.