Programovanie knižníc umožňuje vyhľadávať údaje podnikateľov na základe zadaného IČ DPH EÚ. V súčasnosti sú knižnice API dostupné pre nasledujúce programovacie jazyky:

  • .NET (C#, Visual Basic)
  • Java
  • JavaScript (Node.js)
  • PHP
  • Python
  • C/C++

API poskytuje nasledujúce funkcie:

  • getVIESData – funkcia na potvrdenie činnosti IČ DPH EÚ prideleného ktorýmkoľvek členským štátom Európskej únie,
  • getAccountStatus –funkcia na získanie aktuálnych informácií o používateľskom účte.

integrácia

Všetky knižnice so zdrojovými kódmi sú k dispozícii na stiahnutie na Stiahnuť ▼ stránku. Okrem toho je zdrojový kód knižníc dostupný aj v našom oficiálnom úložisku na Github.

Spôsob integrácie knižnice závisí od zvoleného programovacieho jazyka. Pre tie jazyky, ktoré podporujú správu knižníc založenú na centrálnom úložisku, je možné ho použiť.

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

Overenie

Aby bolo možné vykonať správnu autentifikáciu, správne hodnoty id a key parametre by mali byť poskytnuté počas výstavby objektu klienta. The id parameter by mal obsahovať platný identifikátor kľúča používaný na autorizáciu. The key parameter by mal obsahovať platnú hodnotu kľúča použitého na autorizáciu. Identifikátor kľúča a kľúč vygeneruje užívateľ po prihlásení sa do svojho účtu na viesapi.eu portál. Proces generovania kľúčov a identifikátorov bol podrobne popísaný vyššie.

Nasledujúci príklad ilustruje, ako používať funkcie kniž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"

Pozornosť! Počas procesu autentifikácie sa používa aktuálny čas počítača klienta. Preto v prípade problémov s autentifikáciou pri pokuse o pripojenie do systému viesapi.eu sa najprv uistite, že počítač alebo server, z ktorého je spojenie nadviazané, má správny aktuálny čas a časové pásmo. Viac informácií o metóde, ktorú systém viesapi.eu používa na autentifikáciu dopytov, nájdete tu tu.

Kontrola IČ DPH EÚ

Číslo DPH EÚ sa potvrdí zavolaním na číslo getVIESData() funkciu, ktorej parametrom je IČ DPH EÚ, ktoré chceme overiť. Funkcia umožňuje overenie IČ DPH EÚ vydaných všetkými členskými štátmi Európskej únie.

Nasledujúci príklad ilustruje, ako sa funkcie používajú v knižniciach:

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

Atribúty vráteného objektu

Podrobný popis vrátených atribútov:

  • uid – jedinečný identifikátor dopytu vygenerovaný viesapi.eu,
  • countryCode – kód krajiny, v ktorej je registrovaná spoločnosť spojená s EÚ IČ DPH uvedeným v dopyte,
  • vatNumber – IČ DPH overenej spoločnosti v EÚ uvedené v dopyte,
  • valid – odpoveď zo služby VIES, informujúca o aktuálnom stave EÚ DPH kontrolovaného subjektu:
    • true – je platné EÚ IČ DPH uvedené v dopyte,
    • false – IČ DPH EÚ uvedené v dopyte nie je platné,
  • traderName - obchodné meno spoločnosti,
  • traderCompanyType – vždy vrátil reťazec znakov „-“,
  • traderAddress - adresa spoločnosti, kde je spoločnosť registrovaná,
  • id – jedinečný identifikátor dopytu vygenerovaný systémom VIES
  • date – dátum vykonania dotazu
  • source – zdroj údajov, vždy: http://ec.europa.eu

Získavanie informácií o stave používateľského účtu

Funkcia umožňuje stiahnuť si všetky základné informácie o užívateľskom účte, ktoré sa zobrazujú po prihlásení sa do účtu na portáli viesapi.eu. Funkcia tiež vracia informáciu o maximálnom počte dopytov dostupných v rámci zvoleného plánu (napr. 5 000 pre Biznis plán) a celkovom počte všetkých dopytov uskutočnených v aktuálnom mesiaci na účte užívateľa.

Pozornosť! Volanie funkcie áno nezvýšiť počet uskutočnených dopytov.

Nasledujúci príklad ilustruje, ako používať funkcie kniž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

Registrácia knižnice .NET ako objektu COM

The viesapiLibrary.dll knižnicu je možné zaregistrovať v systéme Windows ako tzv COM objekt. Potom je možné na funkcie knižnice odkazovať z mnohých rôznych programovacích jazykov a hotových aplikácií, vrátane. Microsoft Excel, Access, SQL Server, Dynamics alebo Visual FoxPro.

Ak chcete zaregistrovať knižnicu ako objekt COM, postupujte takto:

  1. Stiahnite si .NET knižnica archivovať a rozbaliť na lokálnom disku na ľubovoľné miesto.
  2. Prejdite do adresára s rozbalenými súbormi knižnice a nájdite súbor com-register.bat súbor.
  3. Vyberte com-register.bat súbor pomocou myši a vyberte súbor Run as administrator príkaz z kontextového menu.

Používanie knižnice .NET v MS Excel

Funkcie knižnice viesapiLibrary.dll je možné použiť v aplikácii MS Excel na písanie vlastných funkcií a procedúr v Visual Basic Jazyk. Aby to bolo možné, je potrebné:

  1. Registrovať a viesapiLibrary.dll knižnica ako a COM objekt na Windows.
  2. Spustite aplikáciu Excel. Vyberte DEVELOPER na páse s nástrojmi a potom kliknite na Visual Basic tlačidlo.
  3. V Visual Basic for Application okno, vyberte Tools a potom References z menu. V Available References zoznam, nájdite a vyberte VIESAPI Service Client for .NET Framework (C#). Svoj výber potvrďte pomocou OK tlačidlo.
  4. Z Insert menu, vyberte si Module a prilepte kód funkcie uvedený v príkladoch pre Visual Basic do nového okna.
  5. Nakoniec vhodné hodnoty w pre viesapi.ID a viesapi.Key by mala byť nastavená. Spôsob získania kľúča a prístupového kľúča je popísaný v kapitole Generovanie identifikátora a prístupového kľúča