Web procedúry API sa pripájajú na databázu systému BSW3.
Na prístup k údajom potrebujete systémový kód firmy (SysKod) a prihlasovacie údaje k tejto firme (Meno a Heslo užívateľa).
Prístup Vám môže prideliť správca programu BSW3 (webadmin).
Otestovať pripojenie môžete napríklad cez aplikáciu POSTMAN.
Overovanie requestu je typu "Basic Auth".
Príklad volania PHP HttpRequest-u s prihlasovacími udajmi v hlavičke (vygeneroval POSTMAN).
<?php
$request = new HttpRequest();
$request->setUrl('https://data.bns.sk/data/sortimenty');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'Postman-Token' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'Cache-Control' => 'no-cache',
'Authorization' => 'Basic xxxxxxxxxxxxxxxxxxxx',
'SysKod' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
Skupiny - "https://data.bns.sk/Data/Skupiny"
Sortimenty - "https://data.bns.sk/Data/Sortimenty"
Značky - "https://data.bns.sk/Data/Znacky"
Série - "https://data.bns.sk/Data/Serie"
Použitia - "https://data.bns.sk/Data/Pouzitia"
Atributy - "https://data.bns.sk/Data/Atributy"
Merné jednotky - "https://data.bns.sk/Data/MerneJednotky"
Skupiny vlastností - "https://data.bns.sk/Data/VlastnostiSkupiny"
Typy vlastností - "https://data.bns.sk/Data/VlastnostiTypy"
Typy príslušenstva - "https://data.bns.sk/Data/PrislusenstvoTypy"
Produkty - "https://data.bns.sk/Data/Produkty"
Vlastnosti produktov - "https://data.bns.sk/Data/VlastnostiProdukty"
Príslušenstvo produktov - "https://data.bns.sk/Data/PrislusenstvoProdukty"
Produkty - "https://data.bns.sk/Data/ObrazkyProdukty"
Značky - "https://data.bns.sk/Data/ObrazkyZnacky"
Produkty - "https://data.bns.sk/Data/DokumentyProdukty"
Značky - "https://data.bns.sk/Data/DokumentyZnacky"
Overenie užívateľa - "https://data.bns.sk/Data/RegistraciaUzivatela?uext=MenoExternehoUzivatela&pext=HesloExternehoUzivatela"
"https://data.bns.sk/Data/AktivujTicket?id=3"
"https://data.bns.sk/Data/BSW3PridajObjdenavku"
V tele odosialaného dotazu je nutné uviesť JSON data popisané nižšie.
Návratom je jedinečný identifikátor objednaávky a text chyby
Ak všetko prebehne v poriadku, tak návratové Id dokladu bude vyplnené ak nie tak bude vyplnená chyba.
Id dokladu sa následne použije pri pridávaní položiek.
string(1) OsobaFirma - "F":firma, "O":osoba
string(20) KodRegistracie - Kód registácie v databáze webstránky eshop.
string(15) ICO - IČO firmy ak je fima
string(15) DIC - DIČ firmy ak je fima
string(22) ICDPH - IČDPH firmy ak je fima
string(150) Nazov - IČO firmy ak je fima
- dalšie polia su spoločné aj pre firmu aj pre osobu
string(150) Ulica
string(20) Cislo
string(60) Mesto
string(10) PSC
string(3) Krajina
string(100) Email
string(100) Telefon
string(50) TitulPred
string(100) Meno
string(100) Priezvisko
string(50) TitulZa
string(10) Linka
string(60) Web
string(4000) Popis - do popisu sa uvádza miesto dodania, sposob doručenia, platby, alebo poznámky objednavateľa, ...
Príklad volania vytvorenia hlavičky dokladu objednávky s nasledujúcimi hodnotami.
{
"OsobaFirma" : "F",
"KodRegistracie" : "",
"ICO" : "123456",
"DIC" : "123456",
"ICDPH" : "SK123456",
"Nazov" : "Pokusna Firma API",
"Ulica" : "Nadvorna",
"Cislo" : "1",
"Mesto" : "Zvolen",
"PSC" : "96001",
"Krajina" : "SK",
"Email" : "nejaky.pokus@bns.sk",
"Telefon" : "0912 345 678",
"TitulPred" : "",
"Meno" : "Jano",
"Priezvisko" : "Kováč",
"TitulZa" : "",
"Web" : "",
"Popis" : "pokus",
"VSymbol" : "A123456789",
"Linka":"MO"
}
Návratová hodnota môže vyzerať nasledovne
{
"Id": "00147782",
"Chyba": ""
}
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://data.bns.sk/Data/BSW3PridajObjdenavku');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'SysKod' => '27b...',
'Authorization' => 'Basic Um...',
'Content-Type' => 'application/json'
));
$request->setBody('{
"OsobaFirma" : "F",
"KodRegistracie" : "",
"ICO" : "123456",
"DIC" : "123456",
"ICDPH" : "SK123456",
"Nazov" : "Pokusna Firma API",
"Ulica" : "Nadvorna",
"Cislo" : "16",
"Mesto" : "Zvolen",
"PSC" : "96001",
"Krajina" : "SK",
"Email" : "nejaky.pokus@bns.sk",
"Telefon" : "0955 555 555",
"TitulPred" : "",
"Meno" : "Jano",
"Priezvisko" : "Kováč",
"TitulZa" : "",
"Web" : "",
"Popis" : "pokus",
"VSymbol" : "A123456789",
"Linka":"MO"
}
');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
"https://data.bns.sk/Data/BSW3PridajPolozkuObjdenavky"
V tele odosialaného dotazu je nutné uviesť JSON data popísané nižšie.
Návratom je jedinečný identifikátor položky objednaávky a text chyby
Ak všetko prebehne v poriadku, tak návratové Id položky bude vyplnené ak nie tak bude vyplnená chyba.
string(8) DokladId - Identifikator dokladu ktorý vracia procedúra na vytvorenie dokladu
int ProduktId - Id produktu
decimal Mnozstvo
decimal CenaZaMjBezDPH
decimal CenaCelkomBezDPH
decimal PercentoZlava
decimal CenaZlava
decimal CenaPoZlave
decimal PercentoProvizia
decimal CenaProvizia
decimal CenaPoProvizii
int PercentoDPH
decimal CenaDPH
decimal CenaZaMjsDPH
decimal CenaCelkomsDPH
decimal Poradie
Príklad volania vytvorenia položky dokladu objednávky s nasledujúcimi hodnotami.
{
"DokladId" : "00147782",
"ProduktId" : 59099,
"Mnozstvo" : 10,
"CenaCelkomsDPH" : 109.20,
"CenaCelkomBezDPH" : 91,
"PercentoDPH" : 20,
"CenaDPH" : 18.20,
"CenaPoProvizii" : 91,
"CenaPoZlave" : 91,
"CenaProvizia" : 0,
"CenaZlava" : 0,
"PercentoProvizia" : 0,
"PercentoZlava" : 0,
"CenaZaMjBezDPH" : 9.1,
"CenaZaMjsDPH" : 10.92,
"Poradie" : 1
}
Návratová hodnota môže vyzerať nasledovne
{
"Id": "00236285",
"Chyba": ""
}
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://data.bns.sk/Data/BSW3PridajPolozkuObjdenavky');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'SysKod' => '27b...',
'Authorization' => 'Basic Um...',
'Content-Type' => 'application/json',
));
$request->setBody('{
"DokladId" : "00147782",
"ProduktId" : 59099,
"Mnozstvo" : 10,
"CenaCelkomsDPH" : 109.20,
"CenaCelkomBezDPH" : 91,
"PercentoDPH" : 20,
"CenaDPH" : 18.20,
"CenaPoProvizii" : 91,
"CenaPoZlave" : 91,
"CenaProvizia" : 0,
"CenaZlava" : 0,
"PercentoProvizia" : 0,
"PercentoZlava" : 0,
"CenaZaMjBezDPH" : 9.1,
"CenaZaMjsDPH" : 10.92,
"Poradie" : 1
}
');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}