Programmeerbibliotheken stelt u in staat om ondernemersgegevens op te zoeken op basis van het ingevoerde btw-EU-nummer. Momenteel zijn API-bibliotheken beschikbaar voor de volgende programmeertalen:

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

API biedt de volgende functies:

  • getVIESData - functie om de activiteit van het EU-btw-nummer te bevestigen dat is toegewezen door een van de lidstaten van de Europese Unie,
  • getAccountStatus –functie voor het ophalen van actuele informatie over het gebruikersaccount.

Integratie

Alle bibliotheken met broncodes kunnen worden gedownload op de Downloaden bladzijde. Bovendien is de broncode voor de bibliotheken ook beschikbaar in onze officiële repository op Github.

De manier van integratie van de bibliotheek is afhankelijk van de geselecteerde programmeertaal. Voor die talen die bibliotheekbeheer op basis van een centrale repository ondersteunen, is het mogelijk om het te gebruiken.

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

Authenticatie

Om de juiste authenticatie uit te voeren, moeten de juiste waarden van de id en key parameters moeten worden opgegeven tijdens de constructie van het clientobject. De id parameter moet een geldige sleutel-ID bevatten die wordt gebruikt voor autorisatie. De key parameter moet een geldige waarde bevatten van de sleutel die wordt gebruikt voor autorisatie. De sleutel-ID en de sleutel worden gegenereerd door de gebruiker na het inloggen op zijn account op de viesapi.eu portaal. Het proces van het genereren van de sleutels en identifiers is hierboven beschreven.

Het volgende voorbeeld illustreert het gebruik van de bibliotheekfuncties:

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"

Aandacht! De huidige tijd van de computer van de client wordt gebruikt tijdens het authenticatieproces. Controleer daarom in het geval van authenticatieproblemen bij het proberen verbinding te maken met het systeem van viesapi.eu eerst of de computer of server waarvan de verbinding tot stand is gebracht, de juiste huidige tijd en tijdzone heeft. Meer informatie over de methode die door het systeem van viesapi.eu wordt gebruikt om aanvragen te verifiëren, is te vinden hier.

EU btw-nummers controleren

Het EU-btw-nummer wordt bevestigd door te bellen naar de getVIESData() functie, waarvan de parameter het EU-btw-nummer is dat we willen verifiëren. De functie maakt de verificatie mogelijk van EU-btw-nummers die zijn uitgegeven door alle lidstaten van de Europese Unie.

Het volgende voorbeeld illustreert hoe functies in bibliotheken worden gebruikt:

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

De kenmerken van het geretourneerde object

Gedetailleerde beschrijving van geretourneerde attributen:

  • uid – unieke zoekopdracht-ID gegenereerd door viesapi.eu,
  • countryCode – landcode waarin het bedrijf is geregistreerd dat is aangesloten bij het EU-btw-nummer dat in de aanvraag is opgegeven,
  • vatNumber – EU-btw-nummer van het geverifieerde bedrijf dat in de aanvraag is opgegeven,
  • valid – reactie van de VIES-dienst, met informatie over de huidige EU-btw-status van de gecontroleerde entiteit:
    • true – het in de aanvraag opgegeven EU-btw-nummer geldig is,
    • false – het in de aanvraag opgegeven EU-btw-nummer is niet geldig,
  • traderName – handelsnaam van het bedrijf,
  • traderCompanyType – retourneerde altijd een reeks '-'-tekens,
  • traderAddress – bedrijfsadres waar het bedrijf is geregistreerd,
  • id – unieke identificatiecode gegenereerd door het VIES-systeem
  • date – uitvoeringsdatum query
  • source – gegevensbron, altijd: http://ec.europa.eu

Informatie ophalen over de accountstatus van de gebruiker

Met deze functie kunt u alle basisinformatie over het gebruikersaccount downloaden, die wordt weergegeven na het inloggen op het account op het viesapi.eu-portaal. De functie retourneert ook informatie over het maximum aantal zoekopdrachten dat beschikbaar is onder het geselecteerde abonnement (bijv. 5.000 voor het Business-abonnement) en het totale aantal zoekopdrachten dat in de huidige maand op het account van de gebruiker is gedaan.

Aandacht! Het aanroepen van de functie wel niet verhogen het aantal gemaakte vragen.

Het volgende voorbeeld illustreert het gebruik van de bibliotheekfuncties.

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

Een .NET-bibliotheek registreren als een COM-object

De viesapiLibrary.dll bibliotheek kan worden geregistreerd in het Windows-systeem als de zogenaamde COM voorwerp. Vervolgens kan vanuit veel verschillende programmeertalen en kant-en-klare toepassingen naar de functies van de bibliotheek worden verwezen, incl. Microsoft Excel, Access, SQL Server, Dynamics of Visual FoxPro.

Volg deze stappen om een bibliotheek als een COM-object te registreren:

  1. Download de .NET-bibliotheek archiveren en uitpakken op een lokale schijf naar een willekeurige locatie.
  2. Ga naar de map met uitgepakte bibliotheekbestanden en zoek het com-register.bat het dossier.
  3. Selecteer de com-register.bat bestand met de muis en selecteer het Run as administrator opdracht uit het contextmenu.

De .NET-bibliotheek gebruiken in MS Excel

De functies van de viesapiLibrary.dll-bibliotheek kunnen in de MS Excel-toepassing worden gebruikt om uw eigen functies en procedures in de Visual Basic taal. Om dit mogelijk te maken, is het nodig om:

  1. Register de viesapiLibrary.dll bibliotheek als een COM bezwaar op Windows.
  2. Start de Excel-toepassing. Selecteer de DEVELOPER tabblad op het lint en klik vervolgens op de Visual Basic knop.
  3. In de Visual Basic for Application venster, selecteer Tools en toen References uit de menukaart. In de Available References lijst, zoek en selecteer VIESAPI Service Client for .NET Framework (C#). Bevestig uw keuze met de OK knop.
  4. Van de Insert menukaart, kies Module en plak de functiecode uit de voorbeelden voor Visual Basic in het nieuwe venster.
  5. Eindelijk geschikte waarden van w voor viesapi.ID en viesapi.Key moet worden ingesteld. De methode voor het verkrijgen van de sleutel en de toegangssleutel wordt beschreven in het hoofdstuk Genereren van de identifier en toegangssleutel