Files
crm.twinpol.com/modules/EcmInvoiceOuts/BimIT-eCommerceInvoices/checkApiloProducts.php

57 lines
1.6 KiB
PHP
Raw Normal View History

2025-09-29 17:18:32 +00:00
<?php
echo 'halo';
$apilo_config = loadApiloConfiguration();
$products = loadApiloProducts($apilo_config['token']);
$db = $GLOBALS['db'];
foreach ($products->products as $product) {
$p = $db->fetchByAssoc($db->query(sprintf("SELECT * FROM ecmproducts WHERE code = '%s' AND deleted = 0", trim($db->quote($product->sku)))));
if (!$p) {
echo 'Brak produktu: '.$product->sku.'<br>';
}
}
echo '---------------------<br><br><br>';
brecho($products);
function loadApiloConfiguration()
{
global $db;
$dbRes = $db->query("SELECT * FROM config WHERE category='apilo'");
$config = [];
while ($row = $db->fetchByAssoc($dbRes)) {
$config[$row['name']] = $row['value'];
}
return $config;
}
function loadApiloProducts($token) {
$url = "https://twinpol.apilo.com/rest/api/warehouse/product/";
$params = [
'limit' => 300,
'offset' => 0
];
$url .= '?' . http_build_query($params);
$headers = [
'Authorization: Bearer ' . $token,
'Content-Type: application/json',
'Accept: application/json'
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode !== 200) {
return false;
}
return json_decode($response);
}
function brecho($msg)
{
echo '<br><pre>';
var_dump($msg);
echo PHP_EOL;
echo '</pre><br>';
}