Wordpress site üzerinden sms göndermek için gerekli api
19
●3.563
- 17-07-2013, 17:01:18Kimlik doğrulama veya yönetimden onay bekliyor.api klavuzu var mı?
- 17-07-2013, 17:03:56http://toplusms.netgsm.com.tr/dokuman/default.asp burayı örnek gösterdiler ama php içinde xml ye numaraları nasıl göndereceğim anlayamadım. Ayrıca 1 mesajı n adet kullanıcıya göndermek için bir form oluşturup onunla göndermeyi düşünüyordum ben olmaz mı acaba?
- 17-07-2013, 17:05:07pm gönderiyorum.asimus adlı üyeden alıntı: mesajı görüntüle
pm' e gerek yok aslında herkes görsün:
<? function XMLPOST($PostAddress,$xmlData) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$PostAddress); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml")); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData); $result = curl_exec($ch); return $result; } $xml='<?xml version="1.0" encoding="iso-8859-9"?> <mainbody> <header> <company>NETGSM</company> <usercode>KullaniciAdi</usercode> <password>Sifre</password> <startdate></startdate> <stopdate></stopdate> <type>1:n</type> <msgheader>MesajBasligi</msgheader> </header> <body> <msg><![CDATA[Test Mesaji]]></msg> <no>905121231212</no> </body> </mainbody>'; $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml); echo $gelen; ?>
önce wp'de bir page oluşturup, ardından form ekleyin, formda kullanıcı girmesi gereken şeyleri girsin, ardından yukarıdaki kodu bir gonder.php gibi kaydedip, POST olarak gerekli şeyleri göndertin bu gonder.php'ye...
daha sonra kullaniciadi sifre yazan yerlere $_POST['kullaniciadi'] ve $_POST['sifre'] gibi değerleri gonder.php içerisinde önceden kaydedip, xmldeki veride değişken olarak yazdırın.
hepsi bu. - 17-07-2013, 17:47:47Cappystarj0e 'in verdiği kod işe yarıyorsa, yapacağınız şeyin algoritması şöyle,
Veritabanından verileri çekip, dizi olarak alın.
Eğer her numara için tek tek yukarıdaki gibi gönderiliyorsa yani toplu gönderim olayı yoksa (bunu firmadan öğrenmelisiniz) aşağıdaki gibi bir mantık yürüteceksiniz.
foreach ($numaralar as $numara) { $xml='<?xml version="1.0" encoding="iso-8859-9"?> <mainbody> <header> <company>NETGSM</company> <usercode>KullaniciAdi</usercode> <password>Sifre</password> <startdate></startdate> <stopdate></stopdate> <type>1:n</type> <msgheader>MesajBasligi</msgheader> </header> <body> <msg><![CDATA[Test Mesaji]]></msg> <no>' . $numara . '</no> </body> </mainbody>'; $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml); echo $gelen; }şeklinde bir mantıkla, XML kodunu döngü her döndüğünde yeniden oluşturacak ve içerisine $numara değişkenini aktaracak, tabi bunu siz kendi veritabanı ve bilgilerinize göre düzenleyeceksiniz. - 17-07-2013, 18:02:43O zaman aşağıdaki gibi xml kodunuzu oluşturup, gönderebilirsiniz. foreach döngüsündeki $numaralar sizin veritabanından dönen, numaraların saklı olduğu dizi değişkeni ifade ediyor, eğer mysql, sql, php bilginiz yoksa bilen birinden yardım alıp, kendi veritabanınıza göre düzenleme yapın.
$xml='<?xml version="1.0" encoding="iso-8859-9"?> <mainbody> <header> <company>NETGSM</company> <usercode>KullaniciAdi</usercode> <password>Sifre</password> <startdate></startdate> <stopdate></stopdate> <type>1:n</type> <msgheader>MesajBasligi</msgheader> </header> <body> <msg><![CDATA[Test Mesaji]]></msg>'; $nolar = ''; foreach ($numaralar as $numara) { $nolar .='<no>' . $numara . '</no>'; } $xml = $xml.$nolar. '</body> </mainbody>'; $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml); echo $gelen;