API Desteği - Gönderim Raporu

Toplu SMS Gönderim Raporu API' si

Gönderimlerinizin içeriğindeki numaraların iletim durumlarını bu API' yi kullanarak sorgulayabilirsiniz.


API Adı Gönderim Raporu

API Açıklaması

Bu API daha önce göndermiş olduğunuz sms paketinin, yine gönderim işleminden sonra dönen ve sakladığınız id değerini kullanarak gönderim raporunu döndürür.

PHP kodunda görüldüğü gibi ilk istek içinson_id parametresi 0 olarak gönderilir. İlk istek sonucu gelen 100 kaydın son elemenının id değeri sonraki 100 kaydı getirmek için son_id parametresi olarak gönderilir ve bu şekilde döngü içerisinde tüm kayıtlar 100 'lü gruplar halinde getirilir.


API Root https://vairosms.com/Panel/api/v1/

URL /GonderimRaporu/[id]

URL Params api_key=[api_keyiniz], son_id=[0 ile başlar]

Method GET

Data Params Data parametresi gönderilmez.

Success Response Dönen aciklama parametresi gönderim numaraları ve detayını içeren dizidir.

Code: 200
Content: { "durum" : true, "toplam"=> int, "son_id" => int, "aciklama" : array[] }

PHP Kodu

    $rapor_id = 20; // Sakladığınız gonderim id.
    $api_key = "api_keyiniz";
    $son_id = 0;

    while(true){

        $ch = curl_init('https://vairosms.com/Panel/api/v1/GonderimRaporu/'.$rapor_id.'?api_key='.$api_key.'&son_id='.$son_id);
        curl_setopt_array($ch, array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_TIMEOUT => 10 //timeout in seconds
        ));

        $http_response = curl_exec($ch);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        if($http_code == 200){

            $sonuc = json_decode($http_response);

            foreach($sonuc->aciklama as $s){

                echo $s->numara." =>".$s->durum_gonderim;
            }

            if($sonuc->toplam < 100){

                break;
            }else{
                $son_id = $sonuc->son_id;
            }

        }else{

            return json_encode(array('sonuc' => 'Bağlantı kurulamadı !'));
        }
    }
                            

PHP (Recursive)

    function recursiveRapor($rapor_id, $api_key, $son_id = 0){

        $ch = curl_init('https://vairosms.com/Panel/api/v1/GonderimRaporu/'.$rapor_id.'?api_key='.$api_key.'&son_id='.$son_id);

        curl_setopt_array($ch, array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_TIMEOUT => 10 //timeout in seconds
        ));

        $http_response = json_decode(curl_exec($ch));
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        if($http_code == 200){

            foreach($http_response->aciklama as $s){

                echo $s->numara." => ".$s->durum_gonderim;
            }

            if($http_response->toplam == 100){

                return recursiveRapor($rapor_id, $api_key, $http_response->son_id);
            }

        }else{
            return Response::json(array('Sonuc' => "Bağlantı kurulamadı."));
        }
    }

    recursiveRapor($rapor_id = 20, $api_key = "api_keyiniz"); // Metodu çağıralım
                            

Örnek Response

    {
      "durum": true,
      "toplam": 2,
      "son_id": 2984,
      "aciklama": [
        {
          "id": 2983,
          "sms_gonderim_id": 142,
          "numara": "dsdsgsd",
          "mesaj": "mesaj 1",
          "mesaj_boy": 1,
          "durum_gonderim": "INVALID_DESTINATION_ADDRESS",
          "durum_iade": 1,
          "created_at": "2016-07-28 09:49:00",
          "updated_at": "2016-07-28 09:49:04"
        },
        {
          "id": 2984,
          "sms_gonderim_id": 142,
          "numara": "5399999999",
          "mesaj": "mesaj 2",
          "mesaj_boy": 1,
          "durum_gonderim": "DEFAULT",
          "durum_iade": 0,
          "created_at": "2016-07-28 09:49:00",
          "updated_at": "2016-07-28 09:49:00"
        }
      ]
    }
                            

Açıklama

durum_gonderim parametresinin dönebileceği değerler aşağıdaki gibidir.


DEFAULT Henüz işlem yapılmamış.
SENDING Mesaj gönderiliyor.
WAITING Mesaj gönderildi. Cevap bekleniyor.
DELIVERED Mesaj iletildi.
SENT Mesaj iletildi. Fakat operatör gönderim raporunu desteklemediği için teyit edilemiyor. (Uluslararası bazı yönlerde oluşur.)
NOT_DELIVERED Mesaj iletilemedi. (Genelde alıcı numaranın aktif olmamasından kaynaklanır.)
EXPIRED Zaman aşımı. Mesajınız belirlediğiniz geçerlilik süresi içinde alıcısına teslim edilemedi.
INVALID_DESTINATION_ADDRESS Alıcı telefon numarası geçersiz. (Hiçbir operatöre kayıtlı değil.)
REJECTED Mesajınızın gönderimi reddedildi. (Genelde gsm operatörü tarafından içerik kontrolü sonucu oluşur.)
SEND_ERROR Mesajınız gönderilirken hata oluştu. (Sebebi çeşitli olabilir.)
BLACKLISTED_DESTINATION_ADDRESS Alıcı kara listede.