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,getAccountStatus
–toiminto, joka hakee käyttäjätiliä koskevia ajantasaisia tietoja.
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.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
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);
}
// 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
Palautetun objektin attribuutit
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 kyselytunnistedate
– kyselyn suorituspäivämääräsource
– tietolähde, aina: http://ec.europa.eu
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! Toiminnon 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
.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.bat
tiedosto. - Valitse
com-register.bat
tiedosto hiirellä ja valitseRun as administrator
komento 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.dll
kirjasto kuten aCOM
esine päälläWindows
. - Käynnistä Excel-sovellus. Valitse
DEVELOPER
-välilehti nauhassa ja napsauta sittenVisual Basic
-painiketta. - Vuonna
Visual Basic for Application
ikkuna, valitseTools
ja sittenReferences
valikosta. VuonnaAvailable References
luettelo, etsi ja valitseVIESAPI Service Client for .NET Framework (C#)
. Vahvista valintasi painamallaOK
-painiketta. - alkaen
Insert
valikko, valitseModule
ja liitä Visual Basicin esimerkeissä esitetty toimintokoodi uuteen ikkunaan. - Lopuksi sopivat w:n arvot for
viesapi.ID
javiesapi.Key
pitäisi asettaa. Avaimen ja pääsyavaimen hankintatapa kuvataan luvussa Tunnisteen ja pääsyavaimen luominen