VIES programmeringsbiblioteker
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,getVIESDataParsed– funktion til at bekræfte aktiviteten for det EU-momsnummer, der er tildelt af en af Den Europæiske Unions medlemsstater, og returnere den analyserede erhvervsdrivendes adresse,getVIESDataAsync– asynkron funktion, som baseret på den sendte samling af momsnumre giver dig mulighed for at indhente den aktuelle EU-momsstatus og erhvervsdrivendes data,getVIESDataAsyncResult– funktionen giver dig mulighed for at hente batchresultater baseret på den token, der returneres af getVIESDataAsync-funktionen,getAccountStatus– funktion til at hente opdaterede oplysninger om brugerkontoen,getVIESStatus– funktion til at hente opdaterede oplysninger om selve reference-VIES-systemet.
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.
- 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.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
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:
- 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"
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:
- 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 + " (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
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ørgsels-id genereret af VIES-systemet (Konsultationsnummer)date– forespørgsels udførelsesdatosource– datakilde, altid: http://ec.europa.eu
Kontrol af EU-momsnumre med analyseret erhvervsdrivendes adresse og juridiske form
Du kan også bekræfte EU-momsnummeret ved at ringe til getVIESDataParsed funktion, hvis parameter er det EU-momsnummer, som vi ønsker at verificere. Ved at kalde denne funktion modtager du, udover oplysninger om status som momspligtig, også den parsede erhvervsadresse.
Note! På grund af manglen på data returneret af VIES for handlende fra Tyskland og Spanien, gør funktionen det ikke vende tilbage en analyseret forhandleradresse (traderAddressComponent) for disse lande.
Vigtig ansvarsfraskrivelse
Parsingsfunktionen bruger eksterne AI-algoritmer og API'er til automatisk at udtrække attributter såsom: by, postnummer, gade med gadenummer (bygningsnummer) og husnummer, så vi kan ikke garantere, at dens 100% fungerer korrekt.
Følgende eksempel illustrerer, hvordan funktioner bruges i biblioteker:
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual Basic
// 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
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 registreringsnavn (originalt format),
traderNameComponents– komponentgruppeselskabets juridiske form:name– firmanavn fra traderName (uden juridisk form),legalForm– navn på juridisk form udtrukket fra traderName (uden firmanavn),legalFormCanonicalId– ordbogsidentifikator for juridisk form,legalFromCanonicalName– ordbogsnavn på juridisk form,
traderCompanyType– returnerede altid en streng af '-'-tegn,traderAddress– virksomhedsadresse, hvor virksomheden er registreret (originalt format),traderAddressComponent– adresseoplysninger for komponentgruppering,country– handelslandets navn på dets nationale sprogpostalCode– postnummeret på den erhvervsdrivendes adressecity– den erhvervsdrivendes adresse i byenstreet-gaden på den erhvervsdrivendes adressestreetNumber– gadenummeret på den erhvervsdrivendes adressehouseNumber– lejligheds-/kontornummer på den erhvervsdrivendes adresseother– andre adresseoplysninger (områdenavn, bygningsnavn, etagenummer osv.)id– unik forespørgsels-id genereret af VIES-systemet (Konsultationsnummer),date– forespørgsels udførelsesdato,source– datakilde, altid: http://ec.europa.eu
| juridiskFormularKanoniskId | juridisk formular kanonisk navn | bibliotekets enum-navn |
| 0 | Ukendt | UKENDT |
| 1 | Enkeltmandsvirksomhed | ENSINDEHAVER |
| 2 | Selskab med begrænset ansvar | SELSKAB MED LIMITED_ANSVAR |
| 3 | Generelt partnerskab | GENERELT_PARTNERSKAB |
| 4 | Aktieselskab | AKTIESELSKAB |
| 5 | Kommanditselskab | LIMITED_PARTNERSHIP |
| 6 | Privat selskab med begrænset ansvar | PRIVAT_BEGRÆNSET_ANSVARSVIRKSOMHED |
| 7 | Enkeltmandsaktieselskab | ENKELT_MEDLEM_FÆLLESAKTIESELSKAB |
| 8 | Simpelt selskab med begrænset ansvar | SIMPLE_LIMITED_LABILITY_COMPANY |
| 9 | Enkeltmandsselskab med begrænset ansvar | ENKELT_MEDLEM_BEGRÆNSET_ANSVARSVIRKSOMHED |
| 10 | Forenklet aktieselskab | FORENKLET_AKTIESELSKAB |
| 11 | Lille virksomhed | LILLE_VIRKSOMHED |
| 12 | Kommanditselskab | LIMITED_JOINT_STOCK_PARTNERSHIP |
| 13 | Professionelt partnerskab | PROFESSIONELT PARTNERSKAB |
| 14 | Partnerskab med begrænset ansvar | PARTNERSKAB MED BEGRÆNSET ANSVAR |
| 15 | Privat partnerskab | PRIVAT_PARTNERSKAB |
| 16 | Aktieselskab (A/S) | LIMITED_LIABILITY_COMPANY_LIMITED_PARTNERSHIP |
| 17 | Aktieselskab (Anpartsselskab) | LIMITED_LIABILITY_COMPANY_LIMITED_JOINT_STOCK_PARTNERSHIP |
| 18 | Offentlig institution | OFFENTLIG_INSTITUTION |
Batch (asynkron) kontrol af EU-momsnumre
getVIESDataAsync – asynkron funktion, som, baseret på den tilsendte batch af momsnumre, giver dig mulighed for at få den aktuelle EU-momsstatus og forhandlerdata.
Som en parameter skal du angive et string-array, der indeholder EU-momsnumre, for hvilke EU-momsskatteyderstatus skal kontrolleres, og treader-data skal downloades.
Det mindste antal EU-momsnumre, der kan sendes, er 3, og det højeste er 99.
En korrekt kaldt funktion returnerer et token, som er nødvendigt for at hente anmodningsresultaterne. Følgende eksempel illustrerer, hvordan funktioner bruges i biblioteker:
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual Basic
// 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
På grund af funktionens asynkrone natur kan resultaterne hentes efter cirka 2-10 minutter. Hvis mindst ét EU-momsnummer, der er angivet i anmodningen, har et forkert format, returnerer systemet fejlen "Momsnummeret er ugyldigt".
For at hente resultaterne for den sendte anmodning, ring til getVIESDataAsyncResult funktion, der angiver tokenværdien som inputparameter.
Vigtig bemærkning!
- Funktionen blev udarbejdet som en løsning på den fejl, der blev returneret af VIES-systemet:
The maximum number of concurrent requests has been reached(MS_MAX_CONCURRENT_REQ). Vi anbefaler at bruge det, når du sender anmodninger om Tyskland (DE) og Frankrig (FR), som returnerede ovennævnte fejl. - Opret større partier, der indeholder mere end tre momsnumre. Medtag ikke dit eget momsnummer i en batch, da den vil blive afvist. Hver batch skal indeholde en liste over unikke momsnumre.
- Når du bruger
getVIESDataAsyncResultfunktionen, undgå at kontrollere batchstatus for ofte. Da batchbehandling typisk tager mellem 2 og 10 minutter, er det unødvendigt at afstemme status hvert sekund. Det anbefales at kontrollere status højst én gang hvert 20.-30. sekund. - Batches skal sendes sekventielt i stedet for parallelt. Processen er ikke multitrådet – send én batch, vent på resultatet, modtag den, og send derefter den næste. Hvis du sender flere batches samtidigt, kan det medføre, at VIES-systemet midlertidigt blokerer adgangen og forhindrer yderligere batchindsendelser.
getVIESDataAsyncResult– funktionen giver dig mulighed for at hente batchresultater baseret på det token, der returneres af getVIESDataAsync fungere.
Følgende eksempel illustrerer, hvordan funktioner bruges i biblioteker:
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual Basic
// 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
For hvert EU-momsnummer, der sendes i batch-opkaldet, stemmer attributter med svaret på getVIESData funktion returneres.
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 af funktionen gør ikke stige antallet af stillede forespørgsler.
Følgende eksempel illustrerer, hvordan du bruger biblioteksfunktionerne.
- 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
Hentning af oplysninger om VIES-systemets status
Denne funktion giver dig mulighed for at verificere VIES-systemets aktuelle status. Den returnerer en samlet status, der angiver tilgængelighed, samt en liste over individuelle medlemslande sammen med den aktuelle tilgængelighedsstatus for deres nationale systemer.
Opmærksomhed! Kald af funktionen gør ikke stige antallet af stillede forespørgsler.
De følgende eksempler illustrerer, hvordan man bruger biblioteksfunktionen.
- C#
- C/C++
- Java
- JavaScript
- PHP
- Python
- Visual Basic
// 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
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:
- Download .NET bibliotek arkivere og pakke den ud på en lokal disk til et hvilket som helst sted.
- Gå til mappen med udpakkede biblioteksfiler og find
com-register.batfil. - Vælg
com-register.batfil med musen og vælgRun as administratorkommando 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:
- Tilmeld det
viesapiLibrary.dllbibliotek som enCOMobjekt påWindows. - Start Excel-applikationen. Vælg
DEVELOPERfanen på båndet, og klik derefter påVisual Basicknap. - I den
Visual Basic for Applicationvindue, vælgToolsog såReferencesfra menuen. I denAvailable Referencesliste, find og vælgVIESAPI Service Client for .NET Framework (C#). Bekræft dit valg medOKknap. - Fra
Insertmenu, vælgModuleog indsæt funktionskoden præsenteret i eksemplerne for Visual Basic i det nye vindue. - Endelig passende værdier af w for
viesapi.IDogviesapi.Keyskal indstilles. Metoden til at få nøglen og adgangsnøglen er beskrevet i kapitlet Generering af identifikator og adgangsnøgle