Biblioteki programistyczne umożliwiają wyszukiwanie danych przedsiębiorców na podstawie wprowadzonego numeru VAT UE. Obecnie dostępne są biblioteki API dla następujących języków programowania:

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

API zapewnia następujące funkcje:

  • getVIESData – funkcja potwierdzenia aktywności numeru VAT UE nadanego przez którekolwiek z państw członkowskich Unii Europejskiej,
  • getAccountStatus –funkcja pobierania aktualnych informacji o koncie użytkownika.

Integracja

Wszystkie biblioteki z kodami źródłowymi są dostępne do pobrania na Ściągnij strona. Ponadto kod źródłowy bibliotek jest również dostępny w naszym oficjalnym repozytorium na Github.

Sposób integracji biblioteki zależy od wybranego języka programowania. W przypadku języków, które obsługują zarządzanie biblioteką w oparciu o centralne repozytorium, istnieje możliwość jego wykorzystania.

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

Uwierzytelnianie

W celu przeprowadzenia poprawnego uwierzytelnienia, poprawne wartości id oraz key parametry należy podać podczas budowy obiektu klienta. The id parametr powinien zawierać poprawny identyfikator klucza używany do autoryzacji. The key parametr powinien zawierać prawidłową wartość klucza używanego do autoryzacji. Identyfikator klucza oraz klucz są generowane przez użytkownika po zalogowaniu się na jego konto w serwisie viesapi.eu portal. Proces generowania kluczy i identyfikatorów został szczegółowo opisany powyżej.

Poniższy przykład ilustruje sposób korzystania z funkcji bibliotecznych:

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"

Uwaga! W procesie uwierzytelniania wykorzystywany jest aktualny czas komputera klienta. Dlatego w przypadku problemów z uwierzytelnianiem przy próbie połączenia z systemem viesapi.eu należy najpierw upewnić się, że komputer lub serwer, z którego nawiązywane jest połączenie, ma poprawną aktualną godzinę i strefę czasową. Więcej informacji na temat metody wykorzystywanej przez system viesapi.eu do uwierzytelniania zapytań można znaleźć tutaj.

Sprawdzanie numerów VAT UE

Numer VAT UE potwierdzamy dzwoniąc pod numer getVIESData() funkcja, której parametrem jest numer VAT UE, który chcemy zweryfikować. Funkcja umożliwia weryfikację numerów VAT UE wydanych przez wszystkie państwa członkowskie Unii Europejskiej.

Poniższy przykład ilustruje wykorzystanie funkcji w bibliotekach:

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

Atrybuty zwracanego obiektu

Szczegółowy opis zwracanych atrybutów:

  • uid – unikalny identyfikator zapytania generowany przez viesapi.eu,
  • countryCode – kod kraju, w którym zarejestrowana jest firma powiązana z podanym w zapytaniu numerem VAT UE,
  • vatNumber – podany w zapytaniu numer VAT UE weryfikowanej firmy,
  • valid – odpowiedź z serwisu VIES, informująca o aktualnym statusie VAT UE sprawdzanego podmiotu:
    • true – podany w zapytaniu numer VAT UE jest aktualny,
    • false – podany w zapytaniu numer VAT UE jest nieprawidłowy,
  • traderName – nazwa handlowa firmy,
  • traderCompanyType – zawsze zwracał ciąg znaków '-',
  • traderAddress – adres firmy, pod którą firma jest zarejestrowana,
  • id – unikalny identyfikator zapytania generowany przez system VIES
  • date – data wykonania zapytania
  • source – źródło danych, zawsze: http://ec.europa.eu

Pobieranie informacji o stanie konta użytkownika

Funkcja umożliwia pobranie wszystkich podstawowych informacji o koncie użytkownika, które wyświetlają się po zalogowaniu do konta na portalu viesapi.eu. Funkcja zwraca również informację o maksymalnej liczbie zapytań dostępnych w ramach wybranego planu (np. 5000 dla planu Biznes) oraz o łącznej liczbie wszystkich zapytań wykonanych w bieżącym miesiącu na koncie użytkownika.

Uwaga! Wywołanie funkcji nie nie wzrastać liczba wykonanych zapytań.

Poniższy przykład ilustruje sposób korzystania z funkcji bibliotecznych.

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

Rejestracja biblioteki .NET jako obiektu COM

The viesapiLibrary.dll bibliotekę można zarejestrować w systemie Windows jako tzw COM obiekt. Wtedy do funkcji biblioteki można się odwoływać z wielu różnych języków programowania i gotowych aplikacji, m.in. Microsoft Excel, Access, SQL Server, Dynamics lub Visual FoxPro.

Aby zarejestrować bibliotekę jako obiekt COM, wykonaj następujące kroki:

  1. Pobierz Biblioteka .NET zarchiwizować i rozpakować na dysku lokalnym w dowolne miejsce.
  2. Przejdź do katalogu z rozpakowanymi plikami biblioteki i znajdź com-register.bat plik.
  3. Wybierz com-register.bat plik za pomocą myszy i wybierz Run as administrator polecenie z menu kontekstowego.

Korzystanie z biblioteki .NET w MS Excel

Funkcje biblioteki viesapiLibrary.dll można wykorzystać w aplikacji MS Excel do pisania własnych funkcji i procedur w Visual Basic język. Aby było to możliwe konieczne jest:

  1. Zarejestrować ten viesapiLibrary.dll biblioteka jako A COM obiekt na Windows.
  2. Uruchom aplikację Excel. Wybierz DEVELOPER na wstążce, a następnie kliknij Visual Basic przycisk.
  3. w Visual Basic for Application okno, wybierz Tools i wtedy References z menu. w Available References lista, znajdź i wybierz VIESAPI Service Client for .NET Framework (C#). Potwierdź swój wybór za pomocą OK przycisk.
  4. Od Insert menu, wybierz Module i wklej kod funkcji przedstawiony w przykładach dla Visual Basic w nowym oknie.
  5. Wreszcie odpowiednie wartości w dla viesapi.ID oraz viesapi.Key należy ustawić. Sposób uzyskania klucza i klucza dostępu opisano w rozdziale Generowanie identyfikatora i klucza dostępu