Logo Web Dizajn i Programiranje
+381 (0) 62 03 20 959 | wdp@sbb.rs

Podaci o pravnom licu

Copy-paste rešenje za iščitavanje podataka o imaocima računa putem veb-servisa NBS, 01 Jul 2018

Pregledavajući usluge koje nudi veb-servis NBS, naišao sam na uslugu koja se zove "registar podataka o imalacu računa". Ti podaci obuhvataju PIB, matični broj, naziv, adresu, mesto kao i broj bankovnog računa. NA žalost, ovaj servis vraća podatke samo ako je parametara unesen apsolutno identično kao što je u bazi, tako da je praktično moguće vršiti pretragu samo po PIB-u i matičnom broju. Stoga sam i napravio stranicu koja na osnovu bar jednog od ova dva podatka ispisuje ostale podatke o privrednom subjektu.

Kao i sve ostale usluge ovog servisa, ova usluga je ovaj dostupna samo pravnim licimakoji su registrovani za usluge ovog servisa. Više o ovome možete pročitati u blogu pod nazivom Veb servis Narodne Banke Srbije, kao i na samom sajtu NBS.

Obzirom da se Veb-servis NBS zasniva na SOAP protokolima koji imaju stroga i komplikovana pravila za kreiranje zahteva koristio sam, uz nezaobilazni PHP i NUSOAP skriptu koja znatno olakšava ovaj posao. Stoga je potrebno skinuti ovu skriptu klikom na ovaj link i nakon raspakivanja arhive fasciklu sa nazivom "lib" kopirati na istu lokaciju u okviru web sajta gde će biti i stranica sa kodom.

Nakon toga potrebno je downloadovati web stranucu sa nazivom "pib.php" i postaviti je na istu lokaciju gde ste postavili fasciklu sa nazivom "lib". U samom kodu web stranice potrebno je uneti podatke koje ste dobili od strane NBS nakon registracije na servis (username,password i licenceid). Na stranici je napravljena forma za unos i PIB-a i matičnog broja, a za dobijanje podataka dovoljan je i samo jedan od njih.

Naravno uz malo poznavanje CSS-a možete prilagoditi izgled prikaza podataka u skladu sa vašim potrebama.

Kompletan kod

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
<form action="pib.php" method="post" enctype="multipart/form-data"/>
    <input type="text" name="pib" /><label> PIB</label><br><br>
    <input type="text" name="mb" /><label> Matični broj</label><br><br>
    <input type="submit" name="podaci" value="pošalji" />
</form>
<?php
//*****************************************************************************
//
//  Naziv PHP scripte: PRETRAGA PODATAKA O IMAOCIMA RAČUNA NBS
//        (Narodna banka Srbije) - SOAP protokol
//
//  Autor: Josip Kopestinskij, http://webdizajniprogramiranje.rs
//
//  Više o kodu možete pročitati na
//  http://webdizajniprogramiranje.rs/web-servisi-nbs-php-soap-imaoci-racuna
//
//  Kod je slobodan za korišćenje uz obavezu navođenja izvora.
//
//*****************************************************************************

// obrada posta o podacima
if($_POST['pib']!=""){
    
$pib=($_POST['pib']);
}else{
    
$pib='';
}
if(
$_POST['mb']!=""){
    
$mb=($_POST['mb']);
}else{
    
$mb='0';
}

// pozivanje nusoap skripte
require_once('lib/nusoap.php');

// postavljanje vrednosti ostalih parametara zahteva
$bank '0';
$account '0';
$control '0';
$city '';
$start '1';
$end '100';

// podaci potrebni za prijavu na servis: korisnicko ime, lozinka i licenca
$login_username '**************';
$login_password '**************';
$login_licenceid '00000000-0000-0000-0000-000000000000';

// lokacija WDSL servisa i NameSpace
$soap_wsdl "https://webservices.nbs.rs/CommunicationOfficeService1_0/CompanyAccountXmlService.asmx?WSDL";
$soap_namespace "http://communicationoffice.nbs.rs";

// pravljenje klijenta
$soap_client = new nusoap_client($soap_wsdltrue);

// potrebno je isključiti dekodiranje utf8 karaktera da bi smo imali naša slova (kodiranje html stranice mora mora biti u utf formatu)
$soap_client->decode_utf8 0;

// dodavanje autentifikacije u header
$header 
'<AuthenticationHeader xmlns="' $soap_namespace '">
      <UserName>' 
$login_username '</UserName>
      <Password>' 
$login_password '</Password>
      <LicenceID>' 
$login_licenceid '</LicenceID>
 </AuthenticationHeader>'
;
$soap_client->setHeaders($header);

// kreiranje parametara za zahtev
$parametri = array('nationalIdentificationNumber'=>$mb,'taxIdentificationNumber'=>$pib,'bankCode'=>$bank,'accountNumber'=>$account,'controlNumber'=>$control,'companyName'=>$company,'city'=>$city,'startItemNumber'=>$start,'endItemNumber'=>$end);

// slanje zahteva
$soap_rezultat $soap_client->call ('GetCompanyAccount'$parametri);

// rezultati
$xml_rezultat=$soap_rezultat['GetCompanyAccountResult'];
$xml_rezultat=simplexml_load_string($xml_rezultat);    

$nbs_naziv $xml_rezultat->CompanyAccount->CompanyName;
$nbs_adresa $xml_rezultat->CompanyAccount->Address;
$nbs_mesto $xml_rezultat->CompanyAccount->City;
$nbs_maticni $xml_rezultat->CompanyAccount->NationalIdentificationNumber;
$nbs_pib $xml_rezultat->CompanyAccount->TaxIdentificationNumber;

// ispis rezultata
echo '<br><br><br>';
echo 
$nbs_naziv.'<br>';
echo 
$nbs_adresa.'<br>';
echo 
$nbs_mesto.'<br>';
echo 
$nbs_maticni.'<br>';
echo 
$nbs_pib.'<br>';
?>
Pregleda   940
Komentara   0


Dosadašnji komentari


Ostavite komentar

10 - 7 =




© Copyright by WDP