• 15-08-2019, 15:52:13
    #1
    https://dev.gittigidiyor.com/metotla...oap-individual

    Buradan bilgi çekmeye çalışıyoruz API bilgilerimiz var ama bilgi çekemiyoruz. Bu konu hakkın da bilgisi olan yada yönlendirebilecek birisi var mı acaba?
  • 15-08-2019, 17:11:45
    #2
    SunHiz adlı üyeden alıntı: mesajı görüntüle
    https://dev.gittigidiyor.com/metotla...oap-individual

    Buradan bilgi çekmeye çalışıyoruz API bilgilerimiz var ama bilgi çekemiyoruz. Bu konu hakkın da bilgisi olan yada yönlendirebilecek birisi var mı acaba?
    Merhaba,

    Çekmeye çalıştığınız kodlarıda paylaşırsanız üzerinden giderek yardımcı olmaya çalışalım. Şuanda nasıl bir kod yazdınız nasıl bir bağlantı sağladınız SOAP ile bilmemiz imkansız.
  • 15-08-2019, 18:08:44
    #3
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Çekmeye çalıştığınız kodlarıda paylaşırsanız üzerinden giderek yardımcı olmaya çalışalım. Şuanda nasıl bir kod yazdınız nasıl bir bağlantı sağladınız SOAP ile bilmemiz imkansız.
    Hocam çok anladığım söylenemez ama anladığım kadarıyla bu şekilde yapmayı denemiştim.
    Buraya yazdıkdan sonra fark ettim Authorization: Basic doğrulaması da yapmam gerekiyormuş onunda kullanıcı adı ve şifresi var ama nasıl göndereceğimi bulamadım.
    APIKEY GG nin verdiği Api key,
    SING değeri : Apikey+secretkey+time(); şeklindedir.
    ini_set("soap.wsdl_cache_enabled", "0");
    try {
    
    // SOAPClient nesnesi olustur
    $client = new SoapClient("http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl");
    
    // SOAPClient uzerinden karsi sunucudaki getAllNotebooks metodunu cagir
    $notebooks = $client->SaleServiceResponse(
        'getSales' => array(
            'apiKey' => 'APIKEY',
            'sing' => md5("SING".time().""),
            'time' => time(),
            'startOffSet' => 0,
            'rowCount' => 5,
            'withData' => 'false',
            'byStatus' => 'S',
            'byUser' => 'A',
            'orderBy' => 'C',
            'orderType' => 'A',
            'lang' => 'tr'
        )
    );
    
    echo "Metod basarili bir sekilde calistirildi.<br/>Sonuc asagidadir.<br/>";
    
    echo "<pre>";
    // Sonucu ekrana bas
    var_dump($notebooks);
    echo "</pre>";
    } catch (Exception $exc) { // Hata olusursa yakala
    echo "Soap Hatasi Olustu: " . $exc->getMessage();
    }
  • 15-08-2019, 18:25:58
    #4
    Öncelikli olarak GG de ayrıca Basic Auth da yapmanız gerekiyor, Size verilen Auth_user ve Auth_pass ları kullanmanız lazım.

    getSales methodunu değiştirip getPagesSales methodu kullanmaya başladılar böylelikle sayfalandırmaları da kullanabileceğiz.


    $apiKey = '';
    $secretKey = '';
    $auth_user = '';
    $auth_pass = '';
    
    list($usec, $sec) = explode(" ", microtime());
    $time = round(((float)$usec + (float)$sec) * 100).'0';
    
    $sign = md5($apiKey.$secretKey.$time);
    
    $url = "http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl";
    $soapParams = array(
    'apiKey' => $apiKey,
    'sing' =>$sign,
    'time' => $time,
    'byStatus' => 'S',
    'byUser' => 'A',
    'orderBy' => 'A',
    'orderType' => 'A',
    'pageNumber' => 1,
    'pageSize' => 100,
    'lang' => 'tr'
    );
    $soapClient = new SoapClient($url, array('login' => $auth_user, 'password' => $auth_pass, 'authentication' => SOAP_AUTHENTICATION_BASIC) );
    $result = $soapClient->__soapCall('getPagedSales',$soapParams);
    
    print_r($result);
    Açıkcası kısa bir örnek hazırladım. Burada ilgili değişkenlere verileri koyduğunda sorun yaşamadan istediğin veriyi çekebileceksin. SoapCall methodumu eğer try catch e sokarakta hataları yakalayabilirsin. Sign hesaplamanda da ayrıca bir sorun daha vardı onu göreceksin.

    Umarım sana yardımcı olur.

    SunHiz adlı üyeden alıntı: mesajı görüntüle
    Hocam çok anladığım söylenemez ama anladığım kadarıyla bu şekilde yapmayı denemiştim.
    Buraya yazdıkdan sonra fark ettim Authorization: Basic doğrulaması da yapmam gerekiyormuş onunda kullanıcı adı ve şifresi var ama nasıl göndereceğimi bulamadım.
    APIKEY GG nin verdiği Api key,
    SING değeri : Apikey+secretkey+time(); şeklindedir.
    ini_set("soap.wsdl_cache_enabled", "0");
    try {
    
    // SOAPClient nesnesi olustur
    $client = new SoapClient("http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl");
    
    // SOAPClient uzerinden karsi sunucudaki getAllNotebooks metodunu cagir
    $notebooks = $client->SaleServiceResponse(
    'getSales' => array(
    'apiKey' => 'APIKEY',
    'sing' => md5("SING".time().""),
    'time' => time(),
    'startOffSet' => 0,
    'rowCount' => 5,
    'withData' => 'false',
    'byStatus' => 'S',
    'byUser' => 'A',
    'orderBy' => 'C',
    'orderType' => 'A',
    'lang' => 'tr'
    )
    );
    
    echo "Metod basarili bir sekilde calistirildi.<br/>Sonuc asagidadir.<br/>";
    
    echo "<pre>";
    // Sonucu ekrana bas
    var_dump($notebooks);
    echo "</pre>";
    } catch (Exception $exc) { // Hata olusursa yakala
    echo "Soap Hatasi Olustu: " . $exc->getMessage();
    }
  • 15-08-2019, 18:34:33
    #5
    Hocam çok teşekkür ediyorum örneğiniz için.
    startOffSet=> 0, Ekleyerek sorunu çözdüm hocam teşekkürler tekrardan.
    Ufak bir hata veriyor sayfa numarası 1 olmasına rağmen ama.
    stdClass Object ( [ackCode] => failure [responseTime] => 2019-08-15 18:33:39 [error] => stdClass Object ( [errorId] => 1073 [errorCode] => [GG-API-ERROR_1073] [message] => Sayfa boyutu birden küçük veya boş olamaz. [viewMessage] => Sayfa numarası birden küçük veya boş olamaz. ) [nextPageAvailable] => )
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Öncelikli olarak GG de ayrıca Basic Auth da yapmanız gerekiyor, Size verilen Auth_user ve Auth_pass ları kullanmanız lazım.

    getSales methodunu değiştirip getPagesSales methodu kullanmaya başladılar böylelikle sayfalandırmaları da kullanabileceğiz.


    $apiKey = '';
    $secretKey = '';
    $auth_user = '';
    $auth_pass = '';
    
    list($usec, $sec) = explode(" ", microtime());
    $time = round(((float)$usec + (float)$sec) * 100).'0';
    
    $sign = md5($apiKey.$secretKey.$time);
    
    $url = "http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl";
    $soapParams = array(
    'apiKey' => $apiKey,
    'sing' =>$sign,
    'time' => $time,
    'byStatus' => 'S',
    'byUser' => 'A',
    'orderBy' => 'A',
    'orderType' => 'A',
    'pageNumber' => 1,
    'pageSize' => 100,
    'lang' => 'tr'
    );
    $soapClient = new SoapClient($url, array('login' => $auth_user, 'password' => $auth_pass, 'authentication' => SOAP_AUTHENTICATION_BASIC) );
    $result = $soapClient->__soapCall('getPagedSales',$soapParams);
    
    print_r($result);
    Açıkcası kısa bir örnek hazırladım. Burada ilgili değişkenlere verileri koyduğunda sorun yaşamadan istediğin veriyi çekebileceksin. SoapCall methodumu eğer try catch e sokarakta hataları yakalayabilirsin. Sign hesaplamanda da ayrıca bir sorun daha vardı onu göreceksin.

    Umarım sana yardımcı olur.
  • 15-08-2019, 19:48:03
    #6
    Verdiğim parametreler üzerinden mi gittiniz yoksa rowCount ve startOffset mi eklediniz?

    Normalde apide pageNumber ve pageSize kullanılmalı diyor fakat örnek sorgusunda rowCount ve startOffset verilmiş. Ben pageNumber ve PageSize değişkenlerini kullanıyorum bunlar kesinlikle bu sorguda olmalılar.
  • 15-08-2019, 22:10:20
    #7
    Hocam tam parametreler bu şekilde şuanda çalışıyor.

    $soapParams = array(
    'apiKey' => $apiKey,
    'sing' => $sign,
    'time' => $time,
    'startOffSet' => 0,
    'byStatus' => 'S',
    'byUser' => '',
    'orderBy' => 'A',
    'orderType' => 'A',
    'pageNumber' => 1,
    'pageSize' => 100,
    'lang' => 'tr'
    );
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Verdiğim parametreler üzerinden mi gittiniz yoksa rowCount ve startOffset mi eklediniz?

    Normalde apide pageNumber ve pageSize kullanılmalı diyor fakat örnek sorgusunda rowCount ve startOffset verilmiş. Ben pageNumber ve PageSize değişkenlerini kullanıyorum bunlar kesinlikle bu sorguda olmalılar.
  • 19-06-2021, 18:12:55
    #8
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Öncelikli olarak GG de ayrıca Basic Auth da yapmanız gerekiyor, Size verilen Auth_user ve Auth_pass ları kullanmanız lazım.

    getSales methodunu değiştirip getPagesSales methodu kullanmaya başladılar böylelikle sayfalandırmaları da kullanabileceğiz.


    $apiKey = '';
    $secretKey = '';
    $auth_user = '';
    $auth_pass = '';
    
    list($usec, $sec) = explode(" ", microtime());
    $time = round(((float)$usec + (float)$sec) * 100).'0';
    
    $sign = md5($apiKey.$secretKey.$time);
    
    $url = "http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl";
    $soapParams = array(
    'apiKey' => $apiKey,
    'sing' =>$sign,
    'time' => $time,
    'byStatus' => 'S',
    'byUser' => 'A',
    'orderBy' => 'A',
    'orderType' => 'A',
    'pageNumber' => 1,
    'pageSize' => 100,
    'lang' => 'tr'
    );
    $soapClient = new SoapClient($url, array('login' => $auth_user, 'password' => $auth_pass, 'authentication' => SOAP_AUTHENTICATION_BASIC) );
    $result = $soapClient->__soapCall('getPagedSales',$soapParams);
    
    print_r($result);
    Açıkcası kısa bir örnek hazırladım. Burada ilgili değişkenlere verileri koyduğunda sorun yaşamadan istediğin veriyi çekebileceksin. SoapCall methodumu eğer try catch e sokarakta hataları yakalayabilirsin. Sign hesaplamanda da ayrıca bir sorun daha vardı onu göreceksin.

    Umarım sana yardımcı olur.
    Hocam ürün yükleme konusunda bilginiz var mı