Programmeringsbiblioteker giver dig mulighed for at søge efter iværksætterdata baseret på det indtastede EU-momsnummer. I øjeblikket er API-biblioteker tilgængelige for følgende programmeringssprog:

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

API giver følgende funktioner:

  • getVIESData – funktion til at bekræfte aktiviteten af det EU-momsnummer, der er tildelt af en af EU-medlemsstaterne,
  • getAccountStatus –funktion til at hente opdaterede oplysninger om brugerkontoen.

Integration

Alle biblioteker med kildekoder er tilgængelige for download på Hent side. Derudover er kildekoden til bibliotekerne også tilgængelig i vores officielle lager på Github.

Måden at integrere biblioteket på afhænger af det valgte programmeringssprog. For de sprog, der understøtter biblioteksstyring baseret på et centralt lager, er det muligt at bruge det.

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

Godkendelse

For at udføre den korrekte godkendelse skal de korrekte værdier af id og key parametre skal angives under konstruktionen af klientobjektet. Det id parameter skal indeholde en gyldig nøgle-id, der bruges til godkendelse. Det key parameter skal indeholde en gyldig værdi af den nøgle, der bruges til godkendelse. Nøgleidentifikationen og nøglen genereres af brugeren efter at have logget ind på sin konto på viesapi.eu portal. Processen med at generere nøglerne og identifikatorerne er blevet beskrevet detaljeret ovenfor.

Følgende eksempel illustrerer, hvordan du bruger biblioteksfunktionerne:

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"

Opmærksomhed! Den aktuelle tid på klientens computer bruges under godkendelsesprocessen. I tilfælde af autentificeringsproblemer, når du forsøger at oprette forbindelse til viesapi.eu-systemet, skal du derfor først sikre dig, at computeren eller serveren, hvorfra forbindelsen er etableret, har den korrekte aktuelle tid og tidszone. Du kan finde flere oplysninger om den metode, som viesapi.eu-systemet bruger til at autentificere forespørgsler her.

Kontrol af EU-momsnumre

EU-momsnummeret bekræftes ved at ringe til getVIESData() funktion, hvis parameter er det EU-momsnummer, som vi ønsker at verificere. Funktionen muliggør verifikation af EU-momsnumre udstedt af alle EU-medlemslande.

Følgende eksempel illustrerer, hvordan funktioner bruges i biblioteker:

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

Attributterne for det returnerede objekt

Detaljeret beskrivelse af returnerede attributter:

  • uid – unik forespørgsels-id genereret af viesapi.eu,
  • countryCode – landekode, hvor den virksomhed, der er tilknyttet det EU-momsnummer, der er angivet i forespørgslen, er registreret,
  • vatNumber – EU-momsnummer for den verificerede virksomhed, der er angivet i forespørgslen,
  • valid – svar fra VIES-tjenesten, der informerer om den aktuelle EU-momsstatus for den kontrollerede enhed:
    • true – det EU-momsnummer, der er angivet i forespørgslen, er gyldigt,
    • false – EU-momsnummeret, der er angivet i forespørgslen, er ikke gyldigt,
  • traderName – virksomhedens firmanavn,
  • traderCompanyType – returnerede altid en streng af '-'-tegn,
  • traderAddress – virksomhedsadresse, hvor virksomheden er registreret,
  • id – unik forespørgselsidentifikation genereret af VIES-systemet
  • date – forespørgsels udførelsesdato
  • source – datakilde, altid: http://ec.europa.eu

Henter oplysninger om brugerens kontostatus

Funktionen giver dig mulighed for at downloade al den grundlæggende information om brugerkontoen, som vises efter at du er logget ind på kontoen på viesapi.eu-portalen. Funktionen returnerer også information om det maksimale antal forespørgsler, der er tilgængelige under den valgte plan (f.eks. 5.000 for forretningsplanen) og det samlede antal af alle forespørgsler foretaget i den aktuelle måned på brugerens konto.

Opmærksomhed! Kald funktionen gør ikke stige antallet af stillede forespørgsler.

Følgende eksempel illustrerer, hvordan du bruger biblioteksfunktionerne.

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

Registrering af et .NET-bibliotek som et COM-objekt

Det viesapiLibrary.dll bibliotek kan registreres i Windows-systemet som det såkaldte COM objekt. Så kan bibliotekets funktioner refereres fra mange forskellige programmeringssprog og færdige applikationer, inkl. Microsoft Excel, Access, SQL Server, Dynamics eller Visual FoxPro.

Følg disse trin for at registrere et bibliotek som et COM-objekt:

  1. Download .NET bibliotek arkivere og pakke den ud på en lokal disk til et hvilket som helst sted.
  2. Gå til mappen med udpakkede biblioteksfiler og find com-register.bat fil.
  3. Vælg com-register.bat fil med musen og vælg Run as administrator kommando fra kontekstmenuen.

Brug af .NET-biblioteket i MS Excel

Funktionerne i biblioteket viesapiLibrary.dll kan bruges i MS Excel-applikationen til at skrive dine egne funktioner og procedurer i Visual Basic Sprog. For at gøre det muligt er det nødvendigt at:

  1. Tilmeld det viesapiLibrary.dll bibliotek som en COM objekt på Windows.
  2. Start Excel-applikationen. Vælg DEVELOPER fanen på båndet, og klik derefter på Visual Basic knap.
  3. I den Visual Basic for Application vindue, vælg Tools og så References fra menuen. I den Available References liste, find og vælg VIESAPI Service Client for .NET Framework (C#). Bekræft dit valg med OK knap.
  4. Fra Insert menu, vælg Module og indsæt funktionskoden præsenteret i eksemplerne for Visual Basic i det nye vindue.
  5. Endelig passende værdier af w for viesapi.ID og viesapi.Key skal indstilles. Metoden til at få nøglen og adgangsnøglen er beskrevet i kapitlet Generering af identifikator og adgangsnøgle