Les bibliothèques de programmation vous permettent de rechercher des données sur les entrepreneurs en fonction du numéro de TVA intracommunautaire saisi. Actuellement, les bibliothèques d'API sont disponibles pour les langages de programmation suivants :

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

L'API fournit les fonctionnalités suivantes :

  • getVIESData – fonction de confirmation de l'activité du numéro de TVA intracommunautaire attribué par l'un des États membres de l'Union européenne,
  • getAccountStatus –fonction de récupération des informations à jour sur le compte utilisateur.

L'intégration

Toutes les bibliothèques avec les codes sources sont disponibles en téléchargement sur le Télécharger page. De plus, le code source des bibliothèques est également disponible dans notre dépôt officiel sur GithubGenericName.

Le mode d'intégration de la bibliothèque dépend du langage de programmation choisi. Pour les langages qui prennent en charge la gestion de bibliothèque basée sur un référentiel central, il est possible de l'utiliser.

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

Authentification

Afin d'effectuer l'authentification correcte, les valeurs correctes du id et key les paramètres doivent être fournis lors de la construction de l'objet client. La id Le paramètre doit contenir un identifiant de clé valide utilisé pour l'autorisation. La key Le paramètre doit contenir une valeur valide de la clé utilisée pour l'autorisation. L'identifiant de la clé et la clé sont générés par l'utilisateur après s'être connecté à son compte sur le viesapi.eu portail. Le processus de génération des clés et des identifiants a été détaillé ci-dessus.

L'exemple suivant illustre comment utiliser les fonctions de la bibliothèque :

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"

Attention! L'heure actuelle de l'ordinateur du client est utilisée lors du processus d'authentification. Par conséquent, en cas de problèmes d'authentification lors de la tentative de connexion au système viesapi.eu, assurez-vous d'abord que l'ordinateur ou le serveur à partir duquel la connexion est établie dispose de l'heure et du fuseau horaire corrects. Vous trouverez plus d'informations sur la méthode utilisée par le système viesapi.eu pour authentifier les demandes de renseignements. ici.

Vérification des numéros de TVA de l'UE

Le numéro de TVA intracommunautaire est confirmé en appelant le getVIESData() fonction, dont le paramètre est le numéro de TVA intracommunautaire que nous voulons vérifier. La fonction permet de vérifier les numéros de TVA intracommunautaire délivrés par tous les États membres de l'Union européenne.

L'exemple suivant illustre l'utilisation des fonctions dans les bibliothèques :

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

Les attributs de l'objet retourné

Description détaillée des attributs renvoyés :

  • uid – identifiant de requête unique généré par viesapi.eu,
  • countryCode – code pays dans lequel est enregistrée la société associée au numéro de TVA intracommunautaire fourni dans la demande,
  • vatNumber – Numéro de TVA intracommunautaire de l'entreprise vérifiée fourni dans la demande,
  • valid – réponse du service VIES, informant du statut TVA UE actuel de l'entité contrôlée :
    • true – le numéro de TVA intracommunautaire fourni dans la demande est valide,
    • false – le numéro de TVA intracommunautaire fourni dans la demande n'est pas valide,
  • traderName – le nom commercial de la société,
  • traderCompanyType – renvoyait toujours une chaîne de caractères '-',
  • traderAddress – adresse de la société où la société est enregistrée,
  • id – identifiant de requête unique généré par le système VIES
  • date – date d'exécution de la requête
  • source – source de données, toujours : http://ec.europa.eu

Récupérer des informations sur l'état du compte de l'utilisateur

La fonction vous permet de télécharger toutes les informations de base sur le compte utilisateur, qui s'affichent après la connexion au compte sur le portail viesapi.eu. La fonction renvoie également des informations sur le nombre maximum de requêtes disponibles dans le plan sélectionné (par exemple 5 000 pour le plan Business) et le nombre total de toutes les requêtes effectuées dans le mois en cours sur le compte de l'utilisateur.

Attention! L'appel de la fonction fait pas augmenter le nombre de requêtes effectuées.

L'exemple suivant illustre l'utilisation des fonctions de la bibliothèque.

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

Enregistrement d'une bibliothèque .NET en tant qu'objet COM

La viesapiLibrary.dll bibliothèque peut être enregistrée dans le système Windows en tant que soi-disant COM chose. Ensuite, les fonctions de la bibliothèque peuvent être référencées à partir de nombreux langages de programmation différents et d'applications prêtes à l'emploi, incl. Microsoft Excel, Access, SQL Server, Dynamics ou Visual FoxPro.

Pour enregistrer une bibliothèque en tant qu'objet COM, procédez comme suit :

  1. Télécharger le bibliothèque .NET archivez-le et décompressez-le sur un disque local vers n'importe quel emplacement.
  2. Accédez au répertoire contenant les fichiers de bibliothèque décompressés et recherchez le com-register.bat dossier.
  3. Sélectionnez le com-register.bat fichier avec la souris et sélectionnez le Run as administrator commande du menu contextuel.

Utilisation de la bibliothèque .NET dans MS Excel

Les fonctions de la bibliothèque viesapiLibrary.dll peuvent être utilisées dans l'application MS Excel pour écrire vos propres fonctions et procédures dans le Visual Basic Langue. Pour que cela soit possible, il faut :

  1. S'inscrire la viesapiLibrary.dll bibliothèque en tant que COM objet sur Windows.
  2. Démarrez l'application Excel. Sélectionnez le DEVELOPER sur le ruban, puis cliquez sur l'onglet Visual Basic bouton.
  3. Dans le Visual Basic for Application fenêtre, sélectionnez Tools et alors References du menu. Dans le Available References lister, rechercher et sélectionner VIESAPI Service Client for .NET Framework (C#). Confirmez votre choix avec le OK bouton.
  4. Du Insert menus, choisissez Module et collez le code de fonction présenté dans les exemples pour Visual Basic dans la nouvelle fenêtre.
  5. Enfin, les valeurs appropriées de w pour viesapi.ID et viesapi.Key doit être réglé. La méthode d'obtention de la clé et de la clé d'accès est décrite dans le chapitre Génération de l'identifiant et de la clé d'accès