• 08-08-2021, 12:47:39
    #1
    Merhabalar,
    Trendyol api baglantisi ile paneldeki siparisleri örneğin localhostta listelemek istiyorum. Bunun icin bikac deneme yaptim ancak sonuc alamadim maalesef.
    Konu hakkinda bilgisi olan arkadaslar paylaşırsa sevinirim.
    Herkese iyi çalışmalar
  • 09-08-2021, 01:54:05
    #2
    Api bilgilerinizi girin, satıcı panelinizde kargolanmamış sipariş varsa listelenecektir.
    <?php
    
    define('INTEGRATOR',  'SelfIntegration'); // Trendyol başvurunuzda entegratör firması belirttiyseniz ismini girin
    define('MERCHANT_ID', 'xxx');
    define('API_KEY',     'xxx');
    define('API_SECRET',  'xxx');
    
    class Trendyol{
    
        public function getOrders($page = 1, $pageSize = 25)
        {
            $query = array(
                'page' => ($page - 1),
                'size' => $pageSize,
                'orderByField' => 'PackageLastModifiedDate',
                'orderByDirection' => 'DESC'
            );
            $orderList = $this->call('https://api.trendyol.com/sapigw/suppliers/'.MERCHANT_ID.'/orders', $query);
            return $orderList;
        }
    
        public function call($url, $params)
        {
            $curl = curl_init($url.($params ? '?'.http_build_query($params) : NULL));
            $header = array(
                    'Authorization: Basic '. base64_encode(API_KEY.':'.API_SECRET),
                    'User-Agent: '.MERCHANT_ID.' - '.INTEGRATOR.'',
                    'Content-Type: application/json'
            );
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
            curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_ENCODING, '');
    
            $response = curl_exec($curl);
            $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
            $curlerror = curl_error($curl);
    
            return json_decode($response);
        }
    }
    
    $ty = new Trendyol();
    
    echo '<pre>';
    print_r($ty->getOrders());
    echo '</pre>';
  • 16-01-2022, 02:55:10
    #3
    Emeğiniz için çok teşekkür ederim. Denedim fakat bir konuda destek almak istiyorum. Burada sanırım siparişlerin bir kısmını çekiyor. Tamamını çekmesi için nerede değişiklik yapmam gerekiyor.
  • 16-01-2022, 05:31:36
    #4
    edige adlı üyeden alıntı: mesajı görüntüle
    Emeğiniz için çok teşekkür ederim. Denedim fakat bir konuda destek almak istiyorum. Burada sanırım siparişlerin bir kısmını çekiyor. Tamamını çekmesi için nerede değişiklik yapmam gerekiyor.
    İstek başına maksimum 200 adet sipariş alabilirsiniz. Örnekte 25 olarak tanımlı. Tamamına ulaşmak için sayfalama kullanmanız gerek;
    $ty->getOrders(1, 200); // ilk 200 kayıt
    $ty->getOrders(2, 200); // ilk 200 kayıttan sonraki 200 kayıt gibi...
    sıralamayı değiştirmek için ise servise gönderilen "orderByField" ve "orderByDirection" parametrelerini değiştirmelisiniz. Daha fazla detay için dökümantasyonu kontrol edebilirsiniz; https://developers.trendyol.com/tr/s...etlerini-cekme