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.

// 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:

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:

// 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 VIES
  • date – datum izvedbe poizvedbe
  • source – 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.

// 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:

  1. Prenesite knjižnica .NET arhivirajte in razpakirajte na lokalni disk na poljubno lokacijo.
  2. Pojdite v imenik z nepakiranimi datotekami knjižnice in poiščite com-register.bat mapa.
  3. Izberite com-register.bat datoteko z miško in izberite Run 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:

  1. Registrirajte se the viesapiLibrary.dll knjižnica kot a COM predmet na Windows.
  2. Zaženite aplikacijo Excel. Izberite DEVELOPER na traku in nato kliknite Visual Basic gumb.
  3. V Visual Basic for Application okno, izberite Tools in potem References iz menija. V Available References seznam, poiščite in izberite VIESAPI Service Client for .NET Framework (C#). Izbiro potrdite z OK gumb.
  4. Iz Insert meni, izberite Module in prilepite funkcijsko kodo, predstavljeno v primerih za Visual Basic, v novo okno.
  5. Končno ustrezne vrednosti w za viesapi.ID in viesapi.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