Php ile N11 Api Entegrasyonu – Ürün Ekleme

Merhaba;

Php ile N11 api üzerinden ürün ekleme işlemi ile devam edeceğiz. Öncelikle N11 ürün eklemelerinde bazı zorunlu alanlar bulunmaktadır. Oyüzden ürün ekleme işlemine geçmeden Teslimat Şablonu , Kategoriler gibi işlemleri tamamlamış olmanız gerekmektedir.

SaveProduct Fonksiyonu ile Ürün Ekleme

<?php
Class n11 {
    protected static $_appKey, $_appSecret, $_parameters, $_sclient;
    public $_debug = false;
    public function __construct(array $attributes = array()) {
        self::$_appKey = "ApiKey"; // N11 ApiKey
        self::$_appSecret = "AppSecret"; // N11 AppSecret
        self::$_parameters = ['auth' => ['appKey' => self::$_appKey, 'appSecret' => self::$_appSecret]];
    }
    //Her seferinde Soap Bağlantısı için tekrarlanan kod yazmamak adına bağlantımızı ayrı bir private fonskiyonda tutalım
    private function setUrl($url) {
        self::$_sclient = new \SoapClient($url);
    }
    // Ürün Ekleme
    public function SaveProduct()
    {  

        $product= array
            (
                'productSellerCode' => "Model",
                'title' => "Ürün Listelenirken Gözüken Başlık 0-59 Karakter",
                'subtitle' => "Ürün Listelenirken Gözüken Alt Başlık 0-59 Karakter",
                'description' => "Ürün Özellikleri HTML olabilir",
                'attributes' => array
                (
                    'attribute' => array(), 
                ),
                'category' => array('id' => "N11 Kategori İd"),
                'price' => "Ürün Fiyatı",
                'currencyType' => "Döviz Tipi",
                'images' => array(url => "Url Adresi" , order => "Sıralaması"),
                'saleStartDate' => "Satış Başlangıç Tarihi vermek isterseniz boş ise aynı gün başlar",
                'saleEndDate' => "Satış Bitiş Tarihi isteğe bağlı",
                'productionDate' => "Üretim Tarihi boş kalabilir",
                'expirationDate' => "Son Kullanma Tarihi boş bırakılabilir",
                'productCondition' => "Ürün durumu 1 ise Yeni 2 ise İkinci El",
                'preparingDay' => 'Kargoya Verilme Süresi Gün olarak ',
                'domestic' => "true yada false yerli üretimlik durumu",
                'discount' => '',
                'shipmentTemplate' => "Teslimat şablonu adı",
                'stockItems' => array(
                    'stockItem' => array(
                        'quantity' => "Adet",
                        'sellerStockCode' => "Satış Stok Kodu (Kendi Stok Kodunuzu verebilirsiniz)",
                        'attributes' => array(
                            'attribute' => array(),
                        ),
                        'optionPrice' => '',
                    ),
                ),
            );

        $this->setUrl('https://api.n11.com/ws/ProductService.wsdl');
        self::$_parameters['product'] = $product;
        $data = self::$_sclient->SaveProduct(self::$_parameters);
        $data = json_decode(json_encode($data));
        if($data ['result']['status'] != "success")
            return array("status" => "danger" , "data" => $data ['result']['errorMessage']);

        // Ürün eklenirse status durumu success dönecektir ayrıca $data[product] içerisinde eklenmiş ürün bilgileri dönecektir.
    }
}

Ürün ekleme işlemi bukadar. Dikkat etmeniz gereken noktalardan biride N11 üzerindeki arama işlemlerinde Ürünlere vermiş olduğunuz title alanları etkili olmaktadır. Oyüzden bu alanları olabildiğince müşteri odaklı yazmanız gerekmektedir.

Ürün Ekleme işlemi öncesi gerekli alanları almayı unutmayınız. Daha sonra ürün fiyat güncelleme , stok güncelleme , kayıtlı ürünleri listeleme gibi servisleri inceleyeceğiz.

Teşekkürler.