Ana içeriğe geç

PHP SMS API ile İletişim Formu

İnternetin ve web sayfalarının gelişmesi ve karşılıklı iletişime olanak sağlamaya başladığı günden beri hızla artan etkileşim, firmaların iş akışlarını otomatize etmeye, müşterileriyle daha hızlı iletişime geçmeye zorlamaktadır.

PHP SMS API ile İletişim Formu

PHP ile SMS API Kullanarak İletişim Formu Oluşturma

İ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.

İletişim Formu ve SMS Bildirim İntegrasyonunun Önemi

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:

  • Müşteri memnuniyetini doğrudan etkiler
  • Satış fırsatlarının kaybedilmesini önler
  • İşletmenin profesyonel imajını pekiştirir
  • İşletmenin yanıt verme hızını gösterir

SMS Bildirim Entegrasyonunun Faydalı

SMS API entegrasyonu sayesinde iletişim formu doldurulduğu anda ilgili kişi veya kişilere SMS gönderilebilir. Bu şekilde:

  • İletişim formundan gelen sorular gerçek zamanlı olarak kişileri bilgilendirir
  • İnsan hatası nedeniyle bildirimin unutulması riski ortadan kalkır
  • Tüm sorular eşit şekilde izlenmiş olur
  • Hızlı yanıt süresi sağlanır

Adım Adım İletişim Formu Yapımı

Aşağıda detaylı olarak iletişim formunun nasıl oluşturulacağı ve SMS API ile nasıl entegre edileceği anlatılmaktadır.

Adım 1: HTML Formu Oluşturma

İ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

İletişim Formu HTML Yapısı

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">Email</label>
        <div class="col-sm-6">
          <input type="text" class="form-control" name="email" id="email" placeholder="Email">
        </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ı:

  1. Kütüphane Eklemeleri: Bootstrap CSS kütüphanesini ve jQuery kütüphanesini <head> bölümüne ekledik
  2. JavaScript Fonksiyonu: formuGonder() adlı fonksiyon, form verilerini AJAX ile SMS gönderim sayfasına iletmektedir
  3. Form Alanları: Ad-soyadı, e-mail, telefon ve mesaj alanlarını Bootstrap sınıflarına uygun şekilde oluşturduk
  4. Gönder Butonu: Kullanıcının formu göndermesi için bir buton ekledik ve onclick özelliği ile JavaScript fonksiyonunu çağırdık
  5. Hata Yönetimi: Başarı ve hata mesajlarını göstermek için div alanları ekledik

formuGonder() fonksiyonunun görevi:

  • Form verilerini serialize ederek almak
  • AJAX POST isteği yaparak PHP sayfasına göndermek
  • Dönüş cevabına göre başarı veya hata mesajı göstermek

Adım 2: PHP ile SMS API Entegrasyonu

Dosya Adı: iletisim_sms_gonder.php

Bu PHP dosyasında İleti Merkezi 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 İleti Merkezi 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:

  • Müşteri adı-soyadı
  • E-mail adresi
  • Telefon numarası
  • Mesaj içeriği
  • Uyarılacak kişilerin telefon numaraları (firma çalışanları)

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:

  • Dönen XML cevabını XML2Array kütüphanesi ile diziye çeviriyoruz
  • Durum kodunu kontrol ederek işlemin başarılı olup olmadığını anlıyoruz
  • Başarı veya hata mesajını kullanıcıya iletiyoruz

Adım 3: Birden Fazla Alıcıya SMS Gönderme

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.

Adım 4: API Cevabının İşlenmesi

SMS gönderirken İleti Merkezi 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ı:

  • code: İşlemin sonucunu belirtir. 200 başarıyı gösterir
  • message: İşlem hakkında detaylı bilgi mesajı
  • id: İletilen SMS'nin takip numarası

Adım 5: Sonuç Mesajını Kullanıcıya Gösterme

İşlem başarılı olup olmama durumuna göre, formuGonder JavaScript fonksiyonu yardımıyla işlemin sonucunu kullanıcıya gösteririz.

Gerçek Hayat Senaryosu için Ek Öneriler

Bu temel örneği kendi ihtiyaçlarınıza göre geliştirirken dikkat etmeniz gereken noktalar:

1. Güvenlik Önlemleri

Form verilerini direkt olarak işlemeden önce:

  • Gelen verileri kontrol edin (SQL Injection, XSS koruması)
  • Telefon numarası formatını doğrulayın
  • E-mail adres formatını kontrol edin

2. SMS Mesaj Boyutu Kontrolü

SMS'in boyutuna göre ücretini hesaplayın:

  • 160 karaktere kadar = 1 SMS
  • Her 153 karakterlik ek = 1 ek SMS

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.

Sonuç

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.

SMS API ile entegrasyona başlayın

Detaylı dokümantasyon ve örnek kodlarla dakikalar içinde entegre edin.

Dokümantasyona Git

Bunlar ilginizi çekebilir

Blog görsel 1
26 Kasım 2015

Pazarlama

Mobil Pazarlama ve Müşteri Odaklı Stratejiler Geliştirmenin Önemi

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ı okuarrow-right
Blog görsel 1
30 Ocak 2016

Pazarlama

Bütünleşik Pazarlama Nedir?

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ı okuarrow-right
Blog görsel 1
16 Ocak 2016

Pazarlama

Mobil Stratejiler ve Mobil Planlama Hakkında Bilmeniz Gerekenler

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ı okuarrow-right