מידע טכני

שליחת הודעות

שליחת הודעות MT / Mobile Terminated SMS מתבצעת דרך Web Service API הבא: SmsGate2.asmx

שליחה בסיסית ניתן לבצע גם באמצעות ה-API הישן באמצעות HTTP GET ל-URL הבא:

http://sms.cellcom.co.il/scripts/smsgate.asp?username=&password=&target=&source=&message=&validity=&replace=
חובה למלא לפחות את את שם המשתמש, הסיסמה, יעד ההודעה ותוכנה.

קבלת הודעות

ניתן להגדיר שהודעות MO / Mobile Originated SMS הנשלחות ע"י מנויי סלקום למספר מקוצר ינותבו לתיבת דואר או לאפליקציה:

קבלה לתיבת דואר sms2email

הודעת email תשלח לתיבת הדואר המוגדרת מהכתובת 05xxxxxxxx@sms.cellcom.co.il , כאשר 05xxxxxxxx הוא זיהוי המנוי ששלח את הודעת ה-MO.
תוכן ההודעה יהיה הטקסט שנשלח בהודעת ה-MO.

קבלת לשרת Web sms2application

ההודעה תנותב לאפליקציה ע"י פעולת HTTP GET, כאשר פרמטרים לגבי הודעת ה-MO מופיעים ב-QueryString של ה-Url שיופעל.
לדוגמה הודעה שנשלחה ממנוי 0521234567 למספר 1234 עם התוכן "ג את":
http://www.yourhost.com/whatever/yourMoApp.asp?target=1234&source=0521234567&text=%E2+%E0%FA&text_utf8=ג+את&mob_type=GSM&sm_no=2011
הפרמטרים המופיעים בהודעה:

תוכן ההודעה מופיע פעמיים מקודד גם לפי 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