Programmēšanas bibliotēkas ļauj meklēt uzņēmēju datus pēc ievadītā PVN ES numura. Pašlaik API bibliotēkas ir pieejamas šādām programmēšanas valodām:
- .NET (C#, Visual Basic)
- Java
- JavaScript (Node.js)
- PHP
- Python
- C/C++
API nodrošina šādas funkcijas:
getVIESData
- jebkuras Eiropas Savienības dalībvalsts piešķirtā ES PVN numura darbības apstiprināšanas funkcija,getAccountStatus
– funkcija jaunākās informācijas izgūšanai par lietotāja kontu.
Integrācija
Visas bibliotēkas ar pirmkodiem ir pieejamas lejupielādei vietnē Lejupielādēt lappuse. Turklāt bibliotēku pirmkods ir pieejams arī mūsu oficiālajā repozitorijā vietnē Github.
Bibliotēkas integrēšanas veids ir atkarīgs no izvēlētās programmēšanas valodas. Valodām, kas atbalsta bibliotēku pārvaldību, pamatojoties uz centrālo repozitoriju, to var izmantot.
- 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
Autentifikācija
Lai veiktu pareizu autentifikāciju, ir jāievada pareizās vērtības id
un key
parametri jānodrošina klienta objekta būvniecības laikā. The id
parametram ir jāietver derīgs atslēgas identifikators, ko izmanto autorizācijai. The key
parametram ir jāietver derīga autorizācijai izmantotās atslēgas vērtība. Atslēgas identifikatoru un atslēgu ģenerē lietotājs pēc pieteikšanās savā kontā vietnē viesapi.eu
portāls. Atslēgu un identifikatoru ģenerēšanas process ir aprakstīts iepriekš.
Šis piemērs parāda, kā izmantot bibliotēkas funkcijas:
- 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"
Uzmanību! Autentifikācijas procesā tiek izmantots klienta datora pašreizējais laiks. Tāpēc, ja rodas autentifikācijas problēmas, mēģinot pieslēgties sistēmai viesapi.eu, vispirms pārliecinieties, vai datoram vai serverim, no kura tiek izveidots savienojums, ir pareizais pašreizējais laiks un laika josla. Plašāku informāciju par viesapi.eu sistēmas izmantoto metodi pieprasījumu autentifikācijai var atrast šeit.
Pārbauda ES PVN numurus
ES PVN numuru apstiprina, zvanot uz getVIESData()
funkcija, kuras parametrs ir ES PVN maksātāja numurs, kuru vēlamies pārbaudīt. Funkcija ļauj pārbaudīt visu Eiropas Savienības dalībvalstu izsniegtos ES PVN numurus.
Šis piemērs parāda, kā funkcijas tiek izmantotas bibliotēkās:
- 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
Atgrieztā objekta atribūti
Detalizēts atgriezto atribūtu apraksts:
uid
– unikāls vaicājuma identifikators, ko ģenerē viesapi.eu,countryCode
– valsts kods, kurā reģistrēts uzņēmums, kas saistīts ar aptaujā norādīto ES PVN maksātāja numuru,vatNumber
– vaicājumā norādītā pārbaudītā uzņēmuma ES PVN maksātāja numurs,valid
– atbilde no VIES dienesta, informējot par pārbaudāmās vienības pašreizējo ES PVN statusu:true
– pieprasījumā norādītais ES PVN maksātāja numurs ir derīgs,false
– pieprasījumā norādītais ES PVN maksātāja numurs nav derīgs,
traderName
- uzņēmuma tirdzniecības nosaukums,traderCompanyType
- vienmēr atgrieza "-" rakstzīmju virkni,traderAddress
- uzņēmuma adrese, kurā uzņēmums reģistrēts,id
– unikāls vaicājuma identifikators, ko ģenerē VIES sistēmadate
- vaicājuma izpildes datumssource
— datu avots, vienmēr: http://ec.europa.eu
Informācijas izgūšana par lietotāja konta statusu
Funkcija ļauj lejupielādēt visu lietotāja konta pamatinformāciju, kas tiek parādīta pēc pieteikšanās kontā portālā viesapi.eu. Funkcija arī atgriež informāciju par maksimālo vaicājumu skaitu, kas ir pieejams saskaņā ar atlasīto plānu (piemēram, 5000 biznesa plānam) un visu kārtējā mēnesī veikto vaicājumu kopējo skaitu lietotāja kontā.
Uzmanību! Funkcijas izsaukšana to dara nepalielināties veikto vaicājumu skaits.
Šis piemērs parāda, kā izmantot bibliotēkas funkcijas.
- 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 bibliotēkas kā COM objekta reģistrēšana
The viesapiLibrary.dll
bibliotēku var reģistrēt Windows sistēmā kā t.s COM
objektu. Tad uz bibliotēkas funkcijām var atsaukties no daudzām dažādām programmēšanas valodām un gatavām aplikācijām, t.sk. Microsoft Excel, Access, SQL Server, Dynamics vai Visual FoxPro.
Lai reģistrētu bibliotēku kā COM objektu, rīkojieties šādi:
- Lejupielādēt .NET bibliotēka arhivējiet un izsaiņojiet to vietējā diskā uz jebkuru vietu.
- Dodieties uz direktoriju ar izpakotiem bibliotēkas failiem un atrodiet
com-register.bat
failu. - Izvēlieties
com-register.bat
failu ar peli un atlasietRun as administrator
komandu no konteksta izvēlnes.
.NET bibliotēkas izmantošana programmā MS Excel
ViesapiLibrary.dll bibliotēkas funkcijas var izmantot lietojumprogrammā MS Excel, lai ierakstītu savas funkcijas un procedūras Visual Basic
valodu. Lai tas būtu iespējams, ir nepieciešams:
- Reģistrēties uz
viesapiLibrary.dll
bibliotēka kā aCOM
objekts ieslēgtsWindows
. - Startējiet programmu Excel. Izvēlieties
DEVELOPER
cilni uz lentes un pēc tam noklikšķiniet uzVisual Basic
pogu. - Iekš
Visual Basic for Application
logu, atlasietTools
un tadReferences
no izvēlnes. IekšAvailable References
sarakstu, atrodiet un atlasietVIESAPI Service Client for .NET Framework (C#)
. Apstipriniet savu izvēli arOK
pogu. - No
Insert
izvēlni, izvēlietiesModule
un ielīmējiet funkcijas kodu, kas parādīts Visual Basic piemēros, jaunajā logā. - Visbeidzot, atbilstošas w vērtības for
viesapi.ID
unviesapi.Key
jāiestata. Atslēgas un piekļuves atslēgas iegūšanas metode ir aprakstīta nodaļā Identifikatora un piekļuves atslēgas ģenerēšana