addProduct
Dodanie nowego produktu
Wymagane parametry
token, nazwa, cena_brutto, cena_netto, id_kategorii,
stawka_vat - id stawki VAT
rodzaj (0 - produkt, 1 - usługa)
Opcjonalne parametry
id_dodajacego (jeśli nie występuje to brane jest pod uwagę ID wstawiającej osoby na podstawie loginu użytego do logowania do API),
ukryty (1 lub 0),
naliczanie (0 - domyślne, każdy produkt ma jedną cenę, 1 - produkt należy do grup cenowych i walutowych),
jednostka (string np. "kg", "cm" itd.),
opis, isbn,
kod_kreskowy, kod_produktu, pkwiu
zalaczniki (tablica z załącznikami produktu, jeśli istnieją, klucze 'nazwa' i 'plik'),
parametry (tablica z dodatkowymi parametrami, jeśli istnieją),
zdjecie (tablica z zdjęciem produktu zawierająca: plik,nazwa oraz ext (rozszerzenie pliku graficznego bez kropki)
ceny (tablica z kwotami jeśli naliczanie=1, klucze 'id_waluty', 'id_grupy', 'cena_netto', 'cena_brutto'),
Uwagi
Jeśli naliczanie = 1 musi być podana przynajmniej jedna cena, gdzie:
id_waluty = 0 (0 oznacza PLN)
id_grupy = 1
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną
id dodanego produktu
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
// dodajemy zdjęcie dla produktu (wymagane jest użycie funkcji base64_encode dla przesyłanego pliku)
$zdjecieARR = array();
$zdjecieARR['zdjecie'] = array('plik' => base64_encode(file_get_contents('images/mlekoUHT32.png')),
'nazwa' => 'Mleko UHT 3,2%','ext'=>'png');
// dodajemy parametry produktu gdzie 2 - id parametru i 3.25 wartość parametru
$paramARR = array();
$paramARR['parametry'][0] = array(2=>3.25);
// dodajemy załączniki dla produktu (tak samo każdy plik kodujemy za pomocą kodowania base64)
$zalacznikiARR = array();
$zalacznikiARR['zalaczniki'][0] = array('nazwa'=>'zalacznik_1',
'plik'=> base64_encode(file_get_contents('zalaczniki/zalacznik1.jpg')));
$zalacznikiARR['zalaczniki'][1] = array('nazwa'=>'zalacznik_2',
'plik'=> base64_encode(file_get_contents('zalaczniki/zalacznik2.docx')));
$cenyARR['ceny'][0] = array('id_waluty' => '0','id_grupy' => '1','cena_netto'=>'3.24','cena_brutto'=>'4.00');
$parametry = urldecode(http_build_query($paramARR));
$zalaczniki = http_build_query($zalacznikiARR);
$zdjecie = http_build_query($zdjecieARR);
$ceny = urldecode(http_build_query($cenyARR));
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=addProduct'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&nazwa=Mleko UHT 3,2%'.
'&cena_brutto=2.45'.
'&cena_netto=1.99'.
'&id_kategorii=1'.
'&stawka_vat=1'.
'&rodzaj=0'. //dane do wysłania
'&ukryty=0'.
'&naliczanie=1'.
'&jednostka=litr'.
'&kod_produktu=452'.
'&'.$zdjecie.
'&'.$zalaczniki.
'&'.$parametry
'&'.$ceny);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
delProduct
Usunięcie istniejącego produktu
Wymagane parametry
token,
id - id produktu
Opcjonalne parametry
brak
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną
id usuniętego produktu
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=delProduct'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&id=1');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
updProduct
Edycja istniejącego produktu
Wymagane parametry
token, nazwa, cena_brutto, cena_netto, id_kategorii,
id - id produktu,
stawka_vat - id stawki VAT,
rodzaj (0 - produkt, 1 - usługa)
Opcjonalne parametry
opis, isbn, kod_kreskowy, kod_produktu, pkwiu
id_dodajacego (jeśli nie występuje to brane jest pod uwagę ID na podstawie loginu użytego do logowania do API),
ukryty (1 lub 0),
naliczanie (0 - domyślne, każdy produkt ma jedną cenę, 1 - produkt należy do grup cenowych i walutowych),
jednostka (string np. "kg", "cm" itd.),
zalaczniki (tablica z załącznikami produktu, jeśli istnieją, klucze 'nazwa' i 'plik'),
parametry (tablica z dodatkowymi parametrami, jeśli istnieją),
zdjecie (tablica z zdjęciem produktu zawierająca: plik,nazwa oraz ext (rozszerzenie pliku graficznego bez kropki)
ceny (tablica z kwotami jeśli naliczanie=1, klucze 'id_waluty', 'id_grupy', 'cena_netto', 'cena_brutto'),
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną
id edytowanego produktu
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
// edycja zdjęcia dla produktu (wymagane jest użycie funkcji base64_encode dla przesyłanego pliku)
$zdjecieARR = array();
$zdjecieARR['zdjecie'] = array('plik' => base64_encode(file_get_contents('images/mlekoUHT32.png')),
'nazwa' => 'Mleko UHT 3,2%','ext'=>'png');
// edycja parametrów produktu gdzie 2 - id parametru i 3.25 wartość parametru
$paramARR = array();
$paramARR['parametry'][0] = array(2=>3.25);
// edycja załączników dla produktu (tak samo każdy plik kodujemy za pomocą kodowania base64)
$zalacznikiARR = array();
$zalacznikiARR['zalaczniki'][0] = array('nazwa'=>'zalacznik_1',
'plik'=> base64_encode(file_get_contents('zalaczniki/zalacznik1.jpg')));
$zalacznikiARR['zalaczniki'][1] = array('nazwa'=>'zalacznik_2',
'plik'=> base64_encode(file_get_contents('zalaczniki/zalacznik2.docx')));
// Edycja cen
$cenyARR['ceny'][0] = array('id_waluty' => '0','id_grupy' => '1','cena_netto'=>'3.24','cena_brutto'=>'4.00');
$parametry = urldecode(http_build_query($paramARR));
$zalaczniki = http_build_query($zalacznikiARR);
$zdjecie = http_build_query($zdjecieARR);
$ceny = urldecode(http_build_query($cenyARR));
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=updProduct'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&id=3'.
'&nazwa=Mleko UHT 333,2%'.
'&cena_brutto=2.55'.
'&cena_netto=1.99'.
'&id_kategorii=1'.
'&stawka_vat=1'.
'&rodzaj=0'. //dane do wysłania
'&ukryty=0'.
'&naliczanie=1'.
'&jednostka=litr'.
'&kod_produktu=452'.
'&'.$zdjecie.
'&'.$zalaczniki.
'&'.$parametry
'&'.$ceny);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
getProduct
Pobranie danych istniejącego produktu
Wymagane parametry
token,
id - id produktu
Opcjonalne parametry
brak
Uwagi
Aby wyświetlić zdjęcie pobrane poprzez tą metodę, należy je pobrać ze strony Systim. Zdjęcia (jak i kategorie) są publicznie dostępne ze
względu na planowane wdrożenie sklepu internetowego, gdzie te dane będą również publicznie dostępne. Np.:
echo '';
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest tablicą asocjacyjną zawierającą:
id_dodajacego,
id_kategorii,
rodzaj,
ukryty,
naliczanie,
nazwa,
jednostka,
cena_netto,
stawka_vat,
cena_brutto,
ilosc,
opis,
data_dodania,
isbn,
kod_kreskowy,
kod_produktu,
pkwiu,
zalacznikiArr (tablica z załącznikami produktu, jeśli istnieją),
parametry (tablica z dodatkowymi parametrami, jeśli istnieją),
ceny(tablica z kwotami jeśli naliczanie=1),
miniaturka (adres URL do miniaturki produktu),
ikonka (adres URL do ikonki produktu),
zdjecie (adres URL do zdjęcia produktu),
rezerwacje (ilość zarezerwowanych sztuk tego produktu),
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=getProduct'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&id=3');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
// wyświetlamy te informacje dotyczące produktu które chcemy zobaczyć
echo "Nazwa: " . $dane['result']['nazwa'] . ", Cena brutto: " . $dane['result']['cena_brutto'] . "
" .
"Kategoria: " . $dane['result']['id_kategorii'] .
", Cena netto: " . $dane['result']['cena_netto'] . "
" .
"Ilość: " . $dane['result']['ilosc'] . ", Data dodania: " . $dane['result']['data_dodania'] . "
" .
"Stawka Vat: " . $dane['result']['stawka_vat'] . ", Naliczanie: " . $dane['result']['naliczanie'] . "
" .
"Id dodającego: " . $dane['result']['id_dodajacego'] .
", Jednostka: " . $dane['result']['jednostka'] . "
" .
"Ukryty: " . $dane['result']['ukryty'] . ", Opis: " . $dane['result']['opis'] . "
";
foreach($dane['result']['parametry'] as $id=>$nazwa)
{
echo "Id parametru: " . $id . ", Nazwa: " . $nazwa;
}
foreach($dane['result']['zalaczniki'] as $nazwa)
{
echo "Nazwa pliku załącznika: " . $nazwa;
}
// wyświetlamy zdjęcie
echo '
';
// miniaturka zdjęcia
echo '
';
// ikonka zdjęcia
echo '
';
listProducts
Pobranie listy produktów
Wymagane parametry
token,
ids - zmienna typu "string" zawierająca numery ID produktów, które mają zostać pobrane. Pusta oznacza, że chcemy pobrać wszystkie produkty. Numery ID można wymienić po przecinku, lub podać ich zakres używając myślnika. Przykładowo: 1,2,4,12,23,45 lub 1-45 lub dowolna kombinacja np. 1-20,35,40,50,60-100
Opcjonalne parametry
brak
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest tablicą asocjacyjną zawierającą:
id_dodajacego,
id_kategorii,
rodzaj,
ukryty,
naliczanie,
nazwa,
jednostka,
cena_netto,
kategoria,
stawka_vat,
cena_brutto,
ilosc,
opis,
data_dodania,
isbn,
kod_kreskowy,
kod_produktu,
pkwiu,
zalacznikiArr (tablica z załącznikami produktu, jeśli istnieją),
parametry (tablica z dodatkowymi parametrami, jeśli istnieją),
ceny(tablica z kwotami jeśli naliczanie=1),
miniaturka (adres URL do miniaturki produktu),
ikonka (adres URL do ikonki produktu),
zdjecie (adres URL do zdjęcia produktu),
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=listProducts'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&ids=3,4,6');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
// wyświetlamy te informacje dotyczące produktu które chcemy
foreach($dane['result'] as $id=>$dane)
{
echo "Nazwa: " . $dane['nazwa'] . ", Cena brutto: " . $dane['cena_brutto'] . "
" .
"Kategoria: " . $dane['id_kategorii'] .
", Cena netto: " . $dane['cena_netto'] . "
" .
"Ilość: " . $dane['ilosc'] . ", Data dodania: " . $dane['data_dodania'] . "
" .
"Stawka Vat: " . $dane['stawka_vat'] . ", Naliczanie: " . $dane['naliczanie'] . "
" .
"Id dodającego: " . $dane['id_dodajacego'] .
", Jednostka: " . $dane['jednostka'] . "
" .
"Ukryty: " . $dane['ukryty'] . ", Opis: " . $dane['opis'] . "
";
}
listPQuantities
Lista ilości produktów
Wymagane parametry
token
Opcjonalne parametry
id_magazynu - numery ID magazynów (można podać kilka rozdzielając przecinkiem np. 1,3,5)
w razie nie podania żadnego numeru ID, dane zostaną pobrane ze wszystkich dostępnych magazynów.
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest tablicą asocjacyjną zawierającą
nazwę magazynu, id produktu, nazwę produktu, kod kreskowy, kod produktu oraz
ilosc
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=listPQuantities'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
foreach($dane['result'] as $result)
{
echo "Nazwa magazynu: " . $result['nazwa_magazynu'] . ", id produktu: " . $result['id_produktu'] .
", nazwa produktu: " . $result['nazwa_produktu'] . ", kod kreskowy: " . $result['kod_kreskowy'] .
", kod produktu: " . $result['kod_produktu'] . ", ilość: " . $result['ilosc'] . "
";
}
changePQuantity
Zmiana ilości produktu w magazynie uproszczonym
Wymagane parametry
token,
id - id produktu,
ilosc
Opcjonalne parametry
brak
Uwagi
Metoda ma zastosowanie wyłącznie w przypadku magazynu uproszczonego. W przypadku magazynu zaawansowanego metoda nie ma zastosowania, ilość towarów na
magazynie wprowadzamy poprzez dokumenty magazynowe wydania (WZ) i przyjęcia (PZ).
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest zmienną zawierającą
id produktu
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=changePQuantity'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
'&ilosc=150'.
'&id=3');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
echo 'Id produktu: ' . $dane['result'];
listServices
Lista usług (id, nazwa)
Wymagane parametry
token
Opcjonalne parametry
brak
Wartości zwracane
Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest tablicą asocjacyjną zawierającą
id i nazwę każdej z istniejących w Systim usług
W przypadku niepowodzenia:
$dane['error']['code']>0
Przykład wywołania w PHP
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
curl_setopt($c, CURLOPT_POSTFIELDS, 'act=listServices'.
'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$wynik = curl_exec($c);
curl_close($c);
$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd,
//jeśli tak, wyświetlamy go
foreach($dane['result'] as $id=>$nazwa)
{
echo "Usługa " . $id . ": " . $nazwa . "
";
}