VIES programozási könyvtárak

A programkönyvtárak lehetővé teszik a vállalkozók adatainak keresését a megadott ÁFA EU-szám alapján. Jelenleg az API-könyvtárak a következő programozási nyelvekhez érhetők el:

  • .NET (C#, Visual Basic)
  • Jáva
  • JavaScript (Node.js)
  • PHP
  • Piton
  • C/C++

Az API a következő szolgáltatásokat nyújtja:

  • getVIESData – az Európai Unió bármely tagállama által kiadott EU adószám tevékenységének megerősítésére szolgáló funkció,
  • getVIESDataParsed – function to confirm the activity of the EU VAT number assigned by any of the European Union Member States and return the parsed trader address,
  • getVIESDataAsync – asynchronous function, which, based on the sent batch of VAT numbers, allows you to obtain the current EU VAT status and trader data,
  • getVIESDataAsyncResult – the function allows you to retrieve batch results based on the token returned by the getVIESDataAsync function,
  • getAccountStatus – function for retrieving up-to-date information about the user account,
  • getVIESStatus – function for retrieving up-to-date information about reference VIES system itself.

Integráció

Minden forráskóddal rendelkező könyvtár letölthető a webhelyről Letöltés oldalon. Ezen kívül a könyvtárak forráskódja is elérhető hivatalos tárhelyünkben a következő címen: Github.

A könyvtár integrálásának módja a kiválasztott programozási nyelvtől függ. Azokon a nyelveken, amelyek támogatják a központi tárhelyen alapuló könyvtárkezelést, lehetséges a használata.

// 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.3.0</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.3.0.zip
' No central repository support

Hitelesítés

A helyes hitelesítés végrehajtásához a megfelelő értékeket a id és key paramétereket kell megadni az ügyfélobjektum felépítése során. Az id paraméternek tartalmaznia kell az engedélyezéshez használt érvényes kulcsazonosítót. Az key paraméternek tartalmaznia kell az engedélyezéshez használt kulcs érvényes értékét. A kulcsazonosítót és a kulcsot a felhasználó állítja elő, miután bejelentkezett a fiókjába viesapi.eu portál. A kulcsok és azonosítók létrehozásának folyamatát fentebb részleteztük.

A következő példa bemutatja a könyvtári függvények használatát:

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"

Figyelem! A hitelesítési folyamat során az ügyfél számítógépének aktuális ideje kerül felhasználásra. Ezért ha a viesapi.eu rendszerhez való csatlakozáskor hitelesítési problémák lépnek fel, először győződjön meg arról, hogy a számítógép vagy a szerver, amelyről a kapcsolat létrejön, a megfelelő aktuális idővel és időzónával rendelkezik. A viesapi.eu rendszer által a megkeresések hitelesítésére használt módszerről bővebb információ található itt.

EU adószámok ellenőrzése

Az EU-s adószám visszaigazolása a telefonszámon történik getVIESData függvényt, melynek paramétere az ellenőrizni kívánt EU-s áfaszám. A funkció lehetővé teszi az Európai Unió összes tagállama által kibocsátott EU adószámok ellenőrzését.

A következő példa bemutatja a függvények használatát a könyvtárakban:

// 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 + " (code: " + viesapi.LastErrorCode + ")");
}
// 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 (code: %d)\n", viesapi_get_last_err(viesapi), viesapi_get_last_err_code(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() + " (code: " + viesapi.getLastErrorCode() + ")");
}
// 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('Error: ' + viesapi.get_last_error() + ' (code: ' + str(viesapi.get_last_error_code()) + ')')
' 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

A visszaadott attribútumok részletes leírása:

  • uid – a viesapi.eu által generált egyedi lekérdezési azonosító,
  • countryCode – országkód, amelyben a megkeresésben megadott EU-adószámmal összefüggő céget bejegyezték,
  • vatNumber – a megkeresésben megadott ellenőrzött cég EU adószáma,
  • valid – a VIES szolgáltatás válasza, amely tájékoztat az ellenőrzött entitás aktuális EU ÁFA státuszáról:
    • true – a megkeresésben megadott EU adószám érvényes,
    • false – a megkeresésben megadott EU adószám nem érvényes,
  • traderName - a cég kereskedelmi neve,
  • traderCompanyType – mindig egy „-” karakterláncot adott vissza,
  • traderAddress - a cég címe, ahol a cég be van jegyezve,
  • id – a VIES rendszer által generált egyedi lekérdezési azonosító (Konzultációs szám)
  • date – a lekérdezés végrehajtásának dátuma
  • source – adatforrás, mindig: http://ec.europa.eu

EU-s áfaszámok ellenőrzése elemzett kereskedői cím és jogi forma alapján

Az EU adószámát a telefonszámon is megerősítheti getVIESDataParsed függvényt, melynek paramétere az ellenőrizni kívánt EU-s áfaszám. Ennek a funkciónak a meghívásával az áfa-adózói státuszra vonatkozó információk mellett az elemzett kereskedői címet is megkapja.

Jegyzet! A VIES által a németországi és spanyolországi kereskedőkről visszaküldött adatok hiánya miatt a funkció igen nem tér vissza egy elemzett kereskedő cím (traderAddressComponent) ezen országok esetében.

Fontos Jogi nyilatkozat

Az elemző funkció külső mesterséges intelligencia algoritmusokat és API-kat használ az olyan attribútumok automatikus kinyerésére, mint: város, irányítószám, utca utcaszámmal (épületszám) és házszám, így nem tudjuk garantálni az 100% megfelelő működését.

A következő példa bemutatja a függvények használatát a könyvtárakban:

// A call to a method that returns data from a VIES system
VIESData vies = viesapi.GetVIESDataParsed("PL1234567890");

if (vies != null) {
	Console.WriteLine(vies);
}
else {
	Console.WriteLine("Error: " + viesapi.LastError + " (code: " + viesapi.LastErrorCode + ")");
}
// A call to a method that returns data from a VIES system
VIESData* vies = viesapi_get_vies_data_parsed(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 (code: %d)\n", viesapi_get_last_err(viesapi), viesapi_get_last_err_code(viesapi));
}
// A call to a method that returns data from a VIES system
VIESData vies = viesapi.getVIESDataParsed("PL1234567890");

if (vies != null) {
	System.out.println(vies);
}
else {
	System.out.println("Error: " + viesapi.getLastError() + " (code: " + viesapi.getLastErrorCode() + ")");
}
// A call to a method that returns data from a VIES system
viesapi.getVIESDataParsed('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_parsed('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_parsed('PL1234567890')

if vies:
    pprint(vars(vies))
else:
    print('Error: ' + viesapi.get_last_error() + ' (code: ' + str(viesapi.get_last_error_code()) + ')')
' A call to a method that returns data from a VIES system
Dim vies As VIESData
Set vies = viesapi.GetVIESDataParsed("PL1234567890")

If vies Is Nothing Then
	Console.WriteLine("Error: {0}", viesapi.LastError)
Else
	Console.WriteLine(vies.ToString())
End If

A visszaadott attribútumok részletes leírása:

  • uid – a viesapi.eu által generált egyedi lekérdezési azonosító,
  • countryCode – országkód, amelyben a megkeresésben megadott EU-adószámmal összefüggő céget bejegyezték,
  • vatNumber – a megkeresésben megadott ellenőrzött cég EU adószáma,
  • valid – a VIES szolgáltatás válasza, amely tájékoztat az ellenőrzött entitás aktuális EU ÁFA státuszáról:
    • true – a megkeresésben megadott EU adószám érvényes,
    • false – a megkeresésben megadott EU adószám nem érvényes,
  • traderName – cégbejegyzési név (eredeti formátum),
  • traderNameComponents – az alkotóelem-csoportosulás társasági formája:
    • name – cégnév a kereskedőNevéből (jogi forma nélkül),
    • legalForm – a kereskedő neve alapján kinyert jogi forma neve (cégnév nélkül),
    • legalFormCanonicalId – a jogi forma szótári azonosítója,
    • legalFromCanonicalName a jogi forma szótári neve,
  • traderCompanyType – mindig egy „-” karakterláncot adott vissza,
  • traderAddress – a cég címe, ahol a céget bejegyezték (eredeti formátum),
  • traderAddressComponent – az alkatrészcsoport címének részletei,
    • country – a kereskedő országának neve a nemzeti nyelvén,
    • postalCode – a kereskedő címének irányítószáma,
    • city – a kereskedő címének városa,
    • street - a kereskedő címének utcaneve,
    • streetNumber – a kereskedő címének utcaneve, házszám,
    • houseNumber – a kereskedő címének megfelelő lakás-/irodai szám,
    • other – egyéb címadatok (körzet neve, épület neve, emeletszám stb.),
  • id – a VIES rendszer által generált egyedi lekérdezési azonosító (Konzultációs szám),
  • date - a lekérdezés végrehajtásának dátuma,
  • source – adatforrás, mindig: http://ec.europa.eu
jogi űrlap Kanonikus azonosító jogi űrlap Kanonikus név könyvtár enum neve
0 Ismeretlen ISMERETLEN
1 Egyéni vállalkozás EGYÉNI TULAJDONOS
2 Korlátolt felelősségű társaság KORLÁTOLT FELELŐSSÉGŰ_TÁRSASÁG
3 Közkereseti társaság ÁLTALÁNOS PARTNERSÉG
4 Részvénytársaság KÖZÖS_RÉSZVÁLLALAT
5 Betéti társaság KORLÁTOZOTT PARTNERSÉG
6 Korlátolt felelősségű társaság KORLÁTOZOTT FELELŐSSÉGŰ MAGÁNSZEMÉLYES VÁLLALAT
7 Egyszemélyes részvénytársaság EGYTAGOS_KÖZÖS_RÉSZVÉNYTÁRSASÁG
8 Egyszerű korlátolt felelősségű társaság EGYSZERŰ_KORLÁTOZOTT_FELELŐSSÉGŰ_VÁLLALAT
9 Egyszemélyes korlátolt felelősségű társaság EGYTAGÚ_KORLÁTOZOTT_FELELŐSSÉGŰ_VÁLLALAT
10 Egyszerűsített részvénytársaság EGYSZERŰSÍTETT_KÖZÖS_RÉSZVÉNYTÁRSASÁG
11 Kisvállalat KIS_VÁLLALAT
12 Korlátolt felelősségű társaság KORLÁTOLT_RÉSZVÉNY_PARTNERSÉG
13 Szakmai partnerség SZAKMAI_PARTNERSÉG
14 Korlátolt felelősségű társaság KORLÁTOZOTT_FELELŐSSÉGŰ_TÁRSASÁG
15 Magánpartnerség MAGÁN_PARTNERSÉG
16 Korlátolt felelősségű társaság Betéti társaság KORLÁTOZOTT_FELELŐSSÉGŰ_TÁRSASÁG_KORLÁTOZOTT_PARTNERSÉG
17 Korlátolt felelősségű társaság Korlátolt felelősségű társaság KORLÁTOLT_FELELŐSSÉGŰ_TÁRSASÁG_KORLÁTOLT_FELMÉRÉSŰ_KÖZÖS_RÉSZVÉNYTÁRSASÁG
18 Közintézmény KÖZINTÉZMÉNY

EU ÁFA számok kötegelt (aszinkron) ellenőrzése

getVIESDataAsync – aszinkron funkció, amely az elküldött áfaszám köteg alapján lehetővé teszi az aktuális EU ÁFA státusz és kereskedő adatok lekérését.
Paraméterként adjon meg egy olyan EU-s áfaszámokat tartalmazó string tömböt, amelyre vonatkozóan ellenőrizni kell az EU-s áfa-adózó státuszt, és le kell tölteni a taposó adatait.

Az elküldött EU-s adószámok minimális száma 3, a maximális pedig 99.

A helyesen meghívott függvény egy tokent ad vissza, amely szükséges a kérés eredményeinek lekéréséhez. A következő példa bemutatja a függvények használatát a könyvtárakban:

// Upload batch of VAT numbers and get their current VAT statuses and traders data
List numbers = new List {
	"PL1234567890,
	"DK64839576",
	"CZ8475630234"
};

string token = viesapi.GetVIESDataAsync(numbers);

if (token != null) {
	Console.WriteLine("Batch token: " + token);
} else {
	Console.WriteLine("Error: " + viesapi.LastError + " (code: " + viesapi.LastErrorCode + ")");
}
// Upload batch of VAT numbers and get their current VAT statuses and traders data
char* numbers[] = {
	"PL1234567890,
	"DK64839576",
	"CZ8475630234"
};

token = viesapi_get_vies_data_async(viesapi, numbers, 3);

if (token != NULL) {
	printf("Batch token:  %s\n", token);
} else {
	printf("Error: %s (code: %d)\n", viesapi_get_last_err(viesapi), viesapi_get_last_err_code(viesapi));
}
// Upload batch of VAT numbers and get their current VAT statuses and traders data
List numbers = new ArrayList<>();
numbers.add("PL1234567890");
numbers.add("DK64839576");
numbers.add("CZ8475630234");

String token = viesapi.getVIESDataAsync(numbers);

if (token != null) {
	System.out.println("Batch token: " + token);
} else {
	System.out.println("Error: " + viesapi.getLastError() + " (code: " + viesapi.getLastErrorCode() + ")");
}
// Upload batch of VAT numbers and get their current VAT statuses and traders data
const numbers = [
	'PL1234567890',
	'DK64839576',
	'CZ8475630234'
];

viesapi.getVIESDataAsync(numbers).then((token) => {
	console.log('Batch token: ' + token);
}).catch((e) => {
	console.log(e.message);
});
// Upload batch of VAT numbers and get their current VAT statuses and traders data
$numbers = array(
	'PL1234567890',
	'DK64839576',
	'CZ7710043187'
);

$token = $viesapi->get_vies_data_async($numbers);

if ($token) {
	echo '<pre>Batch token: ' . $token . '</pre>';
} else {
	echo '<p>Error: ' . $viesapi->get_last_error() . ' (code: ' . $viesapi->get_last_error_code() . ')</p>';
}
# Upload batch of VAT numbers and get their current VAT statuses and traders data
numbers = [
    'PL1234567890',
    'DK64839576',
    'CZ7710043187'
]

token = viesapi.get_vies_data_async(numbers)

if token:
    print('Batch token: ' + token)
else:
    print('Error: ' + viesapi.get_last_error() + ' (code: ' + str(viesapi.get_last_error_code()) + ')')
' Not supported yet

A függvény aszinkron jellege miatt az eredmények körülbelül 2-3 perc után lekérdezhetők. Nem számít, hogy 3 vagy 99 EU-s adószámot küldtek a kérésben.

Ha legalább egy, a kérelemben átadott EU-s adószám formátuma nem megfelelő, a rendszer „Az adószám érvénytelen” hibát ad vissza.

Az elküldött kérés eredményeinek lekéréséhez hívja a getVIESDataAsyncResult függvényt, megadva a token értékét bemeneti paraméterként.

Fontos megjegyzés!

  1. A függvény a VIES rendszer által visszaadott hiba megoldásaként készült: "The maximum number of concurrent requests has been reached” (MS_MAX_CONCURRENT_REQ). Javasoljuk, hogy használja kérések küldésekor Németország (DE) és Franciaország (FR), amely visszaadta a fent említett hibát.
  2. Amíg a kérelemben elküldött összes EU-s áfaszám ellenőrzése be nem fejeződik, minden további próbálkozást elutasítunk, és a hibát kijavítjuk.The maximum number of batch request has been reached, please re-submit your request later“.

getVIESDataAsyncResult– a funkció lehetővé teszi a kötegelt eredmények lekérését a által visszaadott token alapján getVIESDataAsync funkció.

A következő példa bemutatja a függvények használatát a könyvtárakban:

// Check batch result and download data (at production it usually takes 2-3 min for result to be ready)
BatchResult result;

while ((result = viesapi.GetVIESDataAsyncResult(token)) == null) {
	if (viesapi.LastErrorCode != Error.BATCH_PROCESSING) {
		Console.WriteLine("Error: " + viesapi.LastError + " (code: " + viesapi.LastErrorCode + ")");
		return;
	}

	Console.WriteLine("Batch is still processing, waiting...");
	Thread.Sleep(30000);
}

// Batch result is ready
Console.WriteLine(result);
// Check batch result and download data (at production it usually takes 2-3 min for result to be ready)
while ((result = viesapi_get_vies_data_async_result(viesapi, token)) == NULL) {
	if (viesapi_get_last_err_code(viesapi) != VIESAPI_ERR_BATCH_PROCESSING) {
		printf("Error: %s (code: %d)\n", viesapi_get_last_err(viesapi), viesapi_get_last_err_code(viesapi));
		return;
	}

	printf("Batch is still processing, waiting...\n");
	Sleep(30000);
}

// Batch result is ready
for (i = 0; i < result->NumbersCount; i++) {
	printf("Country:  %s\n", result->Numbers[i]->CountryCode);
	printf("VAT ID:   %s\n", result->Numbers[i]->VATNumber);
	printf("Is valid: %d\n", result->Numbers[i]->Valid);
	printf("\n");
}

for (i = 0; i < result->ErrorsCount; i++) {
	printf("Country:  %s\n", result->Errors[i]->CountryCode);
	printf("VAT ID:   %s\n", result->Errors[i]->VATNumber);
	printf("Error:    %s\n", result->Errors[i]->Error);
	printf("\n");
}
// Check batch result and download data (at production it usually takes 2-3 min for result to be ready)
BatchResult result;

while ((result = viesapi.getVIESDataAsyncResult(token)) == null) {
	if (viesapi.getLastErrorCode() != eu.viesapi.client.Error.BATCH_PROCESSING) {
		System.out.println("Error: " + viesapi.getLastError() + " (code: " + viesapi.getLastErrorCode() + ")");
		return;
	}

	System.out.println("Batch is still processing, waiting...");
	Thread.sleep(30000);
}

// Batch result is ready
System.out.println(result);
// Check batch result and download data (at production it usually takes 2-3 min for result to be ready)
const looper = setInterval(() => {
	viesapi.getVIESDataAsyncResult(token).then((result) => {
		// Batch result is ready
		console.log(result);
		clearInterval(looper);
	}).catch((e) => {
		console.log(e.message);
	});
}, 30000);
// Check batch result and download data (at production it usually takes 2-3 min for result to be ready)
while (($result = $viesapi->get_vies_data_async_result($token)) === false) {
	if ($viesapi->get_last_error_code() !== \VIESAPI\Error::BATCH_PROCESSING) {
		echo '<p>Error: ' . $viesapi->get_last_error() . ' (code: ' . $viesapi->get_last_error_code() . ')</p>';
		die();
	}

	echo '<p>Batch is still processing, waiting...</p>';
	sleep(30);
}

// Batch result is ready
echo '<pre>' . print_r($result, true) . '</pre>';
# Upload batch of VAT numbers and get their current VAT statuses and traders data
numbers = [
    'PL1234567890',
    'DK64839576',
    'CZ7710043187'
]

token = viesapi.get_vies_data_async(numbers)

if token:
    print('Batch token: ' + token)
else:
    print('Error: ' + viesapi.get_last_error() + ' (code: ' + str(viesapi.get_last_error_code()) + ')')
' Not supported yet

A köteghívásban átadott minden EU-s áfaszámhoz a következőre adott válasznak megfelelő attribútumok getVIESData függvényt adják vissza.

Információk lekérése a felhasználói fiók állapotáról

A funkció lehetővé teszi a felhasználói fiókkal kapcsolatos összes alapvető információ letöltését, amely a fiókba való bejelentkezés után jelenik meg a viesapi.eu portálon. A függvény információkat ad vissza a kiválasztott terv keretében elérhető lekérdezések maximális számáról (pl. 5000 az Üzleti tervnél), valamint az aktuális hónapban a felhasználói fiókban végrehajtott összes lekérdezés számáról.

Figyelem! Calling the function does nem növeli a lekérdezések száma.

A következő példa bemutatja a könyvtári függvények használatát.

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

Retrieving information about the VIES system status

This function allows you to verify the current status of the VIES system. It returns an overall status indicating availability, as well as a list of individual member countries together with the current availability status of their national systems.

Figyelem! Calling the function does nem növeli a lekérdezések száma.

The following examples illustrates how to use the library function.

// Get current EU VIES system status
VIESStatus viesStatus = viesapi.GetVIESStatus();

if (viesStatus != null)
{
    Console.WriteLine(viesStatus);
} else {
    Console.WriteLine("Error: " + viesapi.LastError + " (code: " + viesapi.LastErrorCode + ")");
}
// Get current EU VIES system status
vies_status = viesapi_get_vies_status(viesapi);

if (vies_status != NULL) {
    printf("VIES is available: %s\n", vies_status->Available ? "Yes" : "No");
    printf("\n");

    for (i = 0; i < vies_status->CountriesCount; i++) {
        printf("Country code:      %s\n", vies_status->Countries[i]->CountryCode);
        printf("Status:            %s\n", vies_status->Countries[i]->Status);
        printf("\n");
    }
} else {
    printf("Error: %s (code: %d)\n", viesapi_get_last_err(viesapi), viesapi_get_last_err_code(viesapi));
}
// Get current EU VIES system status
VIESStatus viesStatus = viesapi.getVIESStatus();

if (viesStatus != null) {
    System.out.println(viesStatus);
} else {
    System.out.println("Error: " + viesapi.getLastError() + " (code: " + viesapi.getLastErrorCode() + ")");
}
// Get current EU VIES system status
viesapi.getVIESStatus().then((vies) => {
    console.log(vies.toString());
}).catch((e) => {
    console.log(e.message);
});
// Get current EU VIES system status
$vies_system = $viesapi->get_vies_status();

if ($vies_system) {
    echo '<pre>' . print_r($vies_system, true) . '</pre>';
} else {
    echo '<p>Error: ' . $viesapi->get_last_error() . ' (code: ' . $viesapi->get_last_error_code() . ')</p>';
}
# Get current EU VIES system status
vies_status = viesapi.get_vies_status()

if vies_status:
    print(vies_status)
else:
    print('Error: ' + viesapi.get_last_error() + ' (code: ' + str(viesapi.get_last_error_code()) + ')')
'Get current EU VIES system status
Dim status As VIESStatus
Set status = viesapi.GetVIESStatus()

If status Is Nothing Then
	Console.WriteLine("Error: {0}", viesapi.LastError)
Else
	Console.WriteLine(status.ToString())
End If

.NET-könyvtár regisztrálása COM-objektumként

Az viesapiLibrary.dll könyvtár regisztrálható a Windows rendszerben ún COM tárgy. Ekkor számos programozási nyelvből és kész alkalmazásból hivatkozhatunk a könyvtár funkcióira, pl. Microsoft Excel, Access, SQL Server, Dynamics vagy Visual FoxPro.

Egy könyvtár COM-objektumként történő regisztrálásához kövesse az alábbi lépéseket:

  1. Töltse le a .NET könyvtár archiválja és csomagolja ki egy helyi lemezre tetszőleges helyre.
  2. Lépjen a kicsomagolt könyvtári fájlokat tartalmazó könyvtárba, és keresse meg a com-register.bat fájlt.
  3. Válaszd ki a com-register.bat fájlt az egérrel, és válassza ki a Run as administrator parancsot a helyi menüből.

A .NET könyvtár használata MS Excelben

A viesapiLibrary.dll könyvtár funkciói az MS Excel alkalmazásban használhatók saját függvények és eljárások írására a Visual Basic nyelv. Ahhoz, hogy ez lehetséges legyen, szükséges:

  1. Regisztráció az viesapiLibrary.dll könyvtár, mint a COM tárgy be Windows.
  2. Indítsa el az Excel alkalmazást. Válaszd ki a DEVELOPER fület a szalagon, majd kattintson a gombra Visual Basic gomb.
  3. Ban,-ben Visual Basic for Application ablakban válassza ki Tools és akkor References menüből. Ban,-ben Available References listázza, keresse meg és válassza ki VIESAPI Service Client for .NET Framework (C#). Erősítse meg választását a gombbal OK gomb.
  4. Tól Insert menüből válassza ki Module és illessze be a Visual Basic példáiban bemutatott függvénykódot az új ablakba.
  5. Végül a megfelelő w értékei viesapi.ID és viesapi.Key be kell állítani. A kulcs és a hozzáférési kulcs megszerzésének módját a fejezet ismerteti Az azonosító és a hozzáférési kulcs generálása