SMS PAKETİM WEB SERVİCE / API DOKUMANI
Hata Kodları
Önceden tanımlı hata kodları aşağıdaki tabloda ayrıntılarıyla verilmiştir.HATA KODU | AÇIKLAMA |
---|---|
01 | Hatalı Kullanıcı Adı yada Şifre |
02 | Numara tanımlanmamış |
03 | Tanımsız Action Parametresi |
04 | Yetersiz Kredi |
05 | Xml Düğümü Eksik yada Hatalı |
HATA KODU | AÇIKLAMA |
---|---|
06 | Tanımsız Orginator |
07 | Mesaj Kodu (ID) yok |
08 | null |
09 | Tarih alanları hatalı |
10 | Sms Gönderilemedi |
SMS GÖNDERİMİ
SingleTextSMS ; Aynı mesaj metnini bir yada birden fazla GSM numarasına göndermek için kullanılır.MultiTextSMS ; Farklı mesaj metinlerini farklı GSM numaralarına göndermek için kullanılır.
Bu her iki XML ifadesinde de karakter uzunluğu standart 160 karakter olup, 160 karakteri geçen mesajlarda giden her mesajın uzunluğu 153 karaktere düşmektedir.
SingleTextSMS
Aşağıdaki örnekte SingleTextSMS XML ifadesi gösterilmektedir.SingleTextSMS XML ifadesi örneği :
<SingleTextSMS>
<UserName>test</UserName>
<PassWord>test</PassWord>
<Action>1</Action>
<Mesgbody>deneme mesaj metni</Mesgbody>
<Numbers>5321234587,5551234599,5441234524</Numbers>
<Originator>test</Originator>
<SDate>240320130930</SDate>
</SingleTextSMS>
Yukarıdaki XML ifadesinde;
<UserName> parametre düğümü kullanıcı adınızı,
<PassWord> parametre düğümü, şifrenizi,
<Action> parametre düğümü, gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini,
<Mesgbody> parametre düğümü, gönderilecek mesaj içeriğini,
<Numbers> parametre düğümü, mesajın gönderileceği GSM numaralarını,
<Originator> parametre düğümü, mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi,
<SDate> parametre düğümü, GünAyYılSaatDakika şeklinde gönderim zamanını ifade eder.
<UserName> parametre düğümüne değişken aktarılırken parametre değeri gsm no olmalıdır!
<Originator>Originator bilgisi
<SDate> parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen başlar. Eğer bir değer belirtirseniz mesaj gönderim işlemi o tarih,saat,dakika yapılır.
XML ifadesi Gateway’a ulaştığında aşağıdaki geri dönüş değeri alınır: İşlem başarılıysa: “ID: 345678” şeklinde mesaj gönderim paketine ait ID bilgisi döner.
MultiTextSMS
Aşağıdaki örnekte MultiText XML ifadesi gösterilmektedir.Örnek 5.2.1 - MultiTextSMS XML ifadesi örneği
<MultiTextSMS>
<UserName>test</UserName>
<PassWord>test</PassWord>
<Action>11</Action>
<Messages>
<Message>
<Mesgbody>deneme mesaj metni 1</Mesgbody>
<Number>5321234548</Number>
</Message>
<Message>
<Mesgbody>deneme mesaj metni 2</Mesgbody>
<Number>5551234534</Number>
</Message>
</Messages>
<Originator>Ntest</Originator>
<SDate>240320110930</SDate>
</MultiTextSMS>
Yukarıdaki XML ifadesinde
<UserName> parametre düğümü, kullanıcı adınızı,
<PassWord> parametre düğümü, şifrenizi,
<Action>parametre düğümü, gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini,
<Mesgbody>parametre düğümü, gönderilecek mesaj içeriğini,
<Numbers>parametre düğümü, mesajın gönderileceği GSM numaralarını,
<Originator>parametre düğümü, mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi,
<SDate>parametre düğümü, GünAyYılSaatDakika şeklinde gönderim zamanını ifade eder.
<UserName>parametre düğümüne değişken aktarılırken parametre değeri gsm no olmalıdır.
<Originator>parametre düğümüne herhangi bir değer girmezseniz kullanıcıya ait tanımlanmış olan ilk Originator bilgisi kullanılır.
<SDate>parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen baslar. Bir değer belirtirseniz mesaj gönderim işlemi o tarih,saat,dakika yapılır.
XML ifadesi Gateway’a ulaştığında aşağıdaki dönüş değeri alınır: İşlem başarılıysa: “ID: 27765234” şeklinde mesaj gönderim paketine ait Id bilgisi döner.
Action Parametreleri
1 Single text sms2 Single text sms Türkçe
11 Multi text sms
22 Multi text sms Tükçe
Xml Post
Xml post adresi : https://www.mesajpaketi.com/api/mesaj_gonderXml i post ederken “data” değişkenine atayıp post ediniz.
Örnek Kodlar
Single SmsPhp Örneği
$xml= "<SingleTextSMS><UserName>gsm no</UserName><PassWord>sifre</PassWord><Action>1</Action><Mesgbody>deneme mesaj</Mesgbody><Numbers>5556789898</Numbers><Originator>TEST</Originator><SDate>240320160930</SDate></SingleTextSMS>";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.mesajpaketi.com/api/mesaj_gonder");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1) ;
curl_setopt($ch, CURLOPT_POSTFIELDS, "data=".$xml);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$results = curl_exec($ch);
curl_close($ch);
echo $results;
C# Örneği
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Configuration;
using System.Net;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.IO;
using Microsoft.Win32;
using System.Web;
private string XmlPost(string PostAddress, string xmlData)
{
using (WebClient wUpload = new WebClient())
{
wUpload.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
Byte[] bPostArray = Encoding.UTF8.GetBytes(xmlData);
Byte[] bResponse = wUpload.UploadData(PostAddress, "POST", bPostArray);
Char[] sReturnChars = Encoding.UTF8.GetChars(bResponse);
string sWebPage = new string(sReturnChars);
return sWebPage;
}
}
private void button1_Click(object sender, EventArgs e)
{
string testXml= "<SingleTextSMS><UserName>gsm no</UserName><PassWord>sifre</PassWord><Action>1</Action><Mesgbody>Deneme Mesajı</Mesgbody><Numbers>5556789898</Numbers><Originator>TEST</Originator><SDate>240320160930</SDate></SingleTextSMS>";
string xmldonen = this.XmlPost("https://www.mesajpaketi.com/api/mesaj_gonder", "data=" + testXml);
MessageBox.Show(xmldonen);
}
Not :Xml ifadesi oluşturken örmekte olduğu gibi xml taglarını birleşik yazarak gönderiniz.Xml taglarından sonra "enter" tuşuna basarak alt satıra geçmeyiniz.Multi Sms
Php Örneği
$xml= "<MultiTextSMS><UserName>gsm no</UserName><PassWord>şifre</PassWord><Action>11</Action><Messages><Message><Mesgbody>deneme mesaj metni 1</Mesgbody><Number>5557896576</Number></Message><Message><Mesgbody>deneme mesaj metni 2</Mesgbody><Number>5375678943</Number></Message></Messages><Originator> TEST </Originator><SDate></SDate></MultiTextSMS>";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.mesajpaketi.com/api/mesaj_gonder");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1) ;
curl_setopt($ch, CURLOPT_POSTFIELDS, "data=".$xml);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$results = curl_exec($ch);
curl_close($ch);
echo $results;
C# Örneği
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Configuration;
using System.Net;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.IO;
using Microsoft.Win32;
using System.Web;
private string XmlPost(string PostAddress, string xmlData)
{
using (WebClient wUpload = new WebClient())
{
wUpload.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
Byte[] bPostArray = Encoding.UTF8.GetBytes(xmlData);
Byte[] bResponse = wUpload.UploadData(PostAddress, "POST", bPostArray);
Char[] sReturnChars = Encoding.UTF8.GetChars(bResponse);
string sWebPage = new string(sReturnChars);
return sWebPage;
}
}
private void button1_Click(object sender, EventArgs e)
{
string testXml= "<MultiTextSMS><UserName>gsm no</UserName><PassWord>şifre</PassWord><Action>11</Action><Messages><Message><Mesgbody>deneme mesaj metni 1</Mesgbody><Number>5557896576</Number></Message><Message><Mesgbody>deneme mesaj metni 2</Mesgbody><Number>5375678943</Number></Message></Messages><Originator> TEST </Originator><SDate></SDate></MultiTextSMS>";
string xmldonen = this.XmlPost("https://www.mesajpaketi.com/api/mesaj_gonder", "data=" + testXml);
MessageBox.Show(xmldonen);
}
Not :Xml ifadesi oluşturken örmekte olduğu gibi xml taglarını birleşik yazarak gönderiniz.Xml taglarından sonra "enter" tuşuna basarak alt satıra geçmeyiniz.Tarih Bazında Rapor
Aşağıdaki örnekte tarih bazında rapor için gereken url gösterilmektedir.https://mesajpaketi.com/api/tarih_raporu?UserName=gsm no&PassWord=sifre&Sdate=24032016&Fdate=08042016 url sunucuya ulaştığında aşağıdaki değeri alır:
İşlem başarılıysa: 27765-3-02.10.2006 12:26:59
Burada; 1.değer paket numarası; 2.değer Sms Adedi;4.Değer tarih ve saat olarak gelir.
ID Bazında Rapor
Aşağıdaki örnekte Id bazında rapor için gereken url gösterilmektedir.https://mesajpaketi.com/api/mesaj_raporu?UserName=gsm no&PassWord=123456&MsgId=64598895 url sunucuya ulaştığında aşağıdaki değeri alır:
İşlem başarılıysa: 5378974567-1
Burada; 1.değer gönderilen gsm no; 2.değer ise durumu
1 (iletildi)
2 (başarısız)
0 (beklemede)