PHP SMS API ile İletişim Formu
PHP ile çalışan iletişim formunuza SMS bildirimi ekleyerek başvuru ve talep akışlarını daha hızlı takip etmenin pratik yolunu gösteriyoruz.
PHP ile çalışan iletişim formunuza SMS bildirimi ekleyerek başvuru ve talep akışlarını daha hızlı takip etmenin pratik yolunu gösteriyoruz.
İnternetin ve web sayfalarının gelişmesi ile müşteriler daha hızlı cevap ve gerçek zamanlı iletişim beklemektedirler. Firmaların iş akışlarını otomatize etmek ve müşterileriyle daha hızlı iletişime geçmek zorunlu hale gelmiştir.
Birçok firma bu dönem değişiminde başarılı olabilmek için web sayfalarının iletişim formlarını SMS bildirim sistemiyle entegre etmektedir. Bu sayede müşteri soruları, şikayetleri veya teklifleri ilgili personele anında SMS ile iletilmektedir.
Yazılımlar ve web sayfalarında müşteri iletişim formları, müşteri soruları, şikayetleri ve tekliflerin alındığı kritik bir bölümdür. İletişim formundan gelen sorulara hızlı cevap verilmesi:
SMS API entegrasyonu sayesinde iletişim formu doldurulduğu anda ilgili kişi veya kişilere SMS gönderilebilir. Bu şekilde:
Aşağıda detaylı olarak iletişim formunun nasıl oluşturulacağı ve SMS API ile nasıl entegre edileceği anlatılmaktadır.
İlk olarak iletişim formumuzun HTML kısmını hazırlamaya başlayacağız. Tasarımın düzenli gözükmesi için Bootstrap CSS kütüphanesini ve asenkron istekler için jQuery kütüphanesini kullanacağız.
İlk sayfamızı iletisim.html adında oluşturalım ve HTML kodlarını ekleyelim:
Dosya Adı: iletisim.html
Bu dosyada Bootstrap CSS kütüphanesi, jQuery ve form işlevselliği için JavaScript kodları bulunmaktadır:
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
// iletisim formundan gelen verileri sms gonderiminin yapilacagi sayfaya gonderen kisim
function formuGonder() {
var form_verisi = $('#iletisim_formu').serialize();
$.ajax({
type: 'POST',
url: 'iletisim_sms_gonder.php',
data: form_verisi,
success: function(ajaxResponse) {
var result = ajaxResponse.split(':');
if(result[0]=='success') {
//Eger sms gonderimi basariliysa kullaniciya basari mesajini gosteriyoruz
$('#error_success').show();
$('#error_success').html(result[1]);
} else {
//Eger sms gonderimi basarili degilse kullaniciya uyari mesajini gosteriyoruz
$('#error_danger').show();
$('#error_danger').html(result[1]);
}
}
});
}
</script>
<title>İletişim Formu</title>
<div class="container">
<div class="starter-template">
<form id="iletisim_formu" class="form-horizontal">
<h3>İletişim</h3>
<h6>Görüş, öneri ve şikayetleriniz için formu doldurarak bizimle iletişime geçebilirsiniz.</h6>
<div id="error_success" style="display:none;" class="alert alert-success" role="alert"></div>
<div id="error_danger" style="display:none;" class="alert alert-danger" role="alert"></div>
<div class="form-group">
<label for="ad-soyad" class="col-sm-1 control-label">Ad Soyad</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="ad-soyad" id="ad-soyad" placeholder="Ad Soyad">
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-1 control-label">E-posta</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="email" id="email" placeholder="E-posta">
</div>
</div>
<div class="form-group">
<label for="telefon" class="col-sm-1 control-label">Telefon</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="telefon" id="telefon" placeholder="Telefon">
</div>
</div>
<div class="form-group">
<label for="mesaj" class="col-sm-1 control-label">Mesaj</label>
<div class="col-sm-6">
<textarea name="mesaj" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-6">
<button type="button" onclick="formuGonder();" class="btn btn-default">Gönder</button>
</div>
</div>
</form>
</div>
</div>HTML Dosyasının Açıklaması:
<head> bölümüne ekledikformuGonder() adlı fonksiyon, form verilerini AJAX ile SMS gönderim sayfasına iletmektedironclick özelliği ile JavaScript fonksiyonunu çağırdıkformuGonder() fonksiyonunun görevi:
Dosya Adı: iletisim_sms_gonder.php
Bu PHP dosyasında iletiMerkezi SMS API aracılığıyla gerçek SMS gönderimi yapılmaktadır:
<authentication>
<username>{$username}</username>
<password>{$password}</password>
</authentication>
<order>
<sender>{$orgin_name}</sender>
<senddatetime>01/05/2013 18:00</senddatetime>
<message>
<text><!--[CDATA[Sitenizin iletişim formu dolduruldu, {$ad_soyad} size mesaj gönderdi.]]--></text>
<receipents>
<number>{$yonetici_telefonlari[0]}</number>
</receipents>
</message>
</order>
EOS;
// <number>{$yonetici_telefonlari[1]}</number>
$result = sendRequest($xml);
$array = XML2Array::createArray($result);
if($array['response']['status']['code']=='200') {
die('success:İşleminiz başarıyla yapılmıştır.');
} else {
die('fail:'.$array['response']['status']['message']);
}PHP Dosyasının Detaylı Açıklaması:
1. XML2Array Kütüphanesi Ekleme
PHP sayfamızın başında, API çağrısı yaptığımızda dönen XML cevabını diziye dönüştürecek bir kütüphane kullanıyoruz.
Kütüphaneyi buradan indirebilirsiniz.
Bu kütüphane sayesinde XML'deki değerleri PHP kodunda daha rahat bir şekilde işleyebiliriz.
2. sendRequest Fonksiyonu
SMS API'ye istek yapan sendRequest() fonksiyonu, cURL aracılığıyla PHP yazılımınızdan iletiMerkezi sunucusuna veri göndermektedir.
cURL, PHP eklentisi olup çoğu sunucuda yüklü ve aktif durumdadır. Eğer hata alırsanız, sunucu yöneticiniz cURL eklentisini etkinleştirmesi gerekebilir.
3. Form Verilerini Alma ve Hazırlama
Gelen form verilerini alarak API isteği için gerekli parametreleri hazırlıyoruz:
Telefon numaralarını eklerken format zorunluluğu yoktur. Başında 90 veya aralarında "-" veya "." işaretleri olması gönderimi engellemez.
4. XML Veri Yapısı Oluşturma
SMS API'sine göndermek için XML formatında veri oluşturuyoruz. Burada dikkat edilmesi gereken en önemli nokta:
Mesaj alanında Türkçe karakterler veya özel karakterler kullanıldığında XML yapısını bozmamak için <![CDATA[...]]> etiketi içine mesajı sarmalıyoruz.
5. API Çağrısı ve Cevap İşleme
XML veriyi API'ye gönderdikten sonra:
Oluşturduğumuz XML yapısında basit değişiklikler yaparak birden fazla kişiye aynı anda SMS gönderilebilir.
Tek Alıcıya Gönderim:
<receipents>
<number>905301234567</number>
</receipents>Birden Fazla Alıcıya Gönderim:
<number> etiketini tekrarlayarak birden fazla kişiye toplu SMS gönderebilirsiniz:
<receipents>
<number>905301234567</number>
<number>905309876543</number>
<number>905319876543</number>
</receipents>Bu sayede iletişim formu doldurulduğunda aynı SMS mesajı birden fazla firma çalışanına aynı anda iletilecektir.
SMS gönderirken iletiMerkezi sunucusundan aşağıdaki gibi bir XML cevabı alırız:
<response>
<status>
<code>200</code>
<message>İşlem başarıyla tamamlandı</message>
</status>
<order>
<id>12345678</id>
</order>
</response>Cevabın Anlamı:
İşlem başarılı olup olmama durumuna göre, formuGonder JavaScript fonksiyonu yardımıyla işlemin sonucunu kullanıcıya gösteririz.
Bu temel örneği kendi ihtiyaçlarınıza göre geliştirirken dikkat etmeniz gereken noktalar:
1. Güvenlik Önlemleri
Form verilerini doğrudan olarak işlemeden önce:
2. SMS Mesaj Boyutu Kontrolü
SMS'in boyutuna göre ücretini hesaplayın:
3. Kütüphaneleri Güncelleme
XML2Array gibi eski kütüphaneler yerine modern JSON tabanlı API çözümleri tercih edebilirsiniz.
4. Hata Yönetimi
Farklı hata kodlarına karşı detaylı hata mesajları hazırlayın ve logging sistemi kurarak sorunları takip edin.
Bu örneğini kullanarak web sitenizin iletişim formunu SMS bildirim sistemiyle entegre edebilir ve müşteri iletişimini otomatikleştirebilirsiniz. Form verilerinizi değiştirerek kendi iş akışınıza uyarlayabilir ve müşteri deneyimini önemli ölçüde iyileştirebilirsiniz.
Detaylı dokümantasyon ve örnek kodlarla dakikalar içinde entegre edin.
Pazarlama
Geçtiğimiz her gün mobil dünya bir adım ileri giderek piyasayı yeni ürünlerle geliştiriyor. Her yeni çıkan ürün beraberinde getirdiği yenilikler sayesinde birçok sektörü geliştiriyor ya da yeni sektörlerin kapısını açıyor.
Devamını okuPazarlama
Bütünleşik pazarlama, var olan her alanda müşteriye ulaşımı ve reklam kampanyalarını yönetirken markanızda var olan her pazarlama aracının bu yönde kullanılmasını öngören bir pazarlama biçimidir.
Devamını okuPazarlama
Mobil kullanım günümüzde birçok taşınabilir elektronik cihazla birlikte en üst seviyeye ulaşmış durumda. Gelecek 10 yıl içerisinde oldukça ilginç cihazlar göreceğimiz kesin. Daha şimdiden giyilebilir teknolojinin vardığı nokta görülebilir derecede bilimkurgu filmlerinden bize ulaşmış gibi gözüküyor.
Devamını oku