• 10-09-2025, 14:12:57
    #1
    Değerli arkadaşlar. sürat kargoda sunucu adres değişikliği olmuş ve kargo modülüm çalışmıyor. link değişikliğini yaptım fakat yine hata alıyorum. konu ile alakalı yardımlarınızı bekliyorum.

    sürat kargodan bana iletilen bilgi aşağıdaki gibidir:

    https://webservices.suratkargo.com.tr/services.asmx

    https://webservices.suratkargo.com.t...goyaGonderYeni


    buradan anlayamadığım konu şu ki acaba ilgili php dosyalarını genel olarak mı değiştirmek gerekiyor ?

    kullandığım çalışmayan sürat kargo php dosyasını aşağıda paylaşıyorum

    <?php
    namespace Tulparstudyo\Kargo\Clients;
    
    class Surat extends  Base{
        function __construct($teknokargo) {
            if(!$teknokargo->is_activated('surat')) die( base64_decode('QWt0aXZhc3lvbiBpw6dpbjogYWhtZXRoYW1kaWJheXJha0Bob3RtYWlsLmNvbQ=='));
            $this->teknokargo= $teknokargo;
        }
        public function hesap_test($data){
            $result = $this->new_result();
    
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?op=GonderiyiKargoyaGonderYeni';
            $order = array(
                "KisiKurum"        =>'Hesap Test',
                "AliciAdresi"    =>'Test Adres',
                "Il"            =>'ISTANBUL',
                "Ilce"            =>'BAKIRKOY',
                "TelefonCep"    =>'',
                "KargoTuru"        => 2,
                "Odemetipi"        => 1,
                "TeslimSekli"    => 1,
                "Adet"            => 1,
                "BirimDesi"        => 1,
                "BirimKg"        => 1,
                "KargoIcerigi"    => 'Ürün',
                "OzelKargoTakipNo" => '1',
                "TasimaSekli"    => "1",
                "KapidanOdemeTahsilatTipi" => "",
                "KapidanOdemeTutari" => "0",
            );
            $send['KullaniciAdi'] = $user_name;
            $send['Sifre'] = $user_pass;
            $send['Gonderi']= $order;
            $response = $this->getSOAP($service_url, 'GonderiyiKargoyaGonder', $send );
            if(isset($response['GonderiyiKargoyaGonderResult']) && !strpos($response['GonderiyiKargoyaGonderResult'],'Adı Veya Şifre Yanlış')){
                $result['status']=1;
                $result['html'] .= '<ul>';
                $result['html'] .= '<li><strong class="text-success">Başarılı</strong></li>';
                $result['html'] .= '<li>Servis: '.$service_url.'</li>';
                $result['html'] .= '<li>Kullanıcı Adı: '.$user_name.'</li>';
                $result['html'] .= '<li>Şifre: '.$user_pass.'</li>';
                $result['html'] .= '</ul>';
    
            } else{
                $result['status']=0;
                $result['html'] .= '<ul>';
                $result['html'] .= '<li><strong class="text-danger">Başarısız</strong>: '.$response['GonderiyiKargoyaGonderResult'].'</li>';
                $result['html'] .= '<li>Servis: '.$service_url.'</li>';
                $result['html'] .= '<li>Kullanıcı Adı: '.$user_name.'</li>';
                $result['html'] .= '<li>Şifre: '.$user_pass.'</li>';
                $result['html'] .= '</ul>';
    
            }
            return $result;
    
        }
    
        public function kayit_ac($data){
    
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?op=GonderiyiKargoyaGonderYeni';
            $order = array(
                "KisiKurum"        => html_entity_decode($data['name'], ENT_COMPAT, "UTF-8"),
                "AliciAdresi"    => $data['address'],
                "Il"            => $data['zone'],
                "Ilce"            => $data['city'],
                "TelefonCep"    => $data['tel'],
                "KargoTuru"        => 2,
                "Odemetipi"        => 1,
                "TeslimSekli"    => 1,
                "Adet"            => $data['paket'],
                "BirimDesi"        => 1,
                "BirimKg"        => 1,
                "KargoIcerigi"    => 'Ürün',
                "OzelKargoTakipNo" => $data['barcode'],
                "TasimaSekli"    => "1",
                "KapidanOdemeTahsilatTipi" => "",
                "KapidanOdemeTutari" => "0",
            );
    
            if($data['kargo_method'] == 'codcash_normal' )
            {
                $order["KapidanOdemeTahsilatTipi"]    = '1';
                $order["IrsaliyeSeriNo"]    = 'A';
                $order["IrsaliyeSiraNo"]    = $data['barcode'];
                $order["KapidanOdemeTutari"]        =  number_format((float)$data['total'],2,'.','');//tahsilatlı teslimat
            } else if($data['kargo_method'] == 'codcc_normal') {
                $order["KapidanOdemeTahsilatTipi"]    = '2';
                $order["IrsaliyeSeriNo"]    = 'A';
                $order["IrsaliyeSiraNo"]    = $data['barcode'];
                $order["KapidanOdemeTutari"]        =  number_format((float)$data['total'],2,'.','');//tahsilatlı teslimat
            }
            error_reporting(0);
            @ini_set('display_errors', 0);
            $result['status'] = 0;
            $result['message'] = 'İşlem Yaılamadı';
            $result['html'] = '';
            $result['data']['method'] = $data['method'];
            $result['data']['order_id'] = $data['order_id'];
            $result['data']['kargo_tarih'] = date('Y-m-d H:i:s');
            $result['data']['kargo_firma'] = 'surat';
            $result['data']['kargo_barcode'] = $data['barcode'];
            $result['data']['kargo_talepno'] = '';
            $result['data']['order_status_id'] = $data['order_status_id'];
            $send['KullaniciAdi'] = $user_name;
            $send['Sifre'] = $user_pass;
            $send['Gonderi']= $order;
    
            try{
                $response = $this->getSOAP($service_url, 'GonderiyiKargoyaGonder', $send );
                if(isset($response['GonderiyiKargoyaGonderResult'])){
                    if($response['GonderiyiKargoyaGonderResult']=='Tamam')
                    {
                        $result['status'] = 1;
                        $result['message'] = $this->method[$data['method']]['method_name'].' Kargo Kaydı Açıldı';
                        $result['data']['kargo_talepno'] =  '';
                    } else {
                        $result['status'] = 0;
                        $result['message'] = $response['GonderiyiKargoyaGonderResult'];
                    }
                } else {
                    $result['status'] = 0;
                    $result['message'] = 'Geçersiz servis sonucu.';
                }
    
            } catch(Exception $e) {
                $result['status'] = 0;
                $result['message'] = 'Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz. <br>'.$e->getMessage();
            }
            return $result;
        }
    
        public function kargo_durumu_al($data){
            $result['status'] = 0;
            $result['data'] = $data;
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $user_code =  $data['user_code'];
    
            $satisKodu = $data['barcode'];
            error_reporting(0);
            @ini_set('display_errors', 0);
            try{
                $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?WSDL';
    
                $send['gonderenCariKodu'] = $user_code;
                $send['satisKodu'] = $satisKodu;
                $send['Sifre'] = $user_pass;
                $response = $this->getSOAP($service_url, 'WebSiparisKodundanKargoTeslimatBilgisi', $send );
    
                if( isset($response['WebSiparisKodundanKargoTeslimatBilgisiResult']))
                {
                    if($response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataSonucu']!=1){
                        $result['message'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataAciklamasi'];
                    } else {
                        $result['status'] = 1;
                        $result['data']['kargo_sonuc'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['TeslimatBilgisi']['TeslimatAciklamasi'];
                        $result['data']['kargo_url'] = 'https://www.suratkargo.com.tr/kargoweb/bireysel.aspx?SATICI='.$user_code.'&no='.$satisKodu;
                        $result['message'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataAciklamasi'].": ".$result['data']['kargo_sonuc'];
                    }
                } else{
                    $result['message'] = "Teknokargo: Servis sonucu geçersiz.";
    
                }
            } catch(Exception $e) {
                $result['message'] = 'Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz. <br>'.$e->getMessage();
            }
            return $result;
        }
    
        public function kayit_iptal($data){
            $result['status'] = 0;
            $result['message'] = 'Sürat Kargoda, Gönderi Iptal Hizmeti verilmiyor';
            return $result;
        }
        public function get_firma_barcode($data){
            $result = [
                'status'=>0,
                'message'=>'',
                'html'=>'Sürat Kargo Bu Özelliği Desteklemiyor'
            ];
            return $result;
        }
    
    }

    base php dosyası var aynı klasörün içerisinde onu da paylaşıyorum:

    <?php
    namespace Tulparstudyo\Kargo\Clients;
    
    class Surat extends  Base{
        function __construct($teknokargo) {
            if(!$teknokargo->is_activated('surat')) die( base64_decode('QWt0aXZhc3lvbiBpw6dpbjogYWhtZXRoYW1kaWJheXJha0Bob3RtYWlsLmNvbQ=='));
            $this->teknokargo= $teknokargo;
        }
        public function hesap_test($data){
            $result = $this->new_result();
    
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?op=GonderiyiKargoyaGonderYeni';
            $order = array(
                "KisiKurum"        =>'Hesap Test',
                "AliciAdresi"    =>'Test Adres',
                "Il"            =>'ISTANBUL',
                "Ilce"            =>'BAKIRKOY',
                "TelefonCep"    =>'',
                "KargoTuru"        => 2,
                "Odemetipi"        => 1,
                "TeslimSekli"    => 1,
                "Adet"            => 1,
                "BirimDesi"        => 1,
                "BirimKg"        => 1,
                "KargoIcerigi"    => 'Ürün',
                "OzelKargoTakipNo" => '1',
                "TasimaSekli"    => "1",
                "KapidanOdemeTahsilatTipi" => "",
                "KapidanOdemeTutari" => "0",
            );
            $send['KullaniciAdi'] = $user_name;
            $send['Sifre'] = $user_pass;
            $send['Gonderi']= $order;
            $response = $this->getSOAP($service_url, 'GonderiyiKargoyaGonder', $send );
            if(isset($response['GonderiyiKargoyaGonderResult']) && !strpos($response['GonderiyiKargoyaGonderResult'],'Adı Veya Şifre Yanlış')){
                $result['status']=1;
                $result['html'] .= '<ul>';
                $result['html'] .= '<li><strong class="text-success">Başarılı</strong></li>';
                $result['html'] .= '<li>Servis: '.$service_url.'</li>';
                $result['html'] .= '<li>Kullanıcı Adı: '.$user_name.'</li>';
                $result['html'] .= '<li>Şifre: '.$user_pass.'</li>';
                $result['html'] .= '</ul>';
    
            } else{
                $result['status']=0;
                $result['html'] .= '<ul>';
                $result['html'] .= '<li><strong class="text-danger">Başarısız</strong>: '.$response['GonderiyiKargoyaGonderResult'].'</li>';
                $result['html'] .= '<li>Servis: '.$service_url.'</li>';
                $result['html'] .= '<li>Kullanıcı Adı: '.$user_name.'</li>';
                $result['html'] .= '<li>Şifre: '.$user_pass.'</li>';
                $result['html'] .= '</ul>';
    
            }
            return $result;
    
        }
    
        public function kayit_ac($data){
    
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?op=GonderiyiKargoyaGonderYeni';
            $order = array(
                "KisiKurum"        => html_entity_decode($data['name'], ENT_COMPAT, "UTF-8"),
                "AliciAdresi"    => $data['address'],
                "Il"            => $data['zone'],
                "Ilce"            => $data['city'],
                "TelefonCep"    => $data['tel'],
                "KargoTuru"        => 2,
                "Odemetipi"        => 1,
                "TeslimSekli"    => 1,
                "Adet"            => $data['paket'],
                "BirimDesi"        => 1,
                "BirimKg"        => 1,
                "KargoIcerigi"    => 'Ürün',
                "OzelKargoTakipNo" => $data['barcode'],
                "TasimaSekli"    => "1",
                "KapidanOdemeTahsilatTipi" => "",
                "KapidanOdemeTutari" => "0",
            );
    
            if($data['kargo_method'] == 'codcash_normal' )
            {
                $order["KapidanOdemeTahsilatTipi"]    = '1';
                $order["IrsaliyeSeriNo"]    = 'A';
                $order["IrsaliyeSiraNo"]    = $data['barcode'];
                $order["KapidanOdemeTutari"]        =  number_format((float)$data['total'],2,'.','');//tahsilatlı teslimat
            } else if($data['kargo_method'] == 'codcc_normal') {
                $order["KapidanOdemeTahsilatTipi"]    = '2';
                $order["IrsaliyeSeriNo"]    = 'A';
                $order["IrsaliyeSiraNo"]    = $data['barcode'];
                $order["KapidanOdemeTutari"]        =  number_format((float)$data['total'],2,'.','');//tahsilatlı teslimat
            }
            error_reporting(0);
            @ini_set('display_errors', 0);
            $result['status'] = 0;
            $result['message'] = 'İşlem Yaılamadı';
            $result['html'] = '';
            $result['data']['method'] = $data['method'];
            $result['data']['order_id'] = $data['order_id'];
            $result['data']['kargo_tarih'] = date('Y-m-d H:i:s');
            $result['data']['kargo_firma'] = 'surat';
            $result['data']['kargo_barcode'] = $data['barcode'];
            $result['data']['kargo_talepno'] = '';
            $result['data']['order_status_id'] = $data['order_status_id'];
            $send['KullaniciAdi'] = $user_name;
            $send['Sifre'] = $user_pass;
            $send['Gonderi']= $order;
    
            try{
                $response = $this->getSOAP($service_url, 'GonderiyiKargoyaGonder', $send );
                if(isset($response['GonderiyiKargoyaGonderResult'])){
                    if($response['GonderiyiKargoyaGonderResult']=='Tamam')
                    {
                        $result['status'] = 1;
                        $result['message'] = $this->method[$data['method']]['method_name'].' Kargo Kaydı Açıldı';
                        $result['data']['kargo_talepno'] =  '';
                    } else {
                        $result['status'] = 0;
                        $result['message'] = $response['GonderiyiKargoyaGonderResult'];
                    }
                } else {
                    $result['status'] = 0;
                    $result['message'] = 'Geçersiz servis sonucu.';
                }
    
            } catch(Exception $e) {
                $result['status'] = 0;
                $result['message'] = 'Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz. <br>'.$e->getMessage();
            }
            return $result;
        }
    
        public function kargo_durumu_al($data){
            $result['status'] = 0;
            $result['data'] = $data;
            $user_name  = $data['user_name'];
            $user_pass = $data['user_pass'];
            $user_code =  $data['user_code'];
    
            $satisKodu = $data['barcode'];
            error_reporting(0);
            @ini_set('display_errors', 0);
            try{
                $service_url = 'https://webservices.suratkargo.com.tr/services.asmx?WSDL';
    
                $send['gonderenCariKodu'] = $user_code;
                $send['satisKodu'] = $satisKodu;
                $send['Sifre'] = $user_pass;
                $response = $this->getSOAP($service_url, 'WebSiparisKodundanKargoTeslimatBilgisi', $send );
    
                if( isset($response['WebSiparisKodundanKargoTeslimatBilgisiResult']))
                {
                    if($response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataSonucu']!=1){
                        $result['message'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataAciklamasi'];
                    } else {
                        $result['status'] = 1;
                        $result['data']['kargo_sonuc'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['TeslimatBilgisi']['TeslimatAciklamasi'];
                        $result['data']['kargo_url'] = 'https://www.suratkargo.com.tr/kargoweb/bireysel.aspx?SATICI='.$user_code.'&no='.$satisKodu;
                        $result['message'] = $response['WebSiparisKodundanKargoTeslimatBilgisiResult']['HataAciklamasi'].": ".$result['data']['kargo_sonuc'];
                    }
                } else{
                    $result['message'] = "Teknokargo: Servis sonucu geçersiz.";
    
                }
            } catch(Exception $e) {
                $result['message'] = 'Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz. <br>'.$e->getMessage();
            }
            return $result;
        }
    
        public function kayit_iptal($data){
            $result['status'] = 0;
            $result['message'] = 'Sürat Kargoda, Gönderi Iptal Hizmeti verilmiyor';
            return $result;
        }
        public function get_firma_barcode($data){
            $result = [
                'status'=>0,
                'message'=>'',
                'html'=>'Sürat Kargo Bu Özelliği Desteklemiyor'
            ];
            return $result;
        }
    
    }
  • 10-09-2025, 14:29:18
    #2
    Geçenlerde buna benzer bir api geliştirdim yanlış hatırlamıyorsam ortak barkod oluştur bölümünü kullanıyorlar GonderiyiKargoyaGonderResult değil
  • 10-09-2025, 14:34:21
    #3
    https://webservices.suratkargo.com.t...goyaGonderYeni

    yukarıdaki linkte örnek bir kodlama var sanırım kontrol edebilir misiniz
  • 19-09-2025, 21:20:24
    #4
    işlem tarafımca halledilmiştir.
  • 19-09-2025, 23:59:37
    #5
    OKirala adlı üyeden alıntı: mesajı görüntüle
    işlem tarafımca halledilmiştir.
    Sunucu kaynaklı api sorunu varmış. Bunun dışında modülün geliştirilmesi ve admin paneldeki bir çok hatanın düzeltilmesi işlemi için teşekkürler.