מידע טכני
שליחת הודעות
שליחת הודעות MT / Mobile Terminated SMS מתבצעת דרך Web Service API הבא: SmsGate2.asmx
שליחה בסיסית ניתן לבצע גם באמצעות ה-API הישן באמצעות HTTP GET ל-URL הבא:
קבלת הודעות
ניתן להגדיר שהודעות MO / Mobile Originated SMS הנשלחות ע"י מנויי סלקום למספר מקוצר ינותבו לתיבת דואר או לאפליקציה:
קבלה לתיבת דואר sms2email
הודעת email תשלח לתיבת הדואר המוגדרת מהכתובת 05xxxxxxxx@sms.cellcom.co.il , כאשר 05xxxxxxxx הוא זיהוי המנוי ששלח את הודעת ה-MO.תוכן ההודעה יהיה הטקסט שנשלח בהודעת ה-MO.
קבלת לשרת Web sms2application
ההודעה תנותב לאפליקציה ע"י פעולת HTTP GET, כאשר פרמטרים לגבי הודעת ה-MO מופיעים ב-QueryString של ה-Url שיופעל.לדוגמה הודעה שנשלחה ממנוי 0521234567 למספר 1234 עם התוכן "ג את":
- target : המספר אליו נשלחה ההודעה
- source : זיהוי המנוי (10 ספרות) ששלח את ההודעה.
- text : תוכן ההודעה מקודד Url encoded לפי ASCII CP1255/ISO-8859-8 (Hebrew).
- text_utf8 : תוכן ההודעה מקודד Url encoded לפי Unicode UTF-8 encoding.
-
mob_type : רשת המנוי ששלח את ההודעה.
ערכים אפשריים: GSM או ANSI136Tdma. - sm_no : מספר ההודעה (sequence) שהתקבלה מה-SMSC.
תוכן ההודעה מופיע פעמיים מקודד גם לפי ASCII וגם לפי Unicode, וזאת כדי לתמוך גם בטכנולוגיות ישנות שמסוגלות לקבל את הבקשה רק עם Request Encoding בפורמט ASCII, וגם בטכנולוגיות עדכניות שכברירת מחדל מצפות לקבל את הבקשה ב- UTF-8 Request Encoding.
אם האפליקציה מחזירה תשובה תקינה (HTTP Status 200) אז תוכן התשובה (Response) תשלח בחזרה למנוי ששלח את הודעת ה-MO. אם האפליקציה לא רוצה להחזיר תשובה אז צריך להקפיד שה-Response יהיה ריק.
דוגמת קוד לאפליקציית MO בסיסית הכתובה בטכנולוגיית ASP המקבלת את ההודעה ומחזירה את ההודעה שהתקבלה בחזרה למנוי:
target = Request("target") source = Request("source") text_ascii = Request("text") text_utf8 = Request("text_utf8") mob_type = Request("mob_type") sm_no = Request("sm_no") message = "Message " & sm_no & " From " & source & " : " & text_ascii Response.Write message
אישורי קבלה DLR / Delivery Receipt
בזמן שליחת הודעה ניתן לבקש אישור על קבלת ההודעה ע"י המנוי.בעת שליחת ההודעה השולח מקבל מהמערכת מספר הודעה. מספר זה מציין שההודעה התקבלה במערכת ה-SMSC ותשלח למנוי בהקדם האפשרי.
לאחר שה-SMSC שלח את ההודעה למנוי בהצלחה יקבל השולח הודעת חיווי שההודעה נשלחה בהצלחה.
אם שליחת ההודעה נכשלה מסיבה כלשהיא ה-SMSC מנסה שנית מספר פעמים. אם ה-SMSC מזהה שאין אפשרות לשלוח את ההודעה בעתיד או שתוקף ההודעה פג אז השולח יקבל הודעת חיווי ששליחת ההודעה נכשלה.
אופן העברת הודעות החיווי לשולח מתבצע בדומה לקבלת הודעת MO: דרך HTTP או דרך email.
לפני שליחת ההודעות השולח צריך להגדיר יעד לקבלת החיווים באמצעות הפעולה SetRoutingUri .
ניתן להגדיר url מסוג http או https או תיבת דואר (לדוגמא mailto:mailbox@server.com).
בקשה לקבלת חיווי מתבצע ע"י סימון true בפרמטר deliveryReceipt בזמן שליחת הודעה באמצעות הטופס בדף הבית או בשליחת הודעה באמצעות הפעולה SendSmsEx .
האפשרות לקבלת הודעות חיווי אינה אפשרית לכל משתמש ויש צורך בהגדרת האפשרות במערכת.
אישור הקבלה מכיל את הפרמטרים הבאים ב- query string הודעת HTTP GET:
- target
- שדה source של ההודעה - הזיהוי איתו נשלחה ההודעה (לא תמיד מדוייק)
- source
- שדה target של ההודעה - המנוי אליו נשלחה ההודעה
- text
- תוכן הודעה ה-DLR לפי תקן SMPP
- submitDate
- הזמן בו נשלחה ההודעה
- doneDate
- הזמן בו התקבלה ההודעה אצל המנוי או פג התוקף שלה
- receiptedMessageId
- מספר ההודעה שהתקבל בתשובה לשליחתה. משמש לקישור בין ההודעה לאישור הקבלה
- messageState
- הסטטוס הסופי של ההודעה (Expired, Deleted, Undeliverable)
- deliveryFailureReason
- קוד שגיאה במקרה של כשלון בשליחה
- operatorPrefix
- קידומת המפעיל אליו שייך המנוי
הודעות שגיאה
Status Code | Description | Remarks |
0 | Ok | SMPP 3.4 Ok |
1 | Message too long | SMPP 3.4 InvMsgLen |
2 | Command length is invalid | SMPP 3.4 InvcmdLen |
3 | Command id is invalid or not supported | SMPP 3.4 InvCmdId |
4 | Incorrect bind status for given command | SMPP 3.4 InvBndSts |
5 | Already bound | SMPP 3.4 AlyBnd |
6 | Invalid priority flag | SMPP 3.4 InvPrtFlg |
7 | Invalid registered delivery flag | SMPP 3.4 InvRegDlvFlg |
8 | System error | SMPP 3.4 SysErr |
10 | Invalid source address | SMPP 3.4 InvSrcAdr |
11 | Invalid destination address | SMPP 3.4 InvDstAdr |
12 | Message id is invalid | SMPP 3.4 InvMsgId |
13 | Bind failed | SMPP 3.4 BindFail |
14 | Invalid password | SMPP 3.4 InvPaswd |
15 | Invalid system id | SMPP 3.4 InvSysId |
17 | Cancelling message failed | SMPP 3.4 CancelFail |
19 | Message replacement failed | SMPP 3.4 ReplaceFail |
20 | Message queue full | SMPP 3.4 MsgQFul |
21 | Invalid service type | SMPP 3.4 InvSerTyp |
51 | Invalid number of destinations | SMPP 3.4 InvNumDests |
52 | Invalid distribution list name | SMPP 3.4 InvDlName |
64 | Invalid destination flag | SMPP 3.4 InvDestFlag |
66 | Invalid submit with replace request | SMPP 3.4 InvSubRep |
67 | Invalid esm class set | SMPP 3.4 InvEsmClass |
68 | Invalid submit to distribution list | SMPP 3.4 CntSubDl |
69 | Submitting message has failed | SMPP 3.4 SubmitFail |
72 | Invalid source address type of number | SMPP 3.4 InvSrcTon |
73 | Invalid source address numbering plan | SMPP 3.4 InvSrcNpi |
80 | Invalid destination address type of number | SMPP 3.4 InvDstTon |
81 | Invalid destination address numbering plan | SMPP 3.4 InvDstNpi |
83 | Invalid system type | SMPP 3.4 InvSysTyp |
84 | Invalid replace if present flag | SMPP 3.4 InvRepFlag |
85 | Invalid number of messages | SMPP 3.4 InvNumMsgs |
88 | Throttling error | SMPP 3.4 Throttled |
97 | Invalid scheduled delivery time | SMPP 3.4 InvSched |
98 | Invalid validity period value | SMPP 3.4 InvExpiry |
99 | Predefined message not found | SMPP 3.4 InvDftMsgId |
100 | Esme receiver temporary error | SMPP 3.4 X_t_appn |
101 | Esme receiver permanent error | SMPP 3.4 X_p_appn |
102 | Esme receiver reject message error | SMPP 3.4 X_r_appn |
103 | Message query request failed | SMPP 3.4 QueryFail |
130 | Bad username or password or ip address not allowed | |
192 | Invalid optional parameter stream | SMPP 3.4 InvOptParStream |
193 | Optional parameter not allowed | SMPP 3.4 OptParNotAllwd |
194 | Invalid parameter length | SMPP 3.4 InvParLen |
195 | Missing optional parameter | SMPP 3.4 MissingOptParam |
196 | Invalid optional parameter value | SMPP 3.4 InvOptParamVal |
240 | Missing parameters | |
241 | Target number is not cellcom subscriber | |
242 | Bad target number | |
243 | Not authorized for requested service | |
244 | Target locked or low prepaid balance | |
245 | Binary marketing message is not supported | |
246 | Target blocked for service | |
247 | Target blocked for marketing | |
248 | Marketing message with missing or illegal sender name or phone | |
249 | Marketing message truncated by max segments | |
250 | Replace or immediate not supported in concatenated message | |
251 | Binary message too long | |
254 | Delivery failure | SMPP 3.4 DeliveryFailure |
255 | Unknown error | SMPP 3.4 UnknownErr |
256 | Smpp response timeout | |
257 | Smpp generic nack | |
260 | Invalid account properties | |
261 | Invalid account connection smpp client id | |
262 | Invalid provider content type parameters | |
264 | Invalid provider price plan parameters | |
265 | Alphanumeric target not allowed | |
266 | Source address not allowed |