API для продаж ЖБИ
Предоставляем торгующим ЖБИ организациям возможность бесплатно получать и отправлять данные, используя наш API-сервис. Получать актуальную информацию о наших типовых изделиях (цены, складские остатки), а также отправлять данные о заказах, которые будут обработаны в приоритетном порядке. Этот функционал может интегрироваться в ваше программное обеспечение, сайты и расширить номенклатуру для торговой деятельности. Присутствует система индивидуального дисконтирования цен на продукцию в заказах, отправленных через API.
Что нужно для подключения?
- Прислать заявку в произвольной форме, приложив «Свидетельство о постановке на налоговый учет юридического лица», на почту info@bzsk68.ru
- Рассмотрев вашу заявку:
- Высылаем уникальный ключ (API-ключ) разработчика
- Присваиваем начальную индивидуальную скидку
Ответственность
- Разработчик несет ответственность за сохранность API-ключа и за все, что будет сделано на сервисе с помощью API-ключа
- Разработчик, передавая свой API-ключ третьим лицам, несет ответственность за все действия таких третьих лиц, как за свои собственные
- На данные, переданные через API, распространяется политика конфиденциальности
Описание API
Получение данных о продукции
- GET-запрос осуществляется по адресу: https://bzsk68.ru/api/price/?key=secret_key
- Ответ на запрос будет отправлен в формате JSON
Пример GET-запроса
<?php
try {
$options=[
'http' => ['timeout' => 3],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
];
$context = stream_context_create($options);
$raw_data=file_get_contents("https://bzsk68.ru/api/price/?key=secret_key",0,$context);
$data=json_decode($raw_data,true);
if(empty($data)) {
echo 'Данные не получены, возможно, следует увеличить параметр timeout';
die();
}
if ($data['status'] == "ok") {
echo '<h4>ИНН вашей организации: '.$data['firm_inn'].'</h4>';
echo 'Ваша скидка: '.$data['discount'].'%';
echo '<br><br>';
foreach($data as $category=>$value) {
if ($category != "status" && $category != "firm_inn" && $category != "discount") {
echo '<strong>Категория: '.$category.' ('.(count($value)-1).' поз.)</strong>';
echo '<br><br>';
foreach ($value as $k=>$v) {
echo ($k>0 ? $k.'. ':'');
foreach($v as $item_data=>$val) {
switch($item_data) {
case "item_name": echo 'Наименоваие: '.$val; break;
case "item_length": echo 'Длина (мм): '.$val; break;
case "item_width": echo 'Ширина (мм): '.$val; break;
case "item_height": echo 'Высота (мм): '.$val; break;
case "item_weight": echo 'Вес (кг): '.$val; break;
case "item_cost": echo 'Цена с НДС (без учета скидки, руб/шт): '.$val; break;
case "item_rest": echo 'Остаток на складе производителя (шт): '.$val; break;
case "item_id": echo 'Уникальный ID: '.$val; break;
case "standart": echo 'Стандарт: '.$val; break;
}
echo '<br>';
}
echo '<br>';
}
}
}
}
if ($data['status'] == "limit_reached") {
echo 'Достигнут лимит обращений. Он восстановится в начале следующих суток';
}
if ($data['status'] == "srv_error") {
echo 'Критическая ошибка сервера';
}
if ($data['status'] == "not_allowed") {
echo 'Вам не разрешено обращаться к API';
}
}
catch (Exception $e) {
echo 'Произошло исключение: '.$e->getMessage();
}
?>
Результат
ИНН вашей организации: 9876543210 Ваша скидка: 15% Категория: Балки (138 поз.) Стандарт: ГОСТ 20372-2015 1. Наименоваие: Балка Б-3 L=527 мм Длина (мм): 527 Ширина (мм): 350 Высота (мм): 450 Вес (кг): 200 Цена с НДС (без учета скидки, руб/шт): 0 Остаток на складе производителя (шт): 0 Уникальный ID: 44323e1e-1104-11ee-a474-**** 2. Наименоваие: Фундаментная балка БФм1-20 Длина (мм): 960 Ширина (мм): 400 Высота (мм): 400 Вес (кг): 400 Цена с НДС (без учета скидки, руб/шт): 0 Остаток на складе производителя (шт): 0 Уникальный ID: cc099114-667a-11ed-af7a-****
Отправка данных о заказе
- POST-запрос осуществляется по адресу: https://bzsk68.ru/api/order/
- Ответ на запрос будет отправлен в формате JSON
Пример POST-запроса
<?php
try {
$url = "https://bzsk68.ru/api/order/";
$var=array("order"=>array(
"key"=>"secret_key",
"email"=>"mail@domain.ru", // email, на который будет отправлено КП отдела продаж БЗСК
"order_data"=>array(
"44323e1e-1104-11ee-a474-****"=>2, // Уникальный ID продукции, его нельзя видоизменять
"cc099114-667a-11ed-af7a-****"=>3), // Формат: ID=>количество продукции для заказа (от 1 до 9999)
"comment"=>"комментарий к заказу, например, рассчитать доставку до адреса" // до 5000 символов
));
$content = json_encode($var);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json;charset=utf-8"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 200 ) {
die("Ошибка: обращение к URL $url завершено с ошибкой: $status. curl_error: " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}
curl_close($curl);
$response = json_decode($json_response, true);
if ($response['status']=="ok") {
echo "Успешно завершено. Номер заказа = ".$response['order_num'];
}
if ($response['status']=="not_allowed") {
echo "Вам не разрешено обращаться к API";
}
if ($response['status']=="srv_error") {
echo "Критическая ошибка сервера";
}
if ($response['status']=="id_error") {
echo "ID продукции не найден";
}
if ($response['status']=="num_error") {
echo "Количество продукции содержит ошибку";
}
}
catch (Exception $e) {
echo "Произошло исключение: ".$e->getMessage();
}
?>
Скачать файлы (.php) всех примеров