Alya Medya

Sanal Pazar Api Entegrasyonu PHP

Sanal Pazar Api Entegrasyonu PHP

Daha önce N11 için SAOP kulanarak ürünlerimizi nasıl göndereceğimizi, siparişleri nasıl listeleyebileceğimizi vb. anlatmıştık ve çok ilgi görmüştü. Şimdi Sanal Pazar için  aynı şekilde bir paylaşım hazırladım umarım işinize yarar.

Sanal Pazar Api Entegrasyonu PHP Sınıfımız:

<?php

class SP {

    protected static $_username, $_password, $_parameters, $_sclient, $_token;

    public function __construct(array $attributes = array()) {
        self::$_username = $attributes[0];
        self::$_password = $attributes[1];
    }

    public static function setUrl($url) {
        self::$_sclient = new \SoapClient($url);
        self::$_token = self::$_sclient->login(self::$_username, self::$_password);
    }

    public static function getNewCategoryList($parent_id) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getCategoryList(self::$_token,$parent_id));
    }
    
    public static function getStoreCategoryList() {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getStoreCategoryList(self::$_token));
    }
    
    public static function getCategoryAttributeSetList($cId) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getCategoryAttributeSetList(self::$_token, $cId));
    }
    public static function getCategoryVariantSetList($cId) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getCategoryVariantSetList(self::$_token, $cId));
    }
    public static function getOrderList($start_date,$end_date,$status) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getOrderList(self::$_token,$start_date,$end_date,$status));
    }
    public static function getOrderDetails($sc) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getOrderDetails(self::$_token,$sc));
    }
     public static function getOrderStatus($sc) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getOrderStatus(self::$_token,$sc));
    }
    public static function getCargoFirmList() {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getCargoFirmList(self::$_token));
    }
    public static function updateCargoCode() {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateCargoCode(self::$_token));
    }
    public static function addProduct($product_data) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->addProduct(self::$_token,$product_data));
    }
    public static function updateProductCategory($urunid,$kategoriid) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProductCategory(self::$_token,$urunid,$kategoriid));
    }
     public static function updateProductPrice($urunid,$fiyat) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProductPrice(self::$_token,$urunid,$fiyat));
    }
    public static function updateProductQty($urunid,$stok) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProductQty(self::$_token,$urunid,$stok));
    }
    public static function updateProductShippingDay($urunid,$kargogun) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProductShippingDay(self::$_token,$urunid,$kargogun));
    }
    public static function updateProductShippingPayType($urunid,$kargotipi) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProductShippingPayType(self::$_token,$urunid,$kargotipi));
    }
    public static function updateProduct($urunid,$duzenlenenurun) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->updateProduct(self::$_token,$urunid,$duzenlenenurun));
    }
    public static function closeProduct($urunid) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->closeProduct(self::$_token,$urunid));
    }
    public static function deleteProduct($urunid) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->deleteProduct(self::$_token,$urunid));
    }
    public static function getProductList($start,$end) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getProductList(self::$_token,$start,$end));
    }
    public static function getProductDetails($urunid) {
        self::setUrl('http://www.sanalpazar.com/webservice/sp.wsdl');
        return json_decode(self::$_sclient->getProductDetails(self::$_token,$urunid));
    }
}

Bir kaç örnekle kullanımından bahsedelim.

Sanal Pazar Ürünlerimizi Nasıl Listeleriz?

$sp = new SP(['XXXXXX', 'XXXXXX']);
$urunListesi = $sp::getProductList(0, 100);
print_r($urunListesi);

Sanal Pazar Siparişleri Listeleme

$sp = new SP(['XXXXXX', 'XXXXXX']);
$siparisListesi = $sp::getOrderList('2016-04-10 00:00:00','2016-04-16 00:00:00','KARGO_GONDERIMI_BEKLENIYOR');
print_r($siparisListesi);

Sanal Pazar Sipariş Detayını Çekme

$sp = new SP(['XXXXXX', 'XXXXXX']);
$SiparisDetayi = $sp::getOrderDetails(1231231);
print_r($SiparisDetayi);

Sanal Pazar’a Ürün Kaydetme

$sp = new SP(['XXXXXX', 'XXXXXX']);
$productData = [
                    "sku_product_code" => 'AM2354345',
                    "name" => 'ÜRÜNÜN BAŞLIĞI',
                    "subtitle" => 'ÜRÜNÜN ALT BAŞLIĞI',
                    "description" => 'ÜRÜNÜN AÇIKLAMASI',
                    "quantity" => '1',
                    "price" => '200',
                    "sanalpazar_category_new_code" => 'KATEGORİ KODU',
                    "sanalpazar_store_category_code" => 'MAĞAZA KATEGORİ KODU'
                ];
                $images = ['img1.jpg', 'img2.jpg', 'img3.jpg'];
                $i = 1;
                foreach ($images as $img) {
                    if ($img != '') {
                        $productData['image' . $i] = 'https://www.alyamedya.com/' . $img;
                    }
                    $i ++;
                }
                $productData["cargo_firm_code"] = "2,6";
                $productData["cargo_shipping_day"] = "3";
                $productData["cargo_shipping_pay_type"] = 'SATICI';
                $productData["min_sale_quantity"] = '';
                $productData["max_sale_quantity"] = '';
                $productData["use_bold_name"] = "1";
                $productData["duration"] = "30";
                $productData["city"] = "ANKARA";
                $productData = json_encode($productData);
                $saveProduct = $sp::addProduct($productData);

Eğer daha önce yazmış olduğum N11 ile ilgili yazıma ulaşmak isterseniz buradan bakabilirsiniz.