PHP ile N11 Api Kullanımı:
E-ticaret ürünlerimizin daha geniş bir kitleye satışını yapmamızı sağlıyor bu nedenle hazırlanmış olan bir e-ticaret sitesinden ürünleri satmak güzel fakat popüler çok kullanılan satış yapabileceğimiz siteler aracılığıyla ürünlerimizi farklı elektronik pazarlara çıkartmak bize fayda sağlayacaktır. Satış oranlarını artırmak adına her e-ticaret sistemi sahibinin N11, Gittigidiyor, Sanalpazar gibi sitelerde satış yapmayı düşünmesi gerekir. PHP ile N11 API kullanımı çok basittir, N11 sitesinin bize sağlamış olduğu servis sayesinde kategori çekme, il bilgilerini çekme, yüklenmiş ürünleri veya ürünün bilgilerini çekme, ürün kaydetme, ürünü sistemden silme, N11 satılan ürünleri siparişleri çekme gibi bazı konulara değineceğim. Dilerseniz N11 api entegrasyonunu e-ticaret sitenize entegre edebilirsiniz.
Sanal Pazar Entegrasyonu için buraya tıklayın.
N11 için PHP Class
Api entegrasyonu için sınıfımız alttaki gibi olacak.
<?php Class N11 { protected static $_appKey, $_appSecret, $_parameters, $_sclient; public $_debug = false; public function __construct(array $attributes = array()) { self::$_appKey = $attributes['appKey']; self::$_appSecret = $attributes['appSecret']; self::$_parameters = ['auth' => ['appKey' => self::$_appKey, 'appSecret' => self::$_appSecret]]; } public function setUrl($url) { self::$_sclient = new \SoapClient($url); } public function GetTopLevelCategories() { $this->setUrl('https://api.n11.com/ws/CategoryService.wsdl'); return self::$_sclient->GetTopLevelCategories(self::$_parameters); } public function GetCities() { $this->setUrl('https://api.n11.com/ws/CityService.wsdl'); return self::$_sclient->GetCities(self::$_parameters); } public function GetProductList($itemsPerPage, $currentPage) { $this->setUrl('https://api.n11.com/ws/ProductService.wsdl'); self::$_parameters['pagingData'] = ['itemsPerPage' => $itemsPerPage, 'currentPage' => $currentPage]; return self::$_sclient->GetProductList(self::$_parameters); } public function GetProductBySellerCode($sellerCode) { $this->setUrl('https://api.n11.com/ws/ProductService.wsdl'); self::$_parameters['sellerCode'] = $sellerCode; return self::$_sclient->GetProductBySellerCode(self::$_parameters); } public function SaveProduct(array $product = Array()) { $this->setUrl('https://api.n11.com/ws/ProductService.wsdl'); self::$_parameters['product'] = $product; return self::$_sclient->SaveProduct(self::$_parameters); } public function DeleteProductBySellerCode($sellerCode) { $this->setUrl('https://api.n11.com/ws/ProductService.wsdl'); self::$_parameters['productSellerCode'] = $sellerCode; return self::$_sclient->DeleteProductBySellerCode(self::$_parameters); } public function OrderList(array $searchData = Array()) { $this->setUrl('https://api.n11.com/ws/OrderService.wsdl'); self::$_parameters['searchData'] = $searchData; return self::$_sclient->OrderList(self::$_parameters); } public function __destruct() { if ($this->_debug) { print_r(self::$_parameters); } } }
PHP ile N11 API Kullanılarak Kategorileri Nasıl Çekebiliriz
N11 kategori çekme işlemiyle başlayalım hemen, çünkü ürünleri yüklemeyi düşünüyorsak kategori bilgilerini çekmek bizim için önemli çünkü ürünleri kategori bilgileri olmadan yükleyemiyoruz.
Anlatacağım işlemi uygulamadan önce sayfanıza sınıfı dahil etmeniz gerekmektedir. İsmini n11.class.php olarak kaydettikten sonra alttaki kod ile sınıfı ekleyebilirsiniz.
<?php include "n11.class.php"; $n11Params = ['appKey' => 'API_BILGILERINIZDEN_DOLDURUN', 'appSecret' => 'API_BILGILERINIZDEN_DOLDURUN']; $n11 = new N11($n11Params);
Yukarıda hazırlanmış olan PHP Class sayesinde artık N11 kategorilerini çok rahat çekebiliriz. Alttaki kodu dosyanıza dahil edip test edebilirsiniz.
$categories = $n11->GetTopLevelCategories(); var_dump($categories);
N11 Şehir Bilgilerini Çekme
Şimdi N11 servisinden şehir bilgileri lazım olduğunda çekmek istersek nasıl çekilir görelim.
$cities = $n11->GetCities(); var_dump($cities);
N11 Ürün Listesini Çekme
N11 sitesine yüklemiş olduğumuz ürünlerin listesini nasıl alırız şimdi onu hazırlayalım. (Bu method ilk parametrede kaç tane ürün listeleneceğini ikinci parametrede sayfa numarasını almaktadır)
$productList = $n11->GetProductList(5, 0); var_dump($productList);
N11 Kayıtlı Ürünü Çekme
N11’e daha önce yüklediğimiz bir ürünü çekelim.
$getProductBySeller = $n11->GetProductBySellerCode('db0000'); var_dump($getProductBySeller);
N11 Ürün Kaydetme
Şimdi çok işimize yarayacak olan N11’e ürün yükleme kaydetme koduna bakalım.
$saveProduct = $n11->SaveProduct( [ 'productSellerCode' => 'az32897591', 'title' => 'Deneme üründür satın almayınız.', 'subtitle' => 'Api Test ürünü ', 'description' => 'Deneme ürünümüz.', 'attributes' => [ 'attribute' => Array() ], 'category' => [ 'id' => 1000038 ], 'price' => 0.99, 'currencyType' => 'TL', 'images' => [ 'image' => [ 'url' => 'http://alyamedya.com/uploads/alya-medya-logo1.png', 'order' => 1 ] ], 'saleStartDate' => '', 'saleEndDate' => '', 'productionDate' => '', 'expirationDate' => '', 'productCondition' => '1', 'preparingDay' => '3', 'discount' => 10, 'shipmentTemplate' => 'Alıcı Öder', 'stockItems' => [ 'stockItem' => [ 'quantity' => 1, 'sellerStockCode' => 'stokkodu', 'attributes' => [ 'attribute' => [] ], 'optionPrice' => 0.99 ] ] ] ); var_dump($saveProduct);
N11 Ürün Silme
N11 kayıtlı ürünü silme işlemi.
$deleteProductBySeller = $n11->DeleteProductBySellerCode('az3289759'); var_dump($deleteProductBySeller);
N11 Sipariş Listesi
N11 Sipariş Listesini çekmeye geldi, yaptığımız satışları çekeceğiz.
$OrderList = $n11->OrderList ( [ "productId"=>'', "status"=> 'New', "buyerName"=> '', "orderNumber"=> '', "productSellerCode" =>'', "recipient"=> '', "period"=>[ "startDate"=> '?', "endDate"=> '?' ] ] ); var_dump($orderList);
Eğer N11 için kurumsal bir üyeliğiniz yoksa vereceğim adresten kendinize bir kurumsal üyelik açarak API servis hizmetinden yararlanmaya başlayabilirsiniz. N11 kurumsal üyelik