Php ile N11 Api Entegrasyonu – Stok Güncelleme

Merhaba;

Bu yazımızda php ile N11 üzerinden stok güncelleme işlemlerini inceleyelim. Stok güncelleme işlemlerinde N11 üzerindeki stokları ezmemek adına version gibi bir bölüm tutmaktadır, açıkcası ben bunu kullanmıyorum. Ürünlerimizin stoklarını N11 merkezli değil muhasebe programınız yada kendi eticaret siteniz üzerindeki ana veritabanınız merkezli kurguladığınızı varsayalım. N11 üzerindeki ürünlerimizin stoklarını güncellemek oldukça basit bir işlem. Mağaza ürün kodu ile stok güncelleme işlemini beraber inceleyelim.

UpdateStockByStockSellerCode ile Ürün Stok Güncelleme

<?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);
    }
  //Stok Güncelleme
  public function updateStock($product)
  {
    $set['stockItem'] = array(
                "sellerStockCode" => trim("n11 tarafındaki ürün modeliniz $product['model']"),
                "quantity" => "Adet Bilgisi int $product['quantity']",
                "version" => '',
            );
    $this->setUrl('https://api.n11.com/ws/ProductStockService.wsdl');
    self::$_parameters['stockItems'] = $set;
    $data = self::$_sclient->UpdateStockByStockSellerCode(self::$_parameters);
    $data = json_decode(json_encode($data));
     if($data['result']['status'] != "success" || !$data['result']['status'])
            return $data['result']['errorMessage'];
     
    /* Ben burada kendi veritabanımdaki entegrasyon ürünlerime son gönderdiğim stok adedini güncelliyorum. Bazen toplu güncelleme işlemi yaparken stok adedi değişmiş olanları kontrol edip sadece onları güncelliyorum */
  }
}
?>

Stok güncelleme işlemleri bukadar. Eğer toplu güncelleme işlemi yapacaksınız bahsettiğim gibi sisteminizi yormamak adına son gönderdiğiniz stokları ayrı bir tabloda tutabilirsiniz. Böylece sadece değişikliğe uğramış olan stokları güncellemiş olursunuz.

Tabi aynı durum Fiyat ve İndirim güncelleme içinde gerekli olabilir.

Teşekkürler