Systim API - Zarządzanie produktami

Strona główna API

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.),
ilosc, 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

Pole "ilosc" ma zastosowanie wyłącznie w przypadku magazynu uproszczonego, w przypadku magazynu zaawansowanego jest ignorowane. 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'.
								'&ilosc=100'.
								'&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

ilosc, 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'),

Uwagi

Pole "ilosc" ma zastosowanie wyłącznie w przypadku magazynu uproszczonego, w przypadku magazynu zaawansowanego jest ignorowane.

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'.
								'&ilosc=100'.
								'&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ą id, nazwę magazynu, 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 $id=>$ilosc)
					 {
						echo "Id produktu: " . $id . ", ilość: " . $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'];
					
Wersja DEMO - przetestuj za darmo! Załóż konto Systim w 15 sekund!


Wykorzystujemy pliki "cookies" aby nasz serwis lepiej spełniał Państwa oczekiwania. Możesz zablokować możliwość wykorzystywania tych plików poprzez zmianę ustawień w swojej przeglądarce internetowej. ok