v2.5.2
Giriş yap

Kargo entegrasyonu için yardım edecek var mı?

adroit
627 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba arkadaşlar. Aras Kargo entegrasyon için sisteme veri göndermek istiyorum ama bir türlü yapamadım. Bayadır uğraşıyorum ama bir bilgi bulamadım. Soap konusunda pek bir bilgim yok. İnternetten araştırdığım kadarıyla aşağıdaki satırları oluşturdum ve çalıştıramadım. Bu sorunu çözmeme yardımcı olabilecek var mı?

Geri dönen hata :
Servis Endpoint: http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL

Request data:

Array
(

[orderInfo] => Array
    (
        [Order] => Array
            (
                [0] => Array
                    (
                        [UserName] => neodyum
                        [Password] => nd2580
                        [TradingWaybillNumber] => 
                        [InvoiceNumber] => 
                        [IntegrationCode] => 
                        [ReceiverName] => 
                        [ReceiverAddress] => 
                        [ReceiverCityName] => 
                        [ReceiverTownName] => 
                        [ReceiverPhone1] => 
                        [PayorTypeCode] => 1
                        [IsCod] => 0
                        [PieceCount] => 0
                        [IsWorldWide] => 0
                        [CodCollectionType] => 0
                        [CodAmount] => 
                    )

            )

    )

[userName] => neodyum
[password] => nd2580

)

Exception data:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL' : failed to load external entity "http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL"
Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz.
SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL' : failed to load external entity "http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL"
0102
Servis Endpoint:

Çalıştırmaya çalıştırğım kod :

<?php
/** Aras Kargo **/

$siparisno  = 12356;
$alici      = "Alıcı adı";
$siparisno  = "1111111";
$adres      = "ADRES";
$il         = "Sipariş ili";
$ilce       = "Sipatiş ilçe";
$tel        = 0000000000;
$agirlik    =2;
$koli       = 1;

            $user_name  = 'neodyum';
            $user_pass = 'nd2580';
            $service_url = 'http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?WSDL';


	    $order = array(
		"UserName"              => $user_name,
		"Password"              => $user_pass,
		"TradingWaybillNumber"  => $siparisno,
		"InvoiceNumber"  		=> $siparisno,
		"IntegrationCode"      	=> $siparisno,
		"ReceiverName"			=> $alici,
		"ReceiverAddress"       => $adres,
		"ReceiverCityName"      => $il,
		"ReceiverTownName"      => $ilce,
		"ReceiverPhone1"        => $tel,
		"PayorTypeCode"      	=> 1,
		"IsCod"            		=> 0, //'Tahsilatlı (0=Hayır, 1=Evet)
		"PieceCount"      		=> $koli,
		"CodCollectionType"     => 0, //0-Nakit,1-Kredi Kartı
		"CodAmount"      		=> $agirlik,
		"IsWorldWide"      		=> 0,// (0=Yurtiçi, 1=Yurtdışı)
		  );

		error_reporting(1);
		@ini_set("soap.wsdl_cache_enabled", "0");


            $send['orderInfo']['Order'] = array($order);
            $send['userName'] = $user_name;
            $send['password'] = $user_pass;

            $response = getSOAP($service_url, 'setOrder', $send );
			if(isset($response['SetOrderResult']) )
			{
                if(isset($response['SetOrderResult']['OrderResultInfo'])){
                    if($response['SetOrderResult']['OrderResultInfo']['ResultCode']==0){
                        $this->result['status'] = 1;
                        echo' Kargo Kaydı Açıldı';
		         
                    } else{
                        $this->result['status'] = 0;
                        echo $response['SetOrderResult']['OrderResultInfo']['ResultMessage'];
                        
                    }
                    
                } else{
                    echo 0;
				    echo '102';
                }
                
				 $response['ShippingOrderResultVO']['jobId'];
			} else {
                    echo 0;
				    echo '102';
			}

  $service_method =  "setOrder"; 
   function getSOAP($service_url, $service_method,  $send ){

 		if (!extension_loaded('soap')) {
			throw new Exception('SOAP requests is unavailable');
		}
		try{
            if($_GET['siparisno']){
                echo "<br>Servis Endpoint: $service_url<br>\r\n<pre>";
                echo "<br>Request data:<br>\r\n<pre>";
                print_r($send);
            }
			$client 	= new SoapClient($service_url, array('trace' => 1, 'exceptions' => 1));       

			$response 	= $client->$service_method( $send );
            if($_GET['siparisno']){
                echo "<br>Response data:<br>\r\n<pre>";
                print_r($response);
            }
            return json_decode(json_encode($response),1);
		} catch(Exception $e) {
            if($_GET['siparisno']){
                echo "<br>Exception data:<br>\r\n";
                print_r($e->getMessage());
            }
			echo 'Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz. <br>'.$e->getMessage();
		}
       
    }

?>

Cevap yaz
Cevaplar (5)
adroit
770 gün önce

Merhaba arkadaşlar uzun uğraşlar sonucu belli bir aşamada ilerleyebildim. çok basit bir hata yüzünden aylardır uğraşıyorum.
url satırında http:// yerine https:// yapınca kısmen de olsa çalıştı ve ilk paylaştığım kodlarda çıkan hataları da düzeltince
sistem çalıştı. Çalşmasına çalıştı ama veriler kargo sisteminde görünmüyor. Neyse yarın tekrar kontrol edeceğim.

Çalışan kodları paylaşıyorum belki işine yarayan arkadaşlar olur.

<?php 
       
     	$UserName  = "neodyum";
    	$Password = "nd2580";

$cargoid= 1000000000000+51;

	    $order = array(
						"UserName"              => $UserName,
						"Password"              => $Password,
						"TradingWaybillNumber"  => $cargoid,
						"InvoiceNumber"  		=> $cargoid,
						"ReceiverName"			=> 'Müşteri Adı',
						"ReceiverAddress"       => 'Müşteri Adres',
						"ReceiverPhone1"        => '00000000000',
						"ReceiverCityName"      => 'İl',
						"ReceiverTownName"      => 'İlçe',
						"IntegrationCode"      	=> $cargoid,//$order_info['shipping_city'],
						"PayorTypeCode"      	=> "1", //Gönderinin ödemesini kimin yapacağını belirler. (1=Gönderici Öder, 2=Alıcı Öder)
						"IsCod"            		=> 0, //'Tahsilatlı Kargo gönderisi (0=Hayır, 1=Evet)
						"PieceCount"      		=> 1,
						"PieceDetails"			=> array( array("VolumetricWeight"=>"1",
															"Weight"=>"1",
															"BarcodeNumber"=>$cargoid, 
															"ProductNumber"=>$cargoid, 
															"Description"=>'Online Satış' ) 
														),
						"IsWorldWide"      		=> 0,// Yurtdışı gönderisi mi (0=Yurtiçi, 1=Yurtdışı)

		  );
    
    	try{
  			$serviceurl = "https://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?wsdl";
  			$client 	= new SoapClient($serviceurl, array('trace' => 1, 'exceptions' => 0));
			$send['orderInfo']['Order'] = array($order);
			$send['userName'] = $UserName;
			$send['password'] = $Password;
			$response = $client->SetOrder( $send );
            
            print_r($response); 
                      
            if( property_exists($response, 'SetOrderResult')){
				if($response->SetOrderResult->OrderResultInfo->ResultCode==0)
				{				
					echo' Kargo Kaydı Açıldı';
					return 1;     
					

				} else {
					return $response->SetOrderResult->OrderResultInfo->ResultMessage;;
                    
                    echo "Bağlanamadı";
				}
			}

		} catch(Exception $e) {
			return 'ARAS Kargo Servislerine Bağlanılamadı. Lütfen tekrar deneyiniz';
		}
	
    
?>
adroit
771 gün önce

Aylardır görüşüyorum kardeşim fakat göndermiyorlar. Defalardır görüşüyorum yoğunluktan dolayı sıranızı bekleyin diyorlar. Aylardır gelmeyince bende bu şekilde çözüm bulmaya çalışıyorum.

gokcin
771 gün önce

Aras kargo ile görüşme yapabilirsin, size bir explame kod yapısı verecektir. Kod yapıları internette yoktur firamya özel iletilmektedir.

adroit
772 gün önce

holdfast ilgin için teşekkür ederim kardeşim onu da inceledim. Sanırım o veri çekmek için ben veri göndermek istiyorum.
Sitemden aras kargo sistemine müşteri bilgilerini gönderip kargo oluşturmak istiyorum. Linktekini araştırdım burada sadece veri alabiliyorum. Araştırmaya devam kaç gündür bakmadığım yer kalmadı. Bu konuyla ilgili bir bilgiye rastlamadım. Genelde veri çekme var ve göndermeye henüz ulaşamadım. Bakalım ne olacak.

holdfast
773 gün önce

Hocam şu pakate bakabilir misin bi? Belki aradığın sorunun cevabı buradadır. https://github.com/ismail0234/aras-kargo-php-api