Bir veya birden fazla alıcıya kısa mesaj göndermek için kullanılır. Aynı zamanda çoklu veya dağıtık SMS göndermek de mümkündür.
- Yazılım Uzmanları
- 13 Mayıs 2018
- 2538 kez görüntülendi.
SMS Gönderme (sendSMS)
Bir veya birden fazla alıcıya kısa mesaj göndermek için kullanılır. Aynı zamanda çoklu veya dağıtık SMS göndermek de mümkündür. Çoklu SMS göndermek için, TO_RECEIVERS (alıcılar) ve MESSAGE_BODY (mesaj içeriği) uzunluğu aynı olan diziler içermelidir. Dağıtık SMS göndermek için ise MESSAGE_BODY (mesaj içeriği) içerisinde tek bir mesaj olmalıdır. TO_RECEIVERS (alıcılar) çerisindeki dizide yer alan MSISDN listesi teorikte sınırsız olsa da en uygun TO_RECEIVERS (alıcılar) sayının şebeke bağlantılarına ve sunucu-istemci performansına bağlı olduğu göz önüne alınarak uygun şekilde ayarlanmalıdır. Cevap alma süresindeki gecikmeler in TO_RECEIVERS (alıcılar) listesinin uzunluğuyla da ilgili olabileceği dikkate alınmalıdır.
Servis | Test Sistemi URL'i |
---|---|
Kimlik Doğrulama | http://partnerportal.turkcell.com.tr/spgw/services/AuthenticationPort?wsdl |
SMS Gönderme | http://partnerportal.turkcell.com.tr/spgw/view/SendMessage.wsdl |
İstek
|
Cevap
|
Örnek Soap Mesajı
İstek:
<soap:Envelope xmlns:mrns0="http://sdp.turkcell.com/mapping/TSO" xmlns:sdp="http://sdp.turkcell.com.tr/mapping/generated" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <soap:Header> <sdp:token> <sdp:sessionId>spgw440224078422477824</sdp:sessionId> </sdp:token> <sdp:transaction-list> <sdp:transaction-id>64324423</sdp:transaction-id> </sdp:transaction-list> </soap:Header> <soap:Body> <sdp:SendSMSInput> <sdp:EXPIRY_DATE>250106121212</sdp:EXPIRY_DATE> <sdp:MESSAGE_CLASS>0</sdp:MESSAGE_CLASS> <sdp:S_DATE>200106121212</sdp:S_DATE> <sdp:SHORT_NUMBER>1905</sdp:SHORT_NUMBER> <sdp:SRC_MSISDN>905324928891</sdp:SRC_MSISDN> <sdp:TO_RECEIVERS> <sdp:msisdn>905353652330</sdp:msisdn> <sdp:msisdn>905353652342</sdp:msisdn> </sdp:TO_RECEIVERS> <sdp:MESSAGE_BODY> <sdp:message>MESSAGE BODY GOES HERE</sdp:message> <sdp:message>SECOND BODY GOES HERE</sdp:message> </sdp:MESSAGE_BODY> </sdp:SendSMSInput> </soap:Body> </soap:Envelope>
Cevap:
Hatasız Cevap:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sdp="http://sdp.turkcell.com.tr/mapping/generated" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:so="http://sdp.turkcell.com/mapping/TSO"> <soap:Body> <sdp:SendSMSOutput> <sdp:statusCode> <sdp:value>0</sdp:value> <sdp:value>0</sdp:value> </sdp:statusCode> <sdp:errorCode> <sdp:value>9983004921765002000</sdp:value> <sdp:value>9983004921765002001</sdp:value> </sdp:errorCode> <sdp:errorDescription> <sdp:value>Message Sent Successfully</sdp:value> <sdp:value>Message Sent Successfully</sdp:value> </sdp:errorDescription> <so:TSOresult> <so:statusCode>0</so:statusCode> <so:errorCode>0</so:errorCode> <so:errorDescription/> </so:TSOresult> </sdp:SendSMSOutput> </soap:Body> </soap:Envelope>
İstek Başarısız Oldu Cevabı: İstek başarısız oldu ve mesajların hiçbiri işlenmedi. Eğer isteğin kendisi başarısız olursa TSOresult elemanı cevap olarak dönülür. İçerisindeki durum kodunun (statusCode) değeri birdir(1) ve hata kodu (errorCode) ile hata açıklaması (errorDescription) elemanlarını da içerir.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sdp="http://sdp.turkcell.com.tr/mapping/generated" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:so="http://sdp.turkcell.com/mapping/TSO"> <soap:Body> <sdp:SendSMSOutput> <sdp:statusCode> <sdp:value>1</sdp:value> </sdp:statusCode> <sdp:errorCode> <sdp:value>-401</sdp:value> </sdp:errorCode> <sdp:errorDescription> <sdp:value>Transaction Limit Error</sdp:value> </sdp:errorDescription> <so:TSOresult> <so:statusCode>1</so:statusCode> <so:errorCode>-401</so:errorCode> <so:errorDescription> Transaction Limit Error </so:errorDescription> </so:TSOresult> </sdp:SendSMSOutput> </soap:Body> </soap:Envelope>
Mesajlar için ayrı ayrı hata cevapları: Birinci mesaj başarılı olmuş, durum kodunun (statusCode) 0(sıfır) olması başarılı olduğunu belirtiyor. İkinci mesajın gönderimi başarısız olmuş, durum kodunun (statusCode) 1(bir) olması başarısız olduğunu gösteriyor. Hata kodu (errorCode) ve hata açıklaması (errorDescription) bölümlerinde mesajlar hakkında sırasıyla detaylar bulunuyor.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sdp="http://sdp.turkcell.com.tr/mapping/generated" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:so="http://sdp.turkcell.com/mapping/TSO"> <soap:Body> <sdp:SendSMSOutput> <sdp:statusCode> <sdp:value>0</sdp:value> <sdp:value>1</sdp:value> </sdp:statusCode> <sdp:errorCode> <sdp:value>9981234567890345678</sdp:value> <sdp:value>-201</sdp:value> </sdp:errorCode> <sdp:errorDescription> <sdp:value>Message Sent Successfully</sdp:value> <sdp:value>Service Doesn't Belong To User</sdp:value> </sdp:errorDescription> <so:TSOresult> <so:statusCode>0</so:statusCode> <so:errorCode>0</so:errorCode> <so:errorDescription/> </so:TSOresult> </sdp:SendSMSOutput> </soap:Body> </soap:Envelope>
Gateway'de bir hata oluştuğunda veya uçtaki servis soap hatası gönderdiğinde:
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>Client.Authentication</faultcode> <faultstring>Invalid token received</faultstring> <faultactor>http://sdp.turkcell.com.tr/gateway</faultactor> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>
Bu yazıya 0 yorum yapılmış.