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?
GG'den API ile bilgi çekme HK YARDIM
7
●719
- 15-08-2019, 17:11:45Merhaba,SunHiz adlı üyeden alıntı: mesajı görüntüle
Ç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:44Hocam çok anladığım söylenemez ama anladığım kadarıyla bu şekilde yapmayı denemiştim.MesutEyrice adlı üyeden alıntı: mesajı görüntüle
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Ö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 - 15-08-2019, 18:34:33Hocam ç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 - 15-08-2019, 19:48:03Verdiğ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:20Hocam 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 - 19-06-2021, 18:12:55Hocam ürün yükleme konusunda bilginiz var mıMesutEyrice adlı üyeden alıntı: mesajı görüntüle