Автоматизирайте целия процес – от създаването на продукти и наличностите до финализирането на поръчката.
Когато вашият електронен магазин генерира десетки поръчки дневно, ръчното им преписване в складовата програма е немислимо. Но интеграцията отива по-далеч – тя затваря кръга между наличностите в склада и витрината на вашия OpenCart.
Данните за доставка и фактура се прехвърлят автоматично.
Поръчката става продажба само с няколко клика.
(ако не се прави корекция по поръчка)
Ако стоката свърши в склада да не може да се поръча от сайта(ако е активирано в Ел. магазина)
Този процес гарантира, че клиентът няма да поръча нещо, което е свършило във физическия обект. Di-Sklad генерира CSV файл, който магазинът прочита.
set_charset("utf8");
$query = "SELECT item_number, quantity, unit_price FROM dds_di_sklad_items WHERE is_online = 1 AND deleted = 0";
$result = $mysqli->query($query);
$data = "";
while($row = $result->fetch_assoc()) {
$data .= $row['item_number'].",".$row['quantity'].",".$row['unit_price'].",\n";
}
file_put_contents('file.csv', $data);
$mysqli->close();
?>
Тъй като в OpenCart е по-лесно да добавяте снимки и описания, можете да ползвате магазина като „майсторска“ база. Di-Sklad прочита CSV файла от магазина и ако продуктът е нов, го създава автоматично.
set_charset("utf8");
// Вземаме съдържанието от CSV експорта на OpenCart
$handle = fopen("http://url-to-shop.com/csvexport/file.csv", "r");
while(($row = fgetcsv($handle, 1000, "*")) !== FALSE) {
$sku_online = $mysqli->real_escape_string($row[1]);
$name_online = $mysqli->real_escape_string($row[2]);
$price_online = number_format(($row[3] * 1.2), 2, '.', '');
$item_id = $mysqli->real_escape_string($row[4]);
// Проверка дали продуктът вече съществува
$check = $mysqli->query("SELECT item_id FROM dds_di_sklad_items WHERE item_id = '$item_id' AND deleted = 0");
if ($check->num_rows > 0) {
// Продуктът съществува - само обновяваме цена
$mysqli->query("UPDATE dds_di_sklad_items SET unit_price = '$price_online' WHERE item_id = '$item_id'");
} else {
// Продуктът е нов - ВМЪКВАМЕ ГО
$mysqli->query("INSERT INTO `dds_di_sklad_items` (`name`, `unit_price`, `item_number`, `is_online`, `description`)
VALUES ('$name_online', '$price_online', '$sku_online', 1, 'Автоматично добавен от магазин')");
echo "Добавен нов продукт: " . $name_online . "
";
}
}
fclose($handle);
$mysqli->close();
?>
Този скрипт се извиква от Di-Sklad чрез натискане на бутона "Ел. Маг.". Той извлича последните поръчки и ги подготвя за влизане в склада.
set_charset("utf8");
header("Content-Type: application/xml; charset=UTF-8");
$xml = '';
$query = "SELECT * FROM site_order ORDER BY order_id DESC LIMIT 50";
$result = $mysqli->query($query);
while($row = $result->fetch_assoc()) {
$xml .= '';
$xml .= '' . $row['order_id'] . ' ';
$xml .= '' . htmlspecialchars($row['firstname'] . ' ' . $row['lastname']) . ' ';
$xml .= '' . $row['telephone'] . ' ';
$xml .= '';
$order_id = $row['order_id'];
$items = $mysqli->query("SELECT * FROM site_order_product WHERE order_id = $order_id");
while($item = $items->fetch_assoc()) {
$sku_res = $mysqli->query("SELECT sku FROM site_product WHERE product_id = ".$item['product_id']);
$sku_row = $sku_res->fetch_assoc();
$xml .= '';
$xml .= ' ';
$xml .= '' . $item['quantity'] . ' ';
$xml .= '' . number_format($item['price'], 2, '.', '') . ' ';
$xml .= ' ';
}
$xml .= ' ';
$xml .= ' ';
}
$xml .= ' ';
echo $xml;
$mysqli->close();
?>
Синхронизацията на продуктите и наличностите трябва да се случва автоматично. Настройте следните задачи в cPanel:
*/15 * * * * /usr/bin/php /home/user/public_html/import_to_sklad.php
// Обновява продуктите в склада на всеки 15 мин.
След като поръчката е в сайта, Вие само: