Страница, где вводится запрос: http://
Страница, куда выводится результат: http:///page1.html
Партнерское API сайта b2b.
API представляет собой веб-версис, принимающий в качестве параметров GET и POST запросы и возвращающий данные в JSON формате
API доступно по адресу https://b2b. /apiv2
Каждый запрос к API должны содержать обязательные параметры:
- client - уникальный идентификатор клиента mod - вид запроса (допустимые варианты - account/rests/cart/orders)
Каждый ответ API содержит массив, где:
- answer_code - статус, соответствующий коду состояния http error_text (если при выполнении запроса произошла ошибка) - текст ошибки
Для того, чтобы получить ответ в удобном для прочтения виде (вместо JSON), добавьте в запрос параметр debug
Другие параметры запросов и ответов:
Модуль "Аккаунт"
Запрос
GET | POST
params:
mod=account
client={ APIID клиента}
Ответ
массив с ключем account, в котором содержится информация об аккаунте
[account] => Array
(
[name] => Имя
[username] => Логин
[client_debd] => Задолженность
)
Примеры
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201i3&mod=account
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201i3&mod=account&debug
Модуль "Остатки"
Получение остатков происходи в два этапа. Первый шаг Сначала необходимо вытащить бренды, для этого отправте запрос Вывод брендов по артикулу, после чего получите списко брендов для этого артикула. Второй шаг сделайте запрос с выбранным выше брендом и артикулом, таким образом получите остатки по паре бренд|артикул.
Вывод брендов по артикулу
Запрос
GET | POST
params:
mod=rests
client={ APIID клиента} !обязательный параметр
article={артикул товара} !обязательный параметр
Ответ
массив с ключем brands, в котором содержатся бренды с такми артикулом
{
"brands": {
"items": {
"DENSO|IK20": {
"detailid": "id детали",
"formattedoem": "Артикула товара неотчищенный",
"manufacturer": "Производитель",
"manufacturerid": "id производителя",
"name": "Название продукта",
"oem": "Артикула товара отчищенный",
"weight": "Вес",
"instock": "Если true то товар находиться на складах компании"
}
}
},
"answer_code": 200
}
Примеры
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201i3&mod=rests&article=PH2820
Запрос остатоков по бренду и артикулу
Запрос
GET | POST
params:
mod=rests
client={ APIID клиента} !обязательный параметр
article={артикул товара} !обязательный параметр
brand={название брэнда } !обязательный параметр
location= расположение товара
all - на вcех складах (по умолчанию)
local - на складах компании
partners - на складах партнеров
Ответ
массив с ключем rests, в котором содержатся остатки товара с запрошенным кодом
{
"rests": {
"items": {
"DENSO|IK20": {
"detailid": "id детали",
"formattedoem": "Артикула товара неотчищенный",
"manufacturer": "Производитель",
"manufacturerid": "id производителя",
"name": "Название продукта",
"oem": "Артикула товара отчищенный",
"weight": "Вес",
"instock": "Если true то товар находиться на складах компании"
"replacements": { "Замены для этого артикула"
"NGK|3764": {
"detailid": "1146571",
"formattedoem": "3764",
"manufacturer": "NGK",
"manufacturerid": "15",
"oem": "3764",
"weight": 0,
"rate": 4,
"name": "BKR6EIX-11_свеча зажигания! Honda Civic, Mazda 323, Mitsubishi Galant 1.3-2.0i 89>",
"stocks": [ "Остатки замены для этого артикула"
{
"detailid": "79b40025-9d4b-11e3-bef3-00155d647f5f",
"name": "Свеча зажигания BKR6EIX-11",
"moq": "Минимальное количество штук к заказу",
"quantity": "Качество доставки в %. от 0 до 100.",
"delivery_max": "Дней на доставку",
"quality": "Количество товаров",
"store_name": "Название склада",
"store_id": "id склада",
"price": "Цена",
"brand": "NGK",
"delivery_min_date": "2017-02-03",
"delivery_max_date": "2017-02-03",
"delivery_price": "Цена доставки",
"discount": "Скидка"
}
]
}
},
"stocks": [
{
"detailid": "69a0372a-eb26-11dd-bb07-00196616d816",
"name": "5304 / IK20 Denso свечи зажигания",
"moq": "1",
"quantity": 30,
"delivery_max": 1,
"quality": 5,
"store_name": "Склад Астана Автозапчасти",
"store_id": "627da9b8-2a18-11e2-ada7-3c4a92fa410c",
"price": 2458,
"brand": "DENSO",
"delivery_min_date": "2017-02-03",
"delivery_max_date": "2017-02-03",
"delivery_price": 0,
"discount": 0
}
]
}
}
},
"answer_code": 200
}
Примеры
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201i3&mod=rests&code=IM1756514W&with_remotestores=1
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201i3&mod=rests&code=IM1756514W&with_remotestores=1&debug
Модуль "Группы товаров"
Запрос
GET | POST
params:
mod=product_types
client={ APIID клиента}
Ответ
массив с ключем product_types, в котором содержится информация о группах товаров и их свойствах
[product_types] => Array
(
[[items][x][id]] => Идентификатор группы товаров
[[items][x][title]] => Название группы товаров
[[items][x][parent]] => Идентификатор родительской группы товаров
[[items][x][ptype]] => Код группы товаров
[[items][x][fields]] => Параметры группы товаров
[[items][x][fields][y][name]] => Имя параметра
[[items][x][fields][y][description]] => Заголовок параметра
)
Примеры
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201c3&mod=ptypes
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201c3&mod=ptypes&help&debug
Модуль "Каталог"
Запрос
GET | POST
params:
mod=group
client={ APIID клиента}!обязательный параметр
ptype={код группы товаров} !обязательный параметр
with_remotestores={1/0} - показывать ли товары партнеров
count - количество возвращаемых товаров (если не установлено, то возвращаются все товары)
page - номер страницы (если установлен параметр count)
filter - массив параметров для фильтрации результатов запроса, уникальный для каждой группы товаров (подробнее в [params][enableFilters])
sort - способ сортировки списка (подробнее в [params][sortParams])
with_params={1/0} - возвращать ли параметры выборки и свойства товаров
Ответ
- массив с ключем rests, в котором будут находиться остатки массив с ключем rests_fields с описанием ключей массива rests массив с ключем pagination с информацией о количестве записей и параметрах навигации (актуально, если задан параметр count)
Если параметр запроса with_params=1, в ответ будут включен массив params с ключами:
- list - свойства товаров (в зависимости от группы товаров) fields - значения ключей свойств товаров active_sort - активный вид сортировки (можно задать в параметре sort) sortParams - возможные виды сортировки enableFilters - возможные фильтры и их значения enableFilters_fields - описание ключей массива enableFilters currentFiltersValues - активные (переданные в запросе и примененные) фильтры
[products] => Array
(
[[items][x][id]] => Идентификатор товара
[[items][x][description]] => Описание параметров товара
[[items][x][description][prod_{ptype}_*]] => Специфические для группы товаров параметры
[[items][x][description][prod_s_number]] => Артикул товара
[[items][x][description][prod_name]] => Наименование товара
[[items][x][description][image]] => ссылка на изображение товара
[[items][x][description][cnt]] => совокупное количество остатков товара
[[items][x][rests]] => Информация об остатках товара
[[items][x][rests][y][store_id]] => Идентификатор склада
[[items][x][rests][y][stock_amount]] => Количество остатков
[[items][x][rests][y][price_value]] => Цена
[[items][x][rests][y][store_name]] => Название склада
[[items][x][rests][y][store_delivery_time]] => Срок доставки до склада
[[items][x][rests][y][delivery_time]] => Срок доставки
[[items][x][rests][y][DDPercent]] => Вероятность наличия (в %)
)
[pagination] => Array
(
[cur] => Текущая страница
[all] => Общее количество страниц
[onpage] => Количество товаров на странице
[records] => Общее количество товаров, найденных по запросу
[sort] => Способ сортировки (см. [cases][request_fields][group][sort])
)
[filters] => Array
(
[[items][x][field]] => Фильтр
[[items][x][variants]] => Варианты фильтра
[[items][x][variants][y][value]] => Значение фильтра
[[items][x][variants][y][activ]] => Флаг активности фильтра
[[items][x][variants][y][*activ]] => Array
(
[1] => Значение активно (может быть использовано для дальнейшей фильтрации найденных товаров)
[0] => Значение не активно (не может быть использовано)
)
[[items][x][title]] => Заголовок фильтра
[[items][x][value]] => Выбранное (использованное при текущем запросе) значение фильтра
)
Примеры
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201c3&mod=ptypes
https://b2b. /apiv2?client=f98282abe6f80739b9f16baec15201c3&mod=ptypes&help&debug
Пример подключения для PHP через CURL
<?php
//функция возврата данных по get-запросу (по URL)
function get_url($url)
{
//инифиализация CURL
$ch = curl_init();
//параметры curl
$options = [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1,
];
curl_setopt_array($ch, $options);
//запрос данных
$res = curl_exec($ch);
curl_close($ch);
//возврат результата в виде массива
return json_decode($res, true);
}
//формирование запроса
$base_url = 'https://https://b2b. /apiv2?';
$http_qr = [
'client' => 'f98282abe6f80739b9f16baec15201i3',
'mod' => 'rests',
'code' => 'ik20',
'with_remotestores' => '1',
];
$url = $base_url. http_build_query($http_qr);
//получение данных
$data = get_url($url);
//вывод данных (обработка)
echo '<pre>';
print_r($data);
echo '</pre>';
?>
Второй сервис: http://zaptrade. ru/webservices/


