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.

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

Parametre Veri Tipi Zorunlu mu ?(E/H) Açıklama
EXPIRY_DATE Tarih H Bu parametre sms'in geçerli olduğu ve gönderilebildiği tarihi ifade eder. Bu tarihten sonra sms geçerli değildir ve sonradan gönderilmeyecektir.Eğer belirtilmezse SMSC'nin varsayılanı olarak kullanılır.Biçim : "ddMMyyHHmmss" (ggAAyySSddnn : gün ay yıl saat dakika saniye)
MESSAGE_CLASS Karakter(1) H Bu parametre flash sms için kullanılır. Lütfen geçerli değerleri görebilmek CMG dökümanlarına bakınız.
S_DATE Tarih H Mesajın gönderildiği tarihi gösterir. Biçim: "ddMMyyHHmmss" (ggAAyySSddnn : gün ay yıl saat dakika saniye)
SENDER Karakter(11) H Alfanumerik SMS göndermek için kullanılır.
SHORT_NUMBER Sayı(16) E Kısa Numara, genellikle 4 hane olarak kullanılır (örn: 2222)
SRC_MSISDN Karakter(16) H Gönderenin telefon numarasıdır
TO_RECEIVERS Karakter(16) E Bu parametre sms gönderilecek telefon numaralarının listesini gösterir. Hem 905XXXXXXXXX hem de 5XXXXXXXXX biçimleri geçerlidir.
MESSAGE_BODY Karakter(1000) E Gönderilecek olan mesajın kendisidir. Bitişik mesaj göndermek için de burası kullanılır. Eğer mesaj uzunluğu maksimum SMS uzunluğunu geçerse, bitişik mesaj olarak gönderilir.
   

Cevap

Parametre Veri Tipi Zorunlu mu ?(E/H) Açıklama
statusCode Karakter(1) E Mesajların durumunu başarılı veya başarısız olarak gösterir.0 veya 1 değerlerini alır . Sıfır başarılı mesajları , bir ise başarısız mesajları ifade eder.Telefon numaralarının durumu TO_RECEIVERS listesinde ilk sütunda yer alır ,ayrıca statuscode listesinde yer alacaktır.
errorCode Dize H Mesaj gönderimi başarılı olmuşsa burada mesaj numarası (message_id) bulunur, başarısız olmuşsa hata kodu (errorCode). Eğer mesaj bir bitişik mesajsa sadece tek bir mesaj numarası gelir. Mesaj durumunu daha sonradan sorgulamak için tanımlı bir fonksiyon bulunmamaktadır.
errorDescription Dize H Bu hatanın açıklamasını belirtir.
TSOresult   E Bir bütün olarak mesaj isteğinin durumunu belirtir.
statusCode Tamsayı E Mesaj isteğinin durumunu başarılı veya başarısız olarak gösterir.Sıfır(0) başarılı, bir(1) ise başarısız.
errorCode Tamsayı H Mesaj isteği başarısızsa hata kodları içerir; başaraılıysa 0(sıfır) veya mesaj numarası içerir.
errorDescription Tamsayı H Bir hata oluşması durumunda hata açıklamasını içerir
   

Ö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>

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder