Инструкция по работе с API


API предназначен для обеспечения взаимодействия B2B со сторонними сайтами или приложениями клиентов нашей компании


Описание API (Application Programming Interface)


API предназначен для обеспечения взаимодействия B2B со сторонними сайтами или приложениями клиентов нашей компании. Аутентификация осуществляется по уникальному API-ключу (TOKEN).
Покупатель выступает в роли клиента, отправляет HTTP-запросы на сервер API. Возможно использование методов GET, POST в HTTP-запросе. Данные передаются в кодировке UTF-8. В ответ на HTTP-запрос сервер отправляет HTTP-ответ клиенту в JSON-формате.

На этой странице описаны способы использования API. Информация предназначена для разработчиков. Все возникающие вопросы по работе с API можно направлять по адресу: tronics@mail.ru


Адрес API

http://b2bel.net/api


Получение ключа (TOKEN)

Адрес: http://b2bel.net/api
Для получения уникального цифрового ключа необходимо отправить POST-запрос c параметрами "login" (логин) и "password" (пароль)
на адрес http://b2bel.net/api/get_token/

login = Ваш логин
password = Ваш пароль

Формат ответа в JSON:

{"result":{"token":"f20c4d90ea0fe328f7d6b9126ae04f32"}}

Описание ключа:
token - Персональный электронный ключ

* Логин и пароль идентичны тем, которые используются для доступа в B2B. Ключ (TOKEN) меняется каждые сутки!


Получение остатков товаров

Адрес: http://b2bel.net/api/{TOKEN}/get/goods/
Пример GET-запроса: http://b2bel.net/api/f20c4d90ea0fe328f7d6b9126ae04f32/get/goods/

Формат ответа в JSON:

{"result":{"goods":{"891223":{"group_code":"915632","group":"Пылесосы","name":"Пылесос BOSCH","producer":"BOSCH","model":"68564","warrancy":"12","quantity":"1","USD":"240.00","BYR_BN":"538","BYR_limit":"550"}}}}

Описание ключей:
891223 - Код товара
group_code - Код группы
group - Наименование группы
name - Наименование товара
producer - Производитель
model - Модель
warrancy - Гарантия
quantity - Количество (остаток) товара. Может принимать значения: от 1 до 4, ++ (достаточно), +++ (много), Р (зарезервирован).
USD - Цена в USD
BYR_BN - Цена BYR б/н
BYR_limit - РРЦ


Получение информации о состоянии баланса

Адрес: http://b2bel.net/api/{TOKEN}/get/balance/
Пример GET-запроса: http://b2bel.net/api/f20c4d90ea0fe328f7d6b9126ae04f32/get/balance/

Формат ответа в JSON:

{"result":{"balance":"100"}}

Описание ключа:
balance - Состояние баланса. Сумма в USD.


Создание запроса резерва товара

Адрес: http://b2bel.net/api/{TOKEN}/send/reserve/

Пример POST-запроса:
Для создания запроса резерва, необходимо передать методом POST параметр "json" на адрес: http://b2bel.net/api/{TOKEN}/send/reserve/

Пример параметра "json": {"2":{"10001":{"805974":1,"801725":2}}}

Описание ключей:
2 - Вид резерва
10001 - Ваш служебный номер документа. В дальнейшем используется для получении информации о состоянии резерва.
805974 - Код запрашиваемого товара
1 - Количество запрашиваемого товара
801725 - Код запрашиваемого товара
2 - Количество запрашиваемого товара

Формат ответа в JSON:

{"result":"ok"} иначе

* В данном примере отправляется запрос на резервирование двух наименований товара с количеством 1 и 2


Получение информации о резерве товара

Адрес: http://b2bel.net/api/{TOKEN}/get/reserve/

Пример POST-запроса:
Для получения информации о резерве, необходимо передать методом POST параметр "number" (Ваш служебный номер документа)
на адрес: http://b2bel.net/api/{TOKEN}/get/reserve/

Формат ответа в JSON:

{"result":{"10001: в обработке":{"1":{"code":"870977","group":"Новогодние гирлянды","name":"Гирлянда Gauss Шарики 50 светодиодов 5m AC220-240V PH716013703 Red","price":"15.00","quantity":"1","total":"15.00"}}}}

Описание ключей:
10001 - Ваш служебный номер документа
1 - Вид резерва
code - Код товара
group - Наименование группы товаров
name - Наименование товара
price - Цена товара
quantity - Количество товара
total - Сумма


Примеры использования

PHP:

function getUrl($url, $method='', $vars='') {
$ch = curl_init();
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}


$loginFields = array('login'=>'ВАШ_ЛОГИН', 'password'=>'ВАШ_ПАРОЛЬ');


//Получение ключа
$url = 'http://b2bel.net/api/get_token/';
$JSON = getUrl($url, 'post', $loginFields);
$token_array=json_decode($JSON,true);
$result=$token_array['result']['token'];


//Получение информации о балансе
$url = 'http://b2bel.net/api/'.$token.'/get/balance/';
$JSON = getUrl($url);
$balance_array=json_decode($JSON,true);
$result=$balance_array['result']['balance'];


//Получение остатков товаров
$url = 'http://b2bel.net/api/'.$token.'/get/goods/';
$result = getUrl($url);


//Создание запроса резерва товара
$reserve_number='10001';
$type='1';
$code='801726';
$quantity=1;
$reserve[$type][$reserve_number][$code]=$quantity;
$code='801725';
$quantity=2;
$reserve[$type][$reserve_number][$code]=$quantity;
$JSON=json_encode($reserve);
$url = 'http://b2bel.net/api/'.$token.'/send/reserve/';
$result = getUrl($url, 'post', array('json'=>$JSON));


//Получение информации о резерве товара
$reserve_number='10001';
$url = 'http://b2bel.net/api/'.$token.'/get/reserve/';
$result = getUrl($url, 'post', array('number'=>$reserve_number));