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ť.
- 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
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:
- 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"
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:
- 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
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 VIESdate
– dátum vykonania dotazusource
– 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.
- 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
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:
- Stiahnite si .NET knižnica archivovať a rozbaliť na lokálnom disku na ľubovoľné miesto.
- Prejdite do adresára s rozbalenými súbormi knižnice a nájdite súbor
com-register.bat
súbor. - Vyberte
com-register.bat
súbor pomocou myši a vyberte súborRun 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é:
- Registrovať a
viesapiLibrary.dll
knižnica ako aCOM
objekt naWindows
. - Spustite aplikáciu Excel. Vyberte
DEVELOPER
na páse s nástrojmi a potom kliknite naVisual Basic
tlačidlo. - V
Visual Basic for Application
okno, vyberteTools
a potomReferences
z menu. VAvailable References
zoznam, nájdite a vyberteVIESAPI Service Client for .NET Framework (C#)
. Svoj výber potvrďte pomocouOK
tlačidlo. - Z
Insert
menu, vyberte siModule
a prilepte kód funkcie uvedený v príkladoch pre Visual Basic do nového okna. - Nakoniec vhodné hodnoty w pre
viesapi.ID
aviesapi.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