Описание методов API

Пример запроса:
 $.ajax({
        url: 'https://vbazu.com/index.php?route=account/api',
        type:'GET',
        dataType: 'JSON',
        success: function(data){
            console.log(data);
        }
 });
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api';
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
    "status":"success",
    "data":{
        "text":"Соединение установлено. Доступ открыт!"
    }
}

 

Пример ответа на ошибочный запрос
{
    "status":"warning",
    "data":{
        "text":" Ошибка авторизации. Ваш IP отсутствует в базе."
    }
}
Описание методов API сервиса VBAZU

Для подключения к API необходимо сделать HTTP запрос (POST или GET) или в формате JSON по адресу:

https://vbazu.com/index.php?route=account/api
(по данному адресу можно проверить доступ к API для Вашего аккаунта)

Указав через слеш метод получения данных, после account/api, к примеру получение списка дистрибьюторов:

https://vbazu.com/index.php?route=account/api/getProviders

Для каждого метода будут описаны примеры.

 

В случае ошибок при запросе параметр status примет значения error или warning

Параметр data будет содержать параметр text с описанием ошибки.

Пример запроса:
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getProviders',
    type:'GET',
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getProviders';
    $curl = curl_init($api_link);   
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
    "status": "success",
    "data": {
        "provider_1": {
            "id": "1",
            "name": "Merlion"
        },      
        "provider_n": {
            "id": "n",
            "name": "Name"
        }
    }
}
Метод getProviders()

getProviders() – возвращает список дистрибьюторов в сервисе VBAZU.

Выходные данные:

id – код дистрибьютора

name – наименование дистрибьютора

Пример запроса:
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getCatalog',
    type:'POST',
    data: {providerID: 1},
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getCatalog';
    $request_data = array(
        'providerID' => 1
    );
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
    "status": "success",
    "data": {
        "category_1": {
            "id": "3096",
            "name": "Автомобильная техника и электроника",
            "parentID": "0"
        },
        ...
        "category_n": {
            "id": "id",
            "name": "name",
            "parentID": "0"
        }
    }
}
Метод getCatalog()

getCatalog() – возвращает структуру каталога по заданному ID дистрибьютора.

Входные данные:
providerID (обязательный) – код дистрибьютора в сервисе VBAZU

Выходные данные:
id – код каталога
name наименование каталога
parentID – код родительского каталога

Пример запроса:
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getCatalogItems',
    type:'POST',
    data: {catalogID: 2686},
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getCatalogItems';
    $request_data = array(
        'catalogID' => 2686
    );
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "39760",
      "name": "Микрофон bbk cm110 черный 2.5м",
      "parentID": 2686,
      "partNumber": "(ACM) МИКРОФОН BBK CM110 ЧЕР",
      "brand": "BBK",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "Merlion",
          "qty": 35,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 131.9,
          "priceRRP": 0,
          "priceDate": "18.08.2018 15:22"
        }
      }
    },
    ...
    "item_n": {
      "id": "ID",
      "name": "Name",
      "parentID": 2686,
      "partNumber": "",
      "brand": "brand",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "provider",
          "qty": 56,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 161.9,
          "priceRRP": 0,
          "priceDate": "18.08.2018 00:45"
        }
      }
    }
  }
}
Метод getCatalogItems()

getCatalogItems() – возвращает все элементы родительского каталога по его ID (учитываются только непосредственно родительский каталог, т.е. если для структуры Каталог1/Каталог2/Товар1 запросить getCatalogItems(«Каталог1») – ответ будет пустым!).

Входные данные:
catalogID (обязательный) – код каталога в сервисе VBAZU

Выходные данные:
id – код товара
name – наименование товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
values – массив остатков и цен
 - providerID – код дистрибьютора в сервисе VBAZU
 - providerName – наименование дистрибьютора в сервисе VBAZU
 - providerProductName – наименование товара дистрибьютора
 - qty – количество товара на основном складе
 - qtyTransit – количество товара в транзите
 - qtyRemote – количество на удаленном складе
 - price – цена закупочная
 - priceRRP – цена рекомендованная розничная
 - priceDate – последняя дата обновления цены формат «ДатаВремя»

Пример запроса:
//    Для запроса по id    
var arrayItems = {"arrayItemsID":["25896", "39758"]};

//    Для запроса по партномеру    
var arrayItems = {"arrayItemsPartNumbers":["EP6600 WHITE", "DM-DV10"]};
    
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItems',
    type:'POST',
    data: arrayItems,
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItems';


//    Для запроса по id    
    $request_data = array(
        'arrayItemsID' => array(
            "25896",
            "39758"
        )
    );


//    Для запроса по партномеру    
    $request_data = array(
        'arrayItemsPartNumbers' => array(
            "EP6600 WHITE",
            "DM-DV10"
        )
    );
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "39768",
      "name": "Микрофон проводной bbk cm215 2.5м синий/розовый",
      "parentID": "2686",
      "partNumber": "",
      "brand": "BBK",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "Merlion",
          "qty": 39,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 251.83,
          "priceRRP": 0,
          "priceDate": "18.08.2018 00:45"
        }
      }
    },
    "item_2": {
      "id": "39762",
      "name": "Микрофон проводной bbk cm215 2.5м черный/серебристый",
      "parentID": "2686",
      "partNumber": "",
      "brand": "BBK",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "Merlion",
          "qty": 53,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 251.83,
          "priceRRP": 0,
          "priceDate": "18.08.2018 00:45"
        }
      }
    }
  }
}
Метод getItems()

getItems() – возвращает все элементы из переданного массива кодов.

Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=500).
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=500).

Выходные данные:
id – код товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
values – массив остатков и цен
 - providerID – код дистрибьютора в сервисе VBAZU
 - providerName – наименование дистрибьютора в сервисе VBAZU
 - providerProductName – наименование товара дистрибьютора
 - qty – количество товара на основном складе
 - qtyTransit – количество товара в транзите
 - qtyRemote – количество на удаленном складе
 - price – цена закупочная
 - priceRRP – цена рекомендованная розничная
 - priceDate – последняя дата обновления цены формат «ДатаВремя»

Пример запроса:
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItem',
    type:'POST',


//    Для запроса по партномеру
//    data: {partNumber:"EP6600 WHITE"},

//    Для запроса с предварительным обновлением данных    
//    data: {itemID: 25896, refreshData:1 },

//    Для запроса по id    
    data: {itemID: 25896},
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItem';  

 
//    Для запроса по id    
    $request_data = array(
        'itemID' => "25896",
    );


//    Для запроса с предварительным обновлением данных
    $request_data = array(
        'itemID' => "25896",
        'refreshData' => "1",
    );


//    Для запроса по партномеру    
    $request_data = array(
        'partNumber' => "EP6600 WHITE",
    );    
    $request_str = http_build_query($request_data);        
    $curl = curl_init($api_link);    
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);        
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "25896",
      "name": "Мобильный аккумулятор hiper powerbank ep6600 li-pol 6600mah 2.1a белый 1xusb",
      "parentID": "2268",
      "partNumber": "EP6600 WHITE",
      "brand": "HIPER",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "Merlion",
          "qty": 0,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 898.4,
          "priceRRP": 0,
          "priceDate": "20.06.2018 04:50"
        },
        "provider_2": {
          "providerID": "3",
          "providerName": "OCS",
          "qty": 62,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 1816.48,
          "priceRRP": 0,
          "priceDate": "19.08.2018 19:32"
        }
      }
    }
  }
}
Метод getItem()

getItem() – возвращает одиночный товар по ID или партномеру.

Входные данные:
itemID (обязательный, если не задан параметр «partNumber») – ID товара,
partNumber (обязательный, если не задан параметр «itemID») – партномер (артикул производителя),
refreshData (необязательный, по умолчанию – «пусто») – флаг предварительного обновления данных по товару; значение «1» - обновлять предварительно данные.

Выходные данные:
id – код товара
name – наименование товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
values – массив остатков и цен
 - providerID – код дистрибьютора в сервисе VBAZU
 - providerName – наименование дистрибьютора в сервисе VBAZU
 - providerProductName – наименование товара дистрибьютора
 - qty – количество товара на основном складе
 - qtyTransit – количество товара в транзите
 - qtyRemote – количество на удаленном складе
 - price – цена закупочная
 - priceRRP – цена рекомендованная розничная
 - priceDate – последняя дата обновления цены формат «ДатаВремя»

Пример запроса:
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItemExtended',
    type:'POST',

//    Для запроса по партномеру
//    data: {partNumber:"EP6600 WHITE"},

//    Для запроса с предварительным обновлением данных и с указанием id поставщика    
//    data: {itemID: 25896, refreshData:1, providerID:1 },

//    Для запроса по id    
    data: {itemID: 25896},
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItemExtended';


//    Для запроса по id    
    $request_data = array(
        'itemID' => "25896",
    );


//    Для запроса с предварительным обновлением данных и с указанием id поставщика
    $request_data = array(
        'itemID' => "25896",
        'refreshData' => "1",
        'providerID' => "1",
    );


//    Для запроса по партномеру    
    $request_data = array(
        'partNumber' => "EP6600 WHITE",
    );    
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);        
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "39766",
      "name": "Микрофон проводной bbk cm114 2.5м белый",
      "parentID": "2686",
      "partNumber": "(ACM) МИКРОФОН BBK CM114 БЕЛ",
      "brand": "BBK",
      "values": {
        "provider_1": {
          "providerID": "1",
          "providerName": "Merlion",
          "qty": 9,
          "qtyTransit": 0,
          "qtyRemote": 0,
          "price": 161.95,
          "priceRRP": 0,
          "priceDate": "19.08.2018 20:40"
        }
      },
      "images": {
        "image_1": "https://vbazu.com/image/catalog/products/e11008/902110_v01_b.jpg"
      },
      "certificates": [],
      "properties": {
        "property_1": {
          "propertyID": "27",
          "propertyName": "Цвет",
          "propertyValue": "белый"
        },        ...
        "property_7": {
          "propertyID": "11",
          "propertyName": "Особенности",
          "propertyValue": "Микрофон CM114 совмещает в себе высокое качество звука, надежность конструкции и удобство в эксплуатации. CM114  можно использовать практически с любой караоке-системой."
        }
      }
    }
  }
}
Метод getItemExtended()

getItemExtended() – возвращает полную информацию по одиночному товару по ID или партномеру.

Входные данные:
itemID (обязательный, если не задан параметр «partNumber») – ID товара,
partNumber (обязательный, если не задан параметр «itemID») – партномер (артикул производителя),
refreshData (необязательный, по умолчанию – «пусто») – флаг предварительного обновления данных по товару; значение «1» - обновлять предварительно данные,
providerID (необязательный, по умолчанию – «пусто») – код дистрибьютора в сервисе VBAZU. Если указан – в ответе указаны ссылки на изображения и характеристики только по данному дистрибьютору.

Выходные данные:
id – код товара
name – наименование товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
values – массив остатков и цен
 - providerID – код дистрибьютора в сервисе VBAZU
 - providerName – наименование дистрибьютора в сервисе VBAZU
 - providerProductName – наименование товара дистрибьютора
 - qty – количество товара на основном складе
 - qtyTransit – количество товара в транзите
 - qtyRemote – количество на удаленном складе
 - price – цена закупочная
 - priceRRP – цена рекомендованная розничная
 - priceDate – последняя дата обновления цены формат «ДатаВремя»
 - images – массив ссылок на изображения товара в сервисе VBAZU
 - certificates – массив ссылок на сертификаты товара в сервисе VBAZU
 - properties – массив характеристик товара
    -- propertyID – код характеристики товара
    -- propertyName – наименование характеристики
    -- propertyValue – значение характеристики

Пример запроса:
//    Для запроса по id    
var arrayItems = {"arrayItemsID":["25896"]};

//    Для запроса  с указанием id поставщика
var arrayItems = {"arrayItemsID":["25896"], 'providerID':1};

//    Для запроса по партномеру    
var arrayItems = {"arrayItemsPartNumbers":["EP6600 WHITE", "DM-DV10"]};
    
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItemsImages',
    type:'POST',
    data: arrayItems,
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItemsImages';

   
//    Для запроса по id    
    $request_data = array(
        'arrayItemsID' => array(
            "25896",
            "39758"
        )
    );

   
//    Для запроса с указанием id поставщика    
    $request_data = array(
        'arrayItemsID' => array(
            "25896",
            "39758"
        ),
        'providerID' => 1        
    );

   
//    Для запроса по партномеру    
    $request_data = array(
        'arrayItemsPartNumbers' => array(
            "EP6600 WHITE",
            "DM-DV10"
        )
    );
    $request_str = http_build_query($request_data);        
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "25896",
      "url": {
        "image_1": "https://vbazu.com/image/catalog/products/n10311/346739_v01_b.jpg"
      }
    }
  }
}
Метод getItemsImages()

getItemsImages() – возвращает ссылки на изображения товаров для всех элементов из переданного массива кодов.

Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=500);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=500);
providerID (необязательный, по умолчанию – «пусто») – код дистрибьютора в сервисе VBAZU. Если указан – возвращаем ссылки на изображения только по данному дистрибьютору.

Выходные данные:
id – код товара
url – массив ссылок на изображения товара в сервисе VBAZU

Пример запроса:
//    Для запроса по id    
var arrayItems = {"arrayItemsID":["61"]};

//    Для запроса по партномеру    
var arrayItems = {"arrayItemsPartNumbers":["BRE610/00"]};
    
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItemsCertificates',
    type:'POST',
    data: arrayItems,
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItemsCertificates';


//    Для запроса по id    
    $request_data = array(
        'arrayItemsID' => array(
            "61"
        )
    );


//    Для запроса по партномеру    
    $request_data = array(
        'arrayItemsPartNumbers' => array(
            "BRE610/00"
        )
    );    
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);        
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "61",
      "url": {
        "certificate_1": "https://vbazu.com/system/storage/upload/cert/d10301/ts-ru-s-cn.mo04.v.01369.pdf"
      }
    }
  }
}
Метод getItemsCertificates()

getItemsCertificates() – возвращает ссылки на сертификаты товаров для всех элементов из переданного массива кодов.

Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=500);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=500).

Выходные данные:
id – код товара
url  -  массив ссылок на сертификаты товара в сервисе VBAZU

 

Пример запроса:
//    Для запроса по id    
var arrayItems = {"arrayItemsID":["25896", "39758"]};

//    Для запроса  с указанием id поставщика
var arrayItems = {"arrayItemsID":["25896", "39758"], 'providerID':1};

//    Для запроса по партномеру    
var arrayItems = {"arrayItemsPartNumbers":["EP6600 WHITE", "DM-DV10"]};
    
$.ajax({
    url: 'https://vbazu.com/index.php?route=account/api/getItemsProperties',
    type:'POST',
    data: arrayItems,
    dataType: 'JSON',
    success: function(data){
        console.log(data);
    }
});
<?php
    $api_link = 'https://vbazu.com/index.php?route=account/api/getItemsProperties';


//    Для запроса по id    
    $request_data = array(
        'arrayItemsID' => array(
            "25896",
            "39758"
        )
    );


//    Для запроса с указанием id поставщика    
    $request_data = array(
        'arrayItemsID' => array(
            "25896",
            "39758"
        ),
        'providerID' => 1        
    );


//    Для запроса по партномеру    
    $request_data = array(
        'arrayItemsPartNumbers' => array(
            "EP6600 WHITE",
            "DM-DV10"
        )
    );
    $request_str = http_build_query($request_data);
    $curl = curl_init($api_link);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request_str);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
Пример ответа:
{
  "status": "success",
  "data": {
    "item_1": {
      "id": "25896",
      "properties": {
        "property_1": {
          "propertyID": "10",
          "propertyName": "Вес",
          "propertyValue": "140"
        },
        ...
        "property_n": {
          "propertyID": "id",
          "propertyName": "Name",
          "propertyValue": "value"
        }
      }
    }
  }
}
Метод getItemsProperties()

getItemsProperties() – возвращает характеристики товаров для всех элементов из переданного массива кодов.

Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=500);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=500);
providerID (необязательный, по умолчанию – «пусто») – код дистрибьютора в сервисе VBAZU. Если указан – в ответе содержатся характеристики товара только по данному дистрибьютору.

Выходные данные:
id – код товара
properties – массив характеристик товара
 - propertyID – код характеристики товара
 - propertyName – наименование характеристики
 - propertyValue – значение характеристики