File manager - Edit - /home/webtrixia/mralmondbg.webtrixia.com/erp-import2.php
Back
#!/usr/bin/env php <?php /** * Standalone ERP → WooCommerce Import Script * Usage: php erp-import.php * Place at /home/ebpeouzd/erp-import.php */ $erpUrl = 'http://130.185.250.92:8080/JessicaVersusREST/resources/get_art_pg'; $wcApiUrl = 'https://mralmondbg.webtrixia.com/wp-json/wc/v3/products'; $consumerKey = 'ck_0dd8b5b4d553aba75f58779bc7b604536a2166c6'; $consumerSecret = 'cs_031c4e600eaa405eddc5e69bd0648209bf586e5d'; $logFile = __DIR__ . '/erp-import.log'; // Ensure log exists and is writable if (!file_exists($logFile)) { file_put_contents($logFile, ""); chmod($logFile, 0666); } function logMsg($msg) { global $logFile; file_put_contents($logFile, date('[Y-m-d H:i:s] ') . $msg . PHP_EOL, FILE_APPEND); } function getJson($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $resp = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return [$code, $resp]; } function postJson($url, $data, $userpwd) { $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_USERPWD => $userpwd, CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], ]); $resp = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return [$code, $resp]; } // --- Start import --- logMsg('Starting ERP → WooCommerce import'); // 1) Fetch ERP data list($erpCode, $erpBody) = getJson($erpUrl); logMsg("ERP GET {$erpUrl} → HTTP {$erpCode}"); if ($erpCode !== 200) { logMsg('Error fetching ERP data: ' . substr($erpBody, 0, 200)); exit(1); } $erpData = json_decode($erpBody, true); if (!is_array($erpData) || empty($erpData)) { logMsg('No ERP records found.'); exit(0); } // 2) Loop and import foreach ($erpData as $item) { $sku = (string)$item['ids']; $price = number_format((float)$item['cena_drebno'], 2, '.', ''); $name = $item['name_bg']; $desc = strip_tags($item['bg_summ']); $filename = $item['artpic'][0]['filename'] ?? ''; $imgUrl = $filename ? 'https://mralmondbg.webtrixia.com/images/' . $filename : null; $payload = [ 'name' => $name, 'sku' => $sku, 'regular_price' => $price, 'description' => $desc, 'manage_stock' => true, 'stock_quantity'=> 0, ]; if ($imgUrl) { $payload['images'] = [['src' => $imgUrl]]; } logMsg('Importing SKU ' . $sku . ' payload: ' . json_encode($payload)); list($wcCode, $wcResp) = postJson($wcApiUrl, $payload, "$consumerKey:$consumerSecret"); if ($wcCode === 201 || $wcCode === 200) { logMsg("Imported SKU {$sku} → Woo HTTP {$wcCode}"); } else { logMsg("Error importing SKU {$sku} → HTTP {$wcCode} resp: " . substr($wcResp, 0, 200)); } } logMsg('Finished import');
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0 |
proxy
|
phpinfo
|
Settings