Описание методов 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 необходимо сделать 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 с описанием ошибки.
Параметр pages будет содержать количество страниц. Актуально для метода getCatalogItems()
$.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() – возвращает список дистрибьюторов в сервисе 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() – возвращает структуру каталога по заданному 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() – возвращает все элементы родительского каталога по его ID (учитываются только непосредственно родительский каталог, т.е. если для структуры Каталог1/Каталог2/Товар1 запросить getCatalogItems(«Каталог1») – ответ будет пустым!).
Входные данные:
catalogID (обязательный) – код каталога в сервисе VBAZU
page (необязательный) - лимит возвращаемых товаров за запрос 300 товаров. Если количество товаров больше лимита - параметр принимает целое число. Общее количество страниц указано в выходных данных в параметре pages. Параметр pages возвращается на уровне параметров status и data
showProviderProductName (необязательный, для использования значение=«1») - выводить наименование товара дистрибьютора (производительность запроса с использованием этого параметра снизится)
Выходные данные:
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",
"length": "20",
"width": "5",
"height": "5",
"length_class": "см",
"weight": "0.2",
"weight_class": "кг" ,
"volume": "500",
"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",
"length": "20",
"width": "5",
"height": "5",
"length_class": "см",
"weight": "0.2",
"weight_class": "кг" ,
"volume": "500",
"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() – возвращает все элементы из переданного массива кодов.
Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=300).
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=300).
showProviderProductName (необязательный, значение по умолчанию=«0») – если значение=1, выводятся наименования товара по каждому дистрибьютору из списка (Внимание! Производительность запроса с использованием этого параметра снизится.)
Выходные данные:
id – код товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
length – длина
width – ширина
height – высота
length_class – единица измерения длины/ширины/высоты
weight – вес
weight_class – единица измерения веса
volume – объем
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",
"length": "20",
"width": "5",
"height": "5",
"length_class": "см",
"weight": "0.2",
"weight_class": "кг",
"volume": "500",
"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() – возвращает одиночный товар по ID или партномеру.
Входные данные:
itemID (обязательный, если не задан параметр «partNumber») – ID товара,
partNumber (обязательный, если не задан параметр «itemID») – партномер (артикул производителя),
refreshData (необязательный, по умолчанию – «пусто») – флаг предварительного обновления данных по товару; значение «1» - обновлять предварительно данные.
Выходные данные:
id – код товара
name – наименование товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
length – длина
width – ширина
height – высота
length_class – единица измерения длины/ширины/высоты
weight – вес
weight_class – единица измерения веса
volume – объем
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",
"length": "20",
"width": "5",
"height": "5",
"length_class": "см",
"weight": "0.2",
"weight_class": "кг" ,
"volume": "500",
"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() – возвращает полную информацию по одиночному товару по ID или партномеру.
Входные данные:
itemID (обязательный, если не задан параметр «partNumber») – ID товара,
partNumber (обязательный, если не задан параметр «itemID») – партномер (артикул производителя),
refreshData (необязательный, по умолчанию – «пусто») – флаг предварительного обновления данных по товару; значение «1» - обновлять предварительно данные,
providerID (необязательный, по умолчанию – «пусто») – код дистрибьютора в сервисе VBAZU. Если указан – в ответе указаны ссылки на изображения и характеристики только по данному дистрибьютору.
Выходные данные:
id – код товара
name – наименование товара
parentID – код родительского каталога
partNumber – партномер (артикул)
brand – производитель
length – длина
width – ширина
height – высота
length_class – единица измерения длины/ширины/высоты
weight – вес
weight_class – единица измерения веса
volume – объем
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() – возвращает ссылки на изображения товаров для всех элементов из переданного массива кодов.
Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=300);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=300);
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() – возвращает ссылки на сертификаты товаров для всех элементов из переданного массива кодов.
Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=300);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=300).
Выходные данные:
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() – возвращает характеристики товаров для всех элементов из переданного массива кодов.
Входные данные:
arrayItemsID (обязательный, если не задан параметр «arrayItemsPartNumbers») – массив ID товаров (max=300);
arrayItemsPartNumbers (обязательный, если не задан параметр «arrayItemsID») – массив партномеров (артикулов производителя) товаров (max=300);
providerID (необязательный, по умолчанию – «пусто») – код дистрибьютора в сервисе VBAZU. Если указан – в ответе содержатся характеристики товара только по данному дистрибьютору.
Выходные данные:
id – код товара
properties – массив характеристик товара
- propertyID – код характеристики товара
- propertyName – наименование характеристики
- propertyValue – значение характеристики