Програмните библиотеки ви позволяват да търсите данни за предприемачи въз основа на въведения ДДС ЕС номер. Понастоящем API библиотеките са налични за следните езици за програмиране:
- .NET (C#, Visual Basic)
- Java
- JavaScript (Node.js)
- PHP
- Python
- C/C++
API предоставя следните функции:
getVIESData
– функция за потвърждаване на дейността на ЕС ДДС номер, даден от която и да е от държавите-членки на Европейския съюз,getAccountStatus
– функция за извличане на актуална информация за потребителския акаунт.
Интеграция
Всички библиотеки с изходни кодове са достъпни за изтегляне на Изтегли страница. В допълнение, изходният код за библиотеките също е достъпен в нашето официално хранилище на Github.
Начинът на интегриране на библиотеката зависи от избрания език за програмиране. За тези езици, които поддържат управление на библиотеката, базирано на централно хранилище, е възможно да го използвате.
- 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
Удостоверяване
За да извършите правилното удостоверяване, правилните стойности на id
и key
параметри трябва да бъдат предвидени при изграждането на обекта на клиента. The id
параметърът трябва да съдържа валиден ключов идентификатор, използван за оторизация. The key
параметърът трябва да съдържа валидна стойност на ключа, използван за оторизация. Идентификаторът на ключа и ключът се генерират от потребителя след влизане в акаунта му на viesapi.eu
портал. Процесът на генериране на ключовете и идентификаторите е описан по-горе.
Следният пример илюстрира как да използвате библиотечните функции:
- 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"
внимание! По време на процеса на удостоверяване се използва текущото време на компютъра на клиента. Ето защо, в случай на проблеми с удостоверяването, когато се опитвате да се свържете със системата viesapi.eu, първо се уверете, че компютърът или сървърът, от който се осъществява връзката, има правилното текущо време и часова зона. Повече информация за метода, използван от системата viesapi.eu за удостоверяване на запитвания, можете да намерите тук.
Проверка на ДДС номера в ЕС
ДДС номерът на ЕС се потвърждава чрез обаждане на getVIESData()
функция, чийто параметър е ДДС номерът на ЕС, който искаме да проверим. Функцията позволява проверка на ДДС номера на ЕС, издадени от всички държави-членки на Европейския съюз.
Следният пример илюстрира как се използват функции в библиотеки:
- 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
Атрибутите на върнатия обект
Подробно описание на върнатите атрибути:
uid
– уникален идентификатор на заявка, генериран от viesapi.eu,countryCode
– код на държавата, в която е регистрирано дружеството, свързано с ДДС номера в ЕС, предоставен в запитването,vatNumber
– ЕС ДДС номер на проверената компания, посочен в запитването,valid
– отговор от услугата VIES, информиращ за текущия статут по ДДС в ЕС на проверяваното лице:true
– ДДС номерът на ЕС, предоставен в запитването, е валиден,false
– ДДС номерът на ЕС, предоставен в запитването, не е валиден,
traderName
– търговско наименование на фирмата,traderCompanyType
– винаги връщаше низ от знаци „-“,traderAddress
– адрес на фирмата, където е регистрирана фирмата,id
– уникален идентификатор на заявка, генериран от системата VIESdate
– дата на изпълнение на заявкатаsource
– източник на данни, винаги: http://ec.europa.eu
Извличане на информация за състоянието на акаунта на потребителя
Функцията ви позволява да изтеглите цялата основна информация за потребителския акаунт, която се показва след влизане в акаунта в портала viesapi.eu. Функцията също така връща информация за максималния брой налични заявки по избрания план (напр. 5000 за Бизнес план) и общия брой на всички заявки, направени през текущия месец в акаунта на потребителя.
внимание! Извикването на функцията прави не се увеличава броя на направените запитвания.
Следващият пример илюстрира как да използвате библиотечните функции.
- 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 библиотека като COM обект
The viesapiLibrary.dll
библиотека може да се регистрира в Windows системата като т.нар COM
обект. Тогава функциите на библиотеката могат да бъдат реферирани от много различни програмни езици и готови приложения, вкл. Microsoft Excel, Access, SQL Server, Dynamics или Visual FoxPro.
За да регистрирате библиотека като COM обект, изпълнете следните стъпки:
- Изтеглете .NET библиотека архивирайте и го разопаковайте на локален диск на всяко място.
- Отидете в директорията с разопаковани библиотечни файлове и намерете
com-register.bat
файл. - Изберете
com-register.bat
файл с мишката и изберетеRun as administrator
команда от контекстното меню.
Използване на .NET библиотеката в MS Excel
Функциите на библиотеката viesapiLibrary.dll могат да се използват в приложението MS Excel, за да напишете свои собствени функции и процедури в Visual Basic
език. За да стане възможно, е необходимо:
- Регистрирам на
viesapiLibrary.dll
библиотека като aCOM
обект наWindows
. - Стартирайте приложението Excel. Изберете
DEVELOPER
на лентата и след това щракнете върхуVisual Basic
бутон. - В
Visual Basic for Application
прозорец, изберетеTools
и тогаваReferences
от менюто. ВAvailable References
списък, намиране и изборVIESAPI Service Client for .NET Framework (C#)
. Потвърдете избора си сOK
бутон. - От
Insert
меню, изберетеModule
и поставете функционалния код, представен в примерите за Visual Basic, в новия прозорец. - И накрая, подходящи стойности на w за
viesapi.ID
иviesapi.Key
трябва да се настрои. Методът за получаване на ключа и ключа за достъп е описан в главата Генериране на идентификатор и ключ за достъп