Le biblioteche di programmazione consentono di cercare i dati degli imprenditori in base al numero di partita IVA UE inserito. Attualmente, le librerie API sono disponibili per i seguenti linguaggi di programmazione:

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

L'API fornisce le seguenti funzionalità:

  • getVIESData – funzione per confermare l'attività della partita IVA UE assegnata da uno qualsiasi degli Stati membri dell'Unione Europea,
  • getAccountStatus –funzione per recuperare informazioni aggiornate sull'account utente.

Integrazione

Tutte le librerie con i codici sorgente sono disponibili per il download su Scarica pagina. Inoltre, il codice sorgente per le librerie è disponibile anche nel nostro repository ufficiale su Github.

La modalità di integrazione della libreria dipende dal linguaggio di programmazione selezionato. Per quei linguaggi che supportano la gestione delle librerie basata su un repository centrale, è possibile utilizzarlo.

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

Autenticazione

Al fine di eseguire la corretta autenticazione, i valori corretti del id e key i parametri devono essere forniti durante la costruzione dell'oggetto client. Il id il parametro deve contenere un identificatore di chiave valido utilizzato per l'autorizzazione. Il key parametro deve contenere un valore valido della chiave utilizzata per l'autorizzazione. L'identificatore della chiave e la chiave vengono generati dall'utente dopo aver effettuato l'accesso al proprio account su viesapi.eu portale. Il processo di generazione delle chiavi e degli identificatori è stato dettagliato in precedenza.

L'esempio seguente illustra come utilizzare le funzioni della libreria:

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"

Attenzione! L'ora corrente del computer del client viene utilizzata durante il processo di autenticazione. Pertanto, in caso di problemi di autenticazione durante il tentativo di connessione al sistema viesapi.eu, assicurarsi innanzitutto che il computer o il server da cui viene stabilita la connessione abbia l'ora e il fuso orario correnti corretti. Ulteriori informazioni sul metodo utilizzato dal sistema viesapi.eu per autenticare le richieste sono disponibili qui.

Controllo delle partite IVA UE

La partita IVA UE viene confermata chiamando il getVIESData() funzione, il cui parametro è la partita IVA UE che si vuole verificare. La funzione consente la verifica delle partite IVA UE rilasciate da tutti gli stati membri dell'Unione Europea.

L'esempio seguente illustra come vengono utilizzate le funzioni nelle librerie:

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

Gli attributi dell'oggetto restituito

Descrizione dettagliata degli attributi restituiti:

  • uid – identificatore di query univoco generato da viesapi.eu,
  • countryCode – codice paese in cui è registrata la società associata alla partita IVA UE fornita nella richiesta,
  • vatNumber – Partita IVA UE della società verificata fornita nella richiesta,
  • valid – risposta dal servizio VIES, che informa sullo stato attuale dell'IVA UE dell'entità controllata:
    • true – il numero di partita IVA UE fornito nella richiesta è valido,
    • false – il numero di partita IVA UE fornito nella richiesta non è valido,
  • traderName – nome commerciale dell'azienda,
  • traderCompanyType – restituiva sempre una stringa di caratteri '-',
  • traderAddress – indirizzo della società in cui è registrata la società,
  • id – identificatore univoco della query generato dal sistema VIES
  • date – data di esecuzione della query
  • source – fonte dati, sempre: http://ec.europa.eu

Recupero di informazioni sullo stato dell'account dell'utente

La funzione consente di scaricare tutte le informazioni di base sull'account utente, che vengono visualizzate dopo aver effettuato l'accesso all'account sul portale viesapi.eu. La funzione restituisce anche informazioni sul numero massimo di richieste disponibili nell'ambito del piano selezionato (es. 5.000 per il piano Business) e il numero totale di tutte le richieste effettuate nel mese corrente sull'account dell'utente.

Attenzione! Chiamare la funzione lo fa non aumentare il numero di interrogazioni effettuate.

L'esempio seguente illustra come utilizzare le funzioni della libreria.

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

Registrazione di una libreria .NET come oggetto COM

Il viesapiLibrary.dll la libreria può essere registrata nel sistema Windows come il cosiddetto COM oggetto. Quindi è possibile fare riferimento alle funzioni della libreria da molti diversi linguaggi di programmazione e applicazioni già pronte, incl. Microsoft Excel, Access, SQL Server, Dynamics o Visual FoxPro.

Per registrare una libreria come oggetto COM, attenersi alla seguente procedura:

  1. Scarica il Libreria .NET archiviare e decomprimerlo su un disco locale in qualsiasi posizione.
  2. Vai alla directory con i file di libreria decompressi e trova il file com-register.bat file.
  3. Seleziona il com-register.bat file con il mouse e selezionare il Run as administrator comando dal menu contestuale.

Utilizzo della libreria .NET in MS Excel

Le funzioni della libreria viesapiLibrary.dll possono essere utilizzate nell'applicazione MS Excel per scrivere le proprie funzioni e procedure nel Visual Basic linguaggio. Per renderlo possibile è necessario:

  1. Registrati il viesapiLibrary.dll biblioteca come COM oggetto su Windows.
  2. Avvia l'applicazione Excel. Seleziona il DEVELOPER scheda sulla barra multifunzione e quindi fare clic su Visual Basic pulsante.
  3. Nel Visual Basic for Application finestra, seleziona Tools poi References dal menu. Nel Available References elenca, trova e seleziona VIESAPI Service Client for .NET Framework (C#). Conferma la tua selezione con il OK pulsante.
  4. Dal Insert menu, scegli Module e incollare il codice della funzione presentato negli esempi per Visual Basic nella nuova finestra.
  5. Infine, valori appropriati di w per viesapi.ID e viesapi.Key dovrebbe essere impostato. Il metodo per ottenere la chiave e la chiave di accesso è descritto nel capitolo Generazione dell'identificatore e della chiave di accesso