Programmeerimisraamatukogud võimaldavad otsida ettevõtjate andmeid sisestatud KMKR-numbri alusel. Praegu on API-teegid saadaval järgmiste programmeerimiskeelte jaoks:
- .NET (C#, Visual Basic)
- Java
- JavaScript (Node.js)
- PHP
- Python
- C/C++
API pakub järgmisi funktsioone:
getVIESData
– funktsioon, mis kinnitab mis tahes Euroopa Liidu liikmesriigi antud EL käibemaksukohustuslase numbri toimimist,getAccountStatus
– funktsioon kasutajakonto kohta ajakohase teabe hankimiseks.
Integratsioon
Kõik lähtekoodidega teegid on allalaadimiseks saadaval saidil Lae alla lehel. Lisaks on teekide lähtekood saadaval ka meie ametlikus hoidlas aadressil Github.
Teegi integreerimise viis sõltub valitud programmeerimiskeelest. Nende keelte puhul, mis toetavad kesksel hoidlal põhinevat raamatukoguhaldust, on seda võimalik kasutada.
- 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
Autentimine
Õige autentimise teostamiseks tuleb määrata õiged väärtused id
ja key
parameetrid tuleks esitada kliendiobjekti ehitamise ajal. The id
parameeter peaks sisaldama kehtivat autoriseerimiseks kasutatavat võtmeidentifikaatorit. The key
parameeter peaks sisaldama autoriseerimiseks kasutatud võtme kehtivat väärtust. Võtmeidentifikaatori ja võtme genereerib kasutaja pärast oma kontole sisselogimist viesapi.eu
portaal. Võtmete ja identifikaatorite genereerimise protsessi on üksikasjalikult kirjeldatud eespool.
Järgmine näide illustreerib teegi funktsioonide kasutamist.
- 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"
Tähelepanu! Autentimisprotsessis kasutatakse kliendi arvuti praegust aega. Seega, kui viesapi.eu süsteemiga ühenduse loomisel tekib autentimisprobleeme, veendu esmalt, et arvutil või serveril, kust ühendus luuakse, on õige praegune kellaaeg ja ajavöönd. Lisateavet meetodi kohta, mida süsteem viesapi.eu päringute autentimiseks kasutab, leiate siin.
EL käibemaksukohustuslase numbrite kontrollimine
EL KMKR numbri kinnitamiseks helistage getVIESData()
funktsioon, mille parameetriks on EL-i käibemaksukohustuslase number, mida tahame kontrollida. Funktsioon võimaldab kontrollida kõigi Euroopa Liidu liikmesriikide poolt väljastatud EL käibemaksukohustuslase numbreid.
Järgmine näide illustreerib, kuidas funktsioone teekides kasutatakse:
- 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
Tagastatud objekti atribuudid
Tagastatud atribuutide üksikasjalik kirjeldus:
uid
– viesapi.eu loodud kordumatu päringu identifikaator,countryCode
– riigikood, kus päringus esitatud EL käibemaksukohustuslase numbriga seotud ettevõte on registreeritud,vatNumber
– päringus esitatud kontrollitud ettevõtte EL-i käibemaksukohuslase number,valid
– VIES-teenuse vastus, mis teavitab kontrollitava üksuse praegusest EL-i käibemaksustaatusest:true
– päringus esitatud EL käibemaksukohustuslase number on kehtiv,false
– päringus esitatud EL käibemaksukohuslase number ei ole kehtiv,
traderName
- ettevõtte ärinimi,traderCompanyType
– tagastas alati '-' tähemärkide jada,traderAddress
- ettevõtte aadress, kus ettevõte on registreeritud,id
– VIES-süsteemi poolt genereeritud kordumatu päringu identifikaatordate
- päringu täitmise kuupäevsource
– andmeallikas, alati: http://ec.europa.eu
Kasutaja konto oleku teabe hankimine
Funktsioon võimaldab laadida alla kogu kasutajakonto põhiteabe, mis kuvatakse peale kontole sisselogimist portaalis viesapi.eu. Funktsioon tagastab ka teavet valitud plaani raames saadaolevate päringute maksimaalse arvu kohta (nt Äriplaani puhul 5000) ja kõigi jooksval kuul tehtud päringute koguarvu kohta kasutaja kontol.
Tähelepanu! Funktsiooni kutsumine teeb seda mitte suurendada tehtud päringute arv.
Järgmine näide illustreerib teegi funktsioonide kasutamist.
- 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
NET-i teegi registreerimine COM-objektina
The viesapiLibrary.dll
raamatukogu saab registreerida Windowsi süsteemis nn COM
objektiks. Siis saab raamatukogu funktsioone viidata paljudest erinevatest programmeerimiskeeltest ja valmisrakendustest, sh. Microsoft Excel, Access, SQL Server, Dynamics või Visual FoxPro.
Teegi registreerimiseks COM-objektina toimige järgmiselt.
- Laadige alla .NET raamatukogu arhiivige ja pakkige see kohalikule kettale mis tahes asukohta lahti.
- Minge lahtipakkitud teegifailidega kataloogi ja leidke üles
com-register.bat
faili. - Valige
com-register.bat
faili hiirega ja valigeRun as administrator
kontekstimenüüst.
.NET teegi kasutamine MS Excelis
ViesapiLibrary.dll teegi funktsioone saab kasutada MS Exceli rakenduses oma funktsioonide ja protseduuride kirjutamiseks Visual Basic
keel. Et see oleks võimalik, on vaja:
- Registreeri a
viesapiLibrary.dll
raamatukogu kui aCOM
objekt pealWindows
. - Käivitage Exceli rakendus. Valige
DEVELOPER
vahekaarti lindil ja seejärel klõpsake nuppuVisual Basic
nuppu. - Aastal
Visual Basic for Application
aken, valigeTools
ja siisReferences
menüüst. AastalAvailable References
loend, otsige ja valigeVIESAPI Service Client for .NET Framework (C#)
. Kinnitage oma valik nupugaOK
nuppu. - Alates
Insert
menüü, valigeModule
ja kleepige uude aknasse Visual Basicu näidetes esitatud funktsioonikood. - Lõpuks sobivad w väärtused jaoks
viesapi.ID
javiesapi.Key
tuleks määrata. Võtme ja juurdepääsuvõtme saamise meetodit kirjeldatakse peatükis Identifikaatori ja juurdepääsuvõtme genereerimine