VIES-ohjelmointikirjastot
Ohjelmointikirjastojen avulla voit etsiä yrittäjätietoja syötetyn ALV-numeron perusteella. Tällä hetkellä API-kirjastot ovat saatavilla seuraaville ohjelmointikielille:
- .NET (C#, Visual Basic)
- Java
- JavaScript (Node.js)
- PHP
- Python
- C/C++
API tarjoaa seuraavat ominaisuudet:
getVIESData– toiminto, jolla varmistetaan minkä tahansa Euroopan unionin jäsenvaltion myöntämän EU:n ALV-numeron toiminta,getVIESDataParsed– toiminto, jolla vahvistetaan jonkin Euroopan unionin jäsenvaltion antaman EU:n alv-numeron toiminta ja palautetaan jäsennetyn toimijan osoite,getVIESDataAsync– asynkroninen funktio, joka lähetetyn ALV-numeroerän perusteella mahdollistaa nykyisen EU:n ALV-statuksen ja kauppiaan tietojen hankkimisen,getVIESDataAsyncResult– funktion avulla voit hakea erätuloksia getVIESDataAsync-funktion palauttaman tokenin perusteella,getAccountStatus– toiminto käyttäjätilin ajantasaisten tietojen hakemiseen,getVIESStatus– toiminto, jolla hakee ajantasaista tietoa itse viite-VIES-järjestelmästä.
Liittäminen
Kaikki kirjastot lähdekoodeilla ovat ladattavissa osoitteessa ladata sivu. Lisäksi kirjastojen lähdekoodi on saatavilla myös virallisessa arkistossamme osoitteessa Github.
Kirjaston integrointitapa riippuu valitusta ohjelmointikielestä. Niille kielille, jotka tukevat kirjastojen hallintaa keskustietovaraston perusteella, on mahdollista käyttää sitä.
- 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
Todennus
Oikean todennuksen suorittamiseksi oikeat arvot id ja key parametrit tulee antaa asiakasobjektin rakentamisen aikana. The id parametrin tulee sisältää kelvollinen valtuutuksessa käytetty avaintunnus. The key parametrin tulee sisältää valtuutukseen käytetyn avaimen kelvollinen arvo. Käyttäjä luo avaimen tunnisteen ja avaimen kirjautuessaan sisään tililleen viesapi.eu portaali. Avainten ja tunnisteiden luontiprosessi on kuvattu yksityiskohtaisesti edellä.
Seuraava esimerkki havainnollistaa kirjastotoimintojen käyttöä:
- 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"
Huomio! Todennusprosessissa käytetään asiakkaan tietokoneen nykyistä aikaa. Siksi, jos todennusongelmia yritetään muodostaa yhteyttä viesapi.eu-järjestelmään, varmista ensin, että tietokoneella tai palvelimella, josta yhteys muodostetaan, on oikea aika ja aikavyöhyke. Lisätietoja viesapi.eu-järjestelmän käyttämästä tiedustelujen todentamismenetelmästä löytyy tässä.
EU:n ALV-numeroiden tarkistaminen
EU:n ALV-numero vahvistetaan soittamalla numeroon getVIESData -toiminto, jonka parametri on EU:n ALV-numero, jonka haluamme varmistaa. Toiminto mahdollistaa kaikkien Euroopan unionin jäsenvaltioiden myöntämien EU-alv-numeroiden tarkistamisen.
Seuraava esimerkki havainnollistaa funktioiden käyttöä kirjastoissa:
- 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
Yksityiskohtainen kuvaus palautetuista määritteistä:
uid– Viesapi.eu:n luoma yksilöllinen kyselytunniste,countryCode– maakoodi, johon tiedustelussa ilmoitettuun EU:n ALV-numeroon liittyvä yritys on rekisteröity,vatNumber– kyselyssä ilmoitetun varmennetun yrityksen EU-alv-numero,valid– vastaus VIES-palvelusta, joka kertoo tarkastetun yksikön nykyisestä EU-arvonlisäverotilasta:true– tiedustelussa annettu EU:n ALV-numero on voimassa,false– kyselyssä annettu EU:n ALV-numero ei ole kelvollinen,
traderName– yrityksen toiminimi,traderCompanyType– palautti aina merkkijonon "-",traderAddress– yrityksen osoite, johon yritys on rekisteröity,id– VIES-järjestelmän luoma yksilöllinen kyselytunniste (konsultointinumero)date– kyselyn suorituspäivämääräsource– tietolähde, aina: http://ec.europa.eu
EU:n ALV-numeroiden tarkistaminen jäsennetyn toimijan osoitteen ja oikeudellisen muodon avulla
Voit myös vahvistaa EU:n ALV-numeron soittamalla numeroon getVIESDataParsed -toiminto, jonka parametri on EU:n ALV-numero, jonka haluamme varmistaa. Kutsumalla tätä toimintoa saat arvonlisäverovelvollisen asematietojen lisäksi myös jäsennetyn toimijan osoitteen.
Huom! Koska VIES:n palauttamat tiedot Saksan ja Espanjan kauppiaille puuttuvat, toiminto toimii ei palaa jäsennetty kauppiaan osoite (traderAddressComponent) näille maille.
Tärkeä vastuuvapauslauseke
Jäsennystoiminto käyttää ulkoisia tekoälyalgoritmeja ja API:ita poimimaan automaattisesti attribuutteja, kuten: kaupunki, postinumero, katu katunumeroineen (rakennuksen numero) ja talonumero, joten emme voi taata sen 100% oikeaa toimintaa.
Seuraava esimerkki havainnollistaa funktioiden käyttöä kirjastoissa:
- 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
Yksityiskohtainen kuvaus palautetuista määritteistä:
uid– Viesapi.eu:n luoma yksilöllinen kyselytunniste,countryCode– maakoodi, johon tiedustelussa ilmoitettuun EU:n ALV-numeroon liittyvä yritys on rekisteröity,vatNumber– kyselyssä ilmoitetun varmennetun yrityksen EU-alv-numero,valid– vastaus VIES-palvelusta, joka kertoo tarkastetun yksikön nykyisestä EU-arvonlisäverotilasta:true– tiedustelussa annettu EU:n ALV-numero on voimassa,false– kyselyssä annettu EU:n ALV-numero ei ole kelvollinen,
traderName– yrityksen rekisteröintinimi (alkuperäinen muoto),
traderNameComponents– komponenttiryhmittymän yrityksen oikeudellinen muoto:name– yrityksen nimi traderName-lomakkeella (ilman oikeudellista muotoa),legalForm– oikeudellisen muodon nimi, joka on poimittu traderName-tiedoista (ilman yrityksen nimeä),legalFormCanonicalId– oikeudellisen muodon sanakirjatunniste,legalFromCanonicalName– oikeudellisen muodon sanakirjanimi,
traderCompanyType– palautti aina merkkijonon "-",traderAddress– yrityksen osoite, johon yritys on rekisteröity (alkuperäinen muoto),traderAddressComponent– komponenttien ryhmittelyn osoitetiedot,country– kauppiaan maan nimi sen omalla kielellä,postalCode– elinkeinonharjoittajan osoitteen postinumero,city– elinkeinonharjoittajan osoitteen kaupunki,street-elinkeinonharjoittajan osoitteen katuosoite,streetNumber– elinkeinonharjoittajan osoitteen katuosoite,houseNumber– elinkeinonharjoittajan osoitteen mukainen asunnon/toimiston numero,other– muut osoitetiedot (alueen nimi, rakennuksen nimi, kerrosnumero jne.),id– VIES-järjestelmän luoma yksilöllinen kyselytunniste (konsultointinumero),date– kyselyn suorituspäivämäärä,source– tietolähde, aina: http://ec.europa.eu
| oikeudellinen lomakeKanoninen tunniste | oikeudellinen lomakeKanoninen nimi | kirjaston luettelonimi |
| 0 | Tuntematon | TUNTEMATON |
| 1 | Yksityisyrittäjä | YKSITYISOMISTAJA |
| 2 | Osakeyhtiö | RAJOITETUN_VASTUUN_YHTIÖ |
| 3 | Avoin yhtiö | YLEINEN_KUMPPANUUS |
| 4 | Osakeyhtiö | YHTEINEN_OSAKE_YHTIÖ |
| 5 | Kommandiittiyhtiö | RAJOITETTU_KUMPPANUUS |
| 6 | Yksityinen osakeyhtiö | YKSITYINEN_RAJOITETTU_VASTUUSYRITYS |
| 7 | Yhden jäsenen osakeyhtiö | YHDEN_JÄSENEN_YHTIÖ |
| 8 | Yksinkertainen osakeyhtiö | YKSINKERTAINEN_RAJOITETTU_VASTUUSYRITYS |
| 9 | Yhden jäsenen osakeyhtiö | YHDEN JÄSENEN RAJOITETTU_VASTUUSYRITYS |
| 10 | Yksinkertaistettu osakeyhtiö | YKSINKERTAISTETTU_YHTEINEN_OSAKEYHTIÖ |
| 11 | Pieni yritys | PIENI_YRITYS |
| 12 | Kommandiittiyhtiö | RAJOITETTU_YHTEISPARTNERSHIP |
| 13 | Ammatillinen kumppanuus | AMMATTIMAINEN_KUMPPANUUS |
| 14 | Kommandiittiyhtiö | RAJOITETUN_VASTUUN_YHTEISÖ |
| 15 | Yksityinen kumppanuus | YKSITYINEN_KUMPPANUUS |
| 16 | Osakeyhtiö Kommandiittiyhtiö | RAJOITETUN_VASTUUN_YRITYKSEN_RAJOITETTU_YHTEISKUMPPANUUS |
| 17 | Osakeyhtiö Kommandiittiyhtiö | RAJOITETTU_VASTUUSYHTIÖ_RAJOITETTU_YHTEISPARTNERSHIP |
| 18 | Julkinen laitos | JULKINEN_LAITOS |
Erä (asynkroninen) tarkistaa EU:n ALV-numerot
getVIESDataAsync – asynkroninen toiminto, jonka avulla voit saada lähetetyn arvonlisäveronumeroerän perusteella EU:n nykyisen ALV-statuksen ja kauppiaan tiedot.
Anna parametriksi merkkijonotaulukko, joka sisältää EU:n ALV-numerot, joiden EU-arvonlisäverovelvollisen asema tulee tarkistaa ja polkijan tiedot ladata.
Lähetettävien EU:n ALV-numeroiden vähimmäismäärä on 3 ja enimmäismäärä 99.
Oikein kutsuttu funktio palauttaa tunnuksen, joka on tarpeen pyyntötulosten noutamiseksi. Seuraava esimerkki havainnollistaa funktioiden käyttöä kirjastoissa:
- 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
Due to the asynchronous nature of the function, the results can be retrieved after about 2-10 minutes. If at least one EU VAT number passed in the request has an incorrect format, the system returns an error “The VAT number is invalid”.
Jos haluat noutaa lähetetyn pyynnön tulokset, soita numeroon getVIESDataAsyncResult funktio, joka antaa tunnuksen arvon syöttöparametrina.
Important Note!
- The function was prepared as a workaround for the error returned by the VIES system:
The maximum number of concurrent requests has been reached(MS_MAX_CONCURRENT_REQ). Suosittelemme sen käyttöä lähetettäessä pyyntöjä Germany (DE) ja Ranska (FR), joka palautti yllä mainitun virheen. - Create larger batches containing more than three VAT numbers. Do not include your own VAT number in a batch, as it will be rejected. Each batch must contain a list of unique VAT numbers.
- When using the
getVIESDataAsyncResultfunction, avoid checking the batch status too frequently. Since batch processing typically takes between 2 and 10 minutes, polling the status every second is unnecessary. It is recommended to check the status no more than once every 20–30 seconds. - Batches must be sent sequentially rather than in parallel. The process is not multithreaded – send one batch, wait for the result, receive it, and then send the next one. Sending multiple batches simultaneously may cause the VIES system to temporarily block access, preventing further batch submissions.
getVIESDataAsyncResult– toiminnon avulla voit noutaa erätuloksia palvelun palauttaman tunnuksen perusteella getVIESDataAsync toiminto.
Seuraava esimerkki havainnollistaa funktioiden käyttöä kirjastoissa:
- 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
Jokaiselle eräkutsussa välitetylle EU:n ALV-numerolle määritteet, jotka vastaavat vastausta getVIESData funktio palautetaan.
Haetaan tietoja käyttäjän tilin tilasta
Toiminnon avulla voit ladata kaikki käyttäjätilin perustiedot, jotka näkyvät tilille kirjautumisen jälkeen viesapi.eu-portaalissa. Toiminto palauttaa myös tiedot valitussa suunnitelmassa käytettävissä olevien kyselyjen enimmäismäärästä (esim. Liiketoimintasuunnitelmassa 5 000) ja kaikkien kuluvan kuukauden aikana tehtyjen kyselyjen kokonaismäärästä käyttäjän tilillä.
Huomio! Funktion kutsuminen tekee ei lisäänny tehtyjen kyselyiden määrä.
Seuraava esimerkki havainnollistaa kirjastotoimintojen käyttöä.
- 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
VIES-järjestelmän tilan tietojen hakeminen
Tämän toiminnon avulla voit tarkistaa VIES-järjestelmän nykyisen tilan. Se palauttaa yleisen tilan, joka osoittaa saatavuuden, sekä luettelon yksittäisistä jäsenmaista sekä niiden kansallisten järjestelmien nykyisen saatavuustilan.
Huomio! Funktion kutsuminen tekee ei lisäänny tehtyjen kyselyiden määrä.
Seuraavat esimerkit havainnollistavat kirjastofunktion käyttöä.
- 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
.NET-kirjaston rekisteröinti COM-objektiksi
The viesapiLibrary.dll kirjasto voidaan rekisteröidä Windows-järjestelmään ns COM esine. Tällöin kirjaston toimintoihin voidaan viitata useista eri ohjelmointikielistä ja valmiista sovelluksista, mm. Microsoft Excel, Access, SQL Server, Dynamics tai Visual FoxPro.
Voit rekisteröidä kirjaston COM-objektiksi seuraavasti:
- Lataa .NET-kirjasto arkistoi ja pura se paikalliselle levylle mihin tahansa paikkaan.
- Mene hakemistoon, jossa on pakkaamattomia kirjastotiedostoja ja etsi
com-register.battiedosto. - Valitse
com-register.battiedosto hiirellä ja valitseRun as administratorkomento pikavalikosta.
.NET-kirjaston käyttäminen MS Excelissä
ViesapiLibrary.dll-kirjaston toimintoja voidaan käyttää MS Excel -sovelluksessa omien toimintojen ja menettelyjen kirjoittamiseen Visual Basic Kieli. Jotta se olisi mahdollista, on välttämätöntä:
- Rekisteröidy the
viesapiLibrary.dllkirjasto kuten aCOMesine päälläWindows. - Käynnistä Excel-sovellus. Valitse
DEVELOPER-välilehti nauhassa ja napsauta sittenVisual Basic-painiketta. - Vuonna
Visual Basic for Applicationikkuna, valitseToolsja sittenReferencesvalikosta. VuonnaAvailable Referencesluettelo, etsi ja valitseVIESAPI Service Client for .NET Framework (C#). Vahvista valintasi painamallaOK-painiketta. - alkaen
Insertvalikko, valitseModuleja liitä Visual Basicin esimerkeissä esitetty toimintokoodi uuteen ikkunaan. - Lopuksi sopivat w:n arvot for
viesapi.IDjaviesapi.Keypitäisi asettaa. Avaimen ja pääsyavaimen hankintatapa kuvataan luvussa Tunnisteen ja pääsyavaimen luominen