Programske knjižnice omogočajo iskanje podatkov o podjetnikih na podlagi vpisane DDV EU številke. Trenutno so knjižnice API-jev na voljo za naslednje programske jezike:
- .NET (C#, Visual Basic)
- Java
- JavaScript (Node.js)
- PHP
- Python
- C/C++
API ponuja naslednje funkcije:
getVIESData
– funkcijo potrditve dejavnosti številke EU za DDV, ki jo je dodelila katera koli država članica Evropske unije,getAccountStatus
– funkcija za pridobivanje ažurnih podatkov o uporabniškem računu.
Integracija
Vse knjižnice z izvornimi kodami so na voljo za prenos na Prenesi strani. Poleg tega je izvorna koda za knjižnice na voljo tudi v našem uradnem repozitoriju na Github.
Način integracije knjižnice je odvisen od izbranega programskega jezika. Za tiste jezike, ki podpirajo upravljanje knjižnice na podlagi centralnega repozitorija, ga je mogoče uporabiti.
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual basic
// NuGet Gallery
// https://www.nuget.org/packages/VIESAPI.VIESAPIClient
PM> Install-Package VIESAPI.VIESAPIClient
// No central repository support
// Maven
// https://viesapi.eu/maven/
<repository>
<id>viesapi</id>
<url>https://viesapi.eu/maven/releases</url>
</repository>
<dependency>
<groupId>eu.viesapi</groupId>
<artifactId>viesapi-client</artifactId>
<version>1.2.6</version>
</dependency>
// NPM
// https://www.npmjs.com/package/viesapi-client
npm install viesapi-client
// Packagist (Composer)
// https://packagist.org/packages/viesapi/client
composer require viesapi/client
# No central repository support
pip install viesapi-python-client-1.2.6.zip
' No central repository support
Preverjanje pristnosti
Za izvedbo pravilne avtentikacije so potrebne pravilne vrednosti id
in key
parametre je treba zagotoviti med gradnjo objekta naročnika. The id
parameter mora vsebovati veljaven identifikator ključa, ki se uporablja za avtorizacijo. The key
parameter mora vsebovati veljavno vrednost ključa, uporabljenega za avtorizacijo. Identifikator ključa in ključ generira uporabnik po prijavi v svoj račun na viesapi.eu
portal. Postopek generiranja ključev in identifikatorjev je bil podrobno opisan zgoraj.
Naslednji primer prikazuje, kako uporabljati funkcije knjižnice:
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual basic
using viesapiLibrary.dll;
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
VIESAPIClient viesapi = new VIESAPIClient("id", "key");
#include "viesapi.h"
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
VIESAPIClient* viesapi = NULL;
viesapi_new_prod(&viesapi, "id", "key");
import pl.viesapi.client.*;
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
VIESAPIClient viesapi = new VIESAPIClient("id", "key");
var VIESAPI = require('viesapiclient');
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
var viesapi = new VIESAPI.VIESAPIClient('id', 'key');
require_once 'VIESAPI/VIESAPIClient.php';
\VIESAPI\VIESAPIClient::registerAutoloader();
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
$viesapi = new \VIESAPI\VIESAPIClient('id', 'key');
from viesapi import *
from pprint import pprint
// Create the service client object
// id - a string representing the API key identifier
// key - a string representing the API key
viesapi = VIESAPIClient('id', 'key')
' Create the service client object
' id - a string representing the API key identifier
' key - a string representing the API key
Dim viesapi As New VIESAPIClient
viesapi.URL = "https://www.viesapi.eu/api"
viesapi.Id = "id"
viesapi.Key = "key"
Pozor! Med postopkom preverjanja pristnosti se uporablja trenutni čas odjemalčevega računalnika. Zato se v primeru težav z avtentikacijo pri poskusu povezave s sistemom viesapi.eu najprej prepričajte, da ima računalnik ali strežnik, s katerega je vzpostavljena povezava, pravilen trenutni čas in časovni pas. Več informacij o metodi, ki jo uporablja sistem viesapi.eu za avtentikacijo povpraševanj, lahko najdete tukaj.
Preverjanje številk za DDV EU
Številko EU za DDV potrdite s klicem na getVIESData()
funkcijo, katere parameter je EU DDV številka, ki jo želimo preveriti. Funkcija omogoča preverjanje EU DDV številk, ki so jih izdale vse države članice Evropske unije.
Naslednji primer prikazuje, kako se funkcije uporabljajo v knjižnicah:
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual basic
// A call to a method that returns data from a VIES system
VIESData vies = viesapi.GetVIESData("PL1234567890");
if (vies != null) {
Console.WriteLine(vies);
}
else {
Console.WriteLine("Error: " + viesapi.LastError);
}
// A call to a method that returns data from a VIES system
VIESData* vies = viesapi_get_vies_data(viesapi, "PL1234567890");
if (vies != NULL) {
printf("Kraj: %s\n", vies->CountryCode);
printf("VAT ID: %s\n", vies->VATNumber);
printf("Aktywny: %d\n", vies->Valid);
}
else {
printf("Error: %s\n", viesapi_get_last_err(viesapi));
}
// A call to a method that returns data from a VIES system
VIESData vies = viesapi.getVIESData("PL1234567890");
if (vies != null) {
System.out.println(vies);
}
else {
System.out.println("Error: " + viesapi.getLastError());
}
// A call to a method that returns data from a VIES system
viesapi.getVIESData('PL1234567890').then((vies) => {
console.log(vies.toString());
}).catch((e) => {
console.log(e.message);
});
// A call to a method that returns data from a VIES system
$vies = $viesapi->get_vies_data('PL1234567890');
if ($vies) {
print_r($vies);
}
else {
echo '<p>Error: ' . $viesapi->get_last_error() . '</p>';
}
# A call to a method that returns data from a VIES system
vies = viesapi.get_vies_data('PL1234567890')
if vies:
pprint(vars(vies))
else:
print u'Error: ' + viesapi.get_last_error()
' A call to a method that returns data from a VIES system
Dim vies As VIESData
Set vies = viesapi.GetVIESData("PL1234567890")
If vies Is Nothing Then
Console.WriteLine("Error: {0}", viesapi.LastError)
Else
Console.WriteLine(vies.ToString())
End If
Atributi vrnjenega predmeta
Podroben opis vrnjenih atributov:
uid
– edinstven identifikator poizvedbe, ki ga ustvari viesapi.eu,countryCode
– kodo države, v kateri je registrirano podjetje, povezano z EU DDV številko, navedeno v povpraševanju,vatNumber
– številko EU za DDV preverjenega podjetja, navedeno v povpraševanju,valid
– odgovor storitve VIES, ki obvešča o trenutnem EU DDV statusu preverjanega subjekta:true
– številka EU za DDV, navedena v povpraševanju, je veljavna,false
– številka EU za DDV, navedena v povpraševanju, ni veljavna,
traderName
– firmo podjetja,traderCompanyType
– vedno vrne niz znakov '-',traderAddress
– naslov podjetja, kjer je podjetje registrirano,id
– enolični identifikator poizvedbe, ki ga ustvari sistem VIESdate
– datum izvedbe poizvedbesource
– vir podatkov, vedno: http://ec.europa.eu
Pridobivanje informacij o statusu uporabnikovega računa
Funkcija omogoča prenos vseh osnovnih podatkov o uporabniškem računu, ki se prikažejo po prijavi v račun na portalu viesapi.eu. Funkcija vrne tudi podatek o maksimalnem številu poizvedb, ki so na voljo v okviru izbranega načrta (npr. 5.000 za Poslovni načrt) in skupno število vseh poizvedb v tekočem mesecu na uporabnikovem računu.
Pozor! Klicanje funkcije naredi ne povečati število opravljenih poizvedb.
Naslednji primer ponazarja, kako uporabljati funkcije knjižnice.
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual basic
// Get current account status
AccountStatus account = viesapi.GetAccountStatus();
if (account != null) {
Console.WriteLine(account);
}
else {
Console.WriteLine("Error: " + viesapi.LastError);
}
// Get current account status
AccountStatus* account = viesapi_get_account_status(viesapi);
if (account != NULL) {
printf("Plan name: %s\n", account->BillingPlanName);
printf("Price: %.2f\n", account->SubscriptionPrice);
printf("Number of queries: %d\n", account->TotalCount);
}
else {
printf("Error: %s\n", viesapi_get_last_err(viesapi));
}
// Get current account status
AccountStatus account = viesapi.getAccountStatus();
if (account != null) {
System.out.println(account);
}
else {
System.err.println("Error: " + viesapi.getLastError());
}
// Get current account status
viesapi.getAccountStatus().then((account) => {
console.log(account.toString());
}).catch((e) => {
console.log(e.message);
});
// Get current account status
$account = $viesapi->get_account_status();
if ($account) {
echo '<p>' . print_r($account, true) . '</p>';
}
else {
echo '<p>Error: ' . $viesapi->get_last_error() . '</p>';
}
# Get current account status
account = viesapi.get_account_status()
if account:
pprint(vars(account))
else:
print u'Error: ' + viesapi.get_last_error()
'Get current account status
Dim account As AccountStatus
Set account = viesapi.GetAccountStatus()
If account Is Nothing Then
Console.WriteLine("Error: {0}", viesapi.LastError)
Else
Console.WriteLine(account.ToString())
End If
Registracija knjižnice .NET kot predmeta COM
The viesapiLibrary.dll
knjižnico lahko registrirate v sistemu Windows kot t.i COM
predmet. Nato se lahko na funkcije knjižnice sklicujete iz številnih različnih programskih jezikov in že pripravljenih aplikacij, vklj. Microsoft Excel, Access, SQL Server, Dynamics ali Visual FoxPro.
Če želite registrirati knjižnico kot objekt COM, sledite tem korakom:
- Prenesite knjižnica .NET arhivirajte in razpakirajte na lokalni disk na poljubno lokacijo.
- Pojdite v imenik z nepakiranimi datotekami knjižnice in poiščite
com-register.bat
mapa. - Izberite
com-register.bat
datoteko z miško in izberiteRun as administrator
ukaz iz kontekstnega menija.
Uporaba knjižnice .NET v MS Excelu
Funkcije knjižnice viesapiLibrary.dll lahko uporabite v aplikaciji MS Excel za pisanje lastnih funkcij in postopkov v Visual Basic
jezik. Da bi to omogočili, je potrebno:
- Registrirajte se the
viesapiLibrary.dll
knjižnica kot aCOM
predmet naWindows
. - Zaženite aplikacijo Excel. Izberite
DEVELOPER
na traku in nato klikniteVisual Basic
gumb. - V
Visual Basic for Application
okno, izberiteTools
in potemReferences
iz menija. VAvailable References
seznam, poiščite in izberiteVIESAPI Service Client for .NET Framework (C#)
. Izbiro potrdite zOK
gumb. - Iz
Insert
meni, izberiteModule
in prilepite funkcijsko kodo, predstavljeno v primerih za Visual Basic, v novo okno. - Končno ustrezne vrednosti w za
viesapi.ID
inviesapi.Key
je treba nastaviti. Način pridobitve ključa in ključa za dostop je opisan v poglavju Generiranje identifikatorja in ključa za dostop