Data Lookup Service (DLS) Client Library

The client library allows consuming the service REST API.

Index

Service Client

Class Description
DataLookupClient The entry point of the Data Lookup Service client library.

^ Back to top

Controllers

Class Description
ExchRate Provides operations on exch rate.
SocialSecurityNumber Provides operations on social security number.
VatNumber Provides operations on vat number.

^ Back to top

Models

Class Description
ContribuinteDataV3 Describes a contribuinte data v 3.
ExchangeRateInfo Describes an exchange rate.
ExchangeRateLookup Describes an exchange rate lookup.
ObterContribuinteData Describes an obter contribuinte.
SIGTData Describes a sigt.
SocialSecurityNumberValidationCriteria Describes a social security number validation criteria.
SocialSecurityNumberValidationResult Describes a social security number validation result.
VatNumberInfo Describes a vat number.
VatNumberInfoCurrent Describes a vat number info current.
VatNumberLookup Describes a vat number lookup.
VatNumberOfficialValidationResult Describes a vat number official validation result.
VatNumberOwnerInfo Describes a vat number owner.
VatNumberOwnerInfoCore Describes a vat number owner info core.
VatNumberOwnerInfoCurrent Describes a vat number owner info current.
VatNumberSearchCriteria Describes a vat number search criteria.
VatNumberSearchResult Describes a vat number search result.
VatNumberSearchResults Describes a vat number search results.
VatNumberValidationCriteria Describes a vat number validation criteria.
VatNumberValidationResult Describes a vat number validation result.

^ Back to top

Enumerations

Enumeration Description
ExchangeRateState Describes the state of an exchange rate.
SocialSecurityNumberValidation Describes the result of the validation of a Social Security number.
VatNumberState Describes the state of a VAT number.
VatNumberValidation Describes the result of the validation of a VAT number.

^ Back to top

Authorization Policies

Policy Description Scope
DefaultScope Defines an authorization policy that requires the default scope. lithium-datalookup
ExchangeRate Allows accessing the exchange rates endpoints. lithium-datalookup-exchrate
SocialSecurityNumber Allows accessing the Social Security numbers endpoints. lithium-datalookup-socialsecuritynumber
VatNumber Allows accessing the VAT numbers endpoints. lithium-datalookup-vatnumber

^ Back to top

Reference

Service Client

DataLookupClient

Constructors
DataLookupClient(Uri, BearerTokenCredential)
Parameter Type Description
serviceUri Uri The service URI.
credential BearerTokenCredential The credential that should be used to access the service.
DataLookupClient(Uri, BearerTokenCredential, DataLookupClientOptions)
Parameter Type Description
serviceUri Uri The service URI.
credential BearerTokenCredential The credential that should be used to access the service.
clientOptions DataLookupClientOptions The client options.
Example
Uri address = new Uri("[service-address]");
Uri authorizationServer = new Uri("[authorization-server]");
string clientId = "[client-id]"
string clientSecret = "[client-secret]"

DataLookupClient client = new DataLookupClient(
    new Uri(address),
    new ClientSecretCredential(
        authorizationServer,
        clientId,
        clientSecret));

^ Back to top

Error Codes

ErrorCodes

Constants
Constants Description Remarks
CertificateRequestNotFound Certificate request not found.
ExchRateLookupExchangeRateReferenceDateGreaterThan ReferenceDate is too small.
ExchRateLookupExchangeRatesCriteriaNotEmpty Criteria is empty.
ExchRateLookupExchangeRatesCriteriaRequired Criteria is required.
ExchRateLookupExchangeRateSourceCurrencyRequired SourceCurrency is required.
ExchRateLookupExchangeRateTargetCurrencyRequired TargetCurrency is required.
ExternalRequestFail External request fail.
InternalServerError An internal error occurred while processing your request.
LookupExchangeRateFailed The exchange rate lookup failed.
LookupExchangeRatesFailed The exchange rates lookup failed.
LookupVatNumberFailed The VAT number lookup failed.
LookupVatNumberNotFoundFailed The VAT number lookup failed.
LookupVatNumbersFailed The VAT numbers lookup failed.
LookupVatNumberValidateFailed The VAT number lookup failed.
RequestArgsInvalid The request arguments are invalid.
SearchVatNumberCountryCodeNotSupported The VAT number search country code is not supported.
SearchVatNumberFailed The VAT number search failed.
SocialSecurityNumberValidateSocialSecurityNumberCountryCodeMaxLength CountryCode length is too long.
SocialSecurityNumberValidateSocialSecurityNumberCountryCodeMinLength CountryCode length is too short.
SocialSecurityNumberValidateSocialSecurityNumberCountryCodeRegularExpression CountryCode does not match regular expression.
SocialSecurityNumberValidateSocialSecurityNumberCountryCodeRequired CountryCode is required.
SocialSecurityNumberValidateSocialSecurityNumberSocialSecurityNumberRegularExpression SocialSecurityNumber does not match regular expression.
SocialSecurityNumberValidateSocialSecurityNumberSocialSecurityNumberRequired SocialSecurityNumber is required.
ValidateVatNumberFailed The VAT number validation failed.
VatNumberLookupVatNumberCountryCodeMaxLength CountryCode length is too long.
VatNumberLookupVatNumberCountryCodeMinLength CountryCode length is too short.
VatNumberLookupVatNumberCountryCodeRegularExpression CountryCode does not match regular expression.
VatNumberLookupVatNumberCountryCodeRequired CountryCode is required.
VatNumberLookupVatNumbersCriteriaNotEmpty Criteria is empty.
VatNumberLookupVatNumbersCriteriaRequired Criteria is required.
VatNumberLookupVatNumberVatNumberRegularExpression VatNumber does not match regular expression.
VatNumberLookupVatNumberVatNumberRequired VatNumber is required.
VatNumberSearchVatNumberCountryCodeMaxLength CountryCode length is too long.
VatNumberSearchVatNumberCountryCodeMinLength CountryCode length is too short.
VatNumberSearchVatNumberCountryCodeRegularExpression CountryCode does not match regular expression.
VatNumberSearchVatNumberCountryCodeRequired CountryCode is required.
VatNumberSearchVatNumberSearchTermMinLength SearchTerm length is too short.
VatNumberSearchVatNumberSearchTermRequired SearchTerm is required.
VatNumberValidateVatNumberCountryCodeMaxLength CountryCode length is too long.
VatNumberValidateVatNumberCountryCodeMinLength CountryCode length is too short.
VatNumberValidateVatNumberCountryCodeRegularExpression CountryCode does not match regular expression.
VatNumberValidateVatNumberCountryCodeRequired CountryCode is required.
VatNumberValidateVatNumberVatNumberRegularExpression VatNumber does not match regular expression.
VatNumberValidateVatNumberVatNumberRequired VatNumber is required.

Controllers

ExchRateClientController

Provides operations on exch rate.

Methods
LookupExchangeRatesAsync()

Looks up the exchange rates between the specified currencies.

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<System.Collections.Generic.IList<Cegid.Lithium.DataLookup.Client.Rest.Models.ExchangeRateInfo>>> LookupExchangeRatesAsync(System.Collections.Generic.IEnumerable<Cegid.Lithium.DataLookup.Client.Rest.Models.ExchangeRateLookup> criteria, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
criteria System.Collections.Generic.IEnumerable<Cegid.Lithium.DataLookup.Client.Rest.Models.ExchangeRateLookup> The criteria. Required.
Returns
Return Type Description
System.Collections.Generic.IList<Cegid.Lithium.DataLookup.Client.Rest.Models.ExchangeRateInfo> A list containing the information associated with the exchange rates.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.BadRequest Failure: the request is invalid.
HttpStatusCode.NotFound Failure: not found.
HttpStatusCode.Conflict Failure: conflict.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

SocialSecurityNumberClientController

Provides operations on social security number.

Methods
ValidateSocialSecurityNumberAsync()

Validates the specified Social Security number according the corresponding numbering algorithm (dependent on the country code).

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<Cegid.Lithium.DataLookup.Client.Rest.Models.SocialSecurityNumberValidationResult>> ValidateSocialSecurityNumberAsync(string countryCode, string socialSecurityNumber, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
countryCode string The country code. Required.MinLen(2). MaxLen(2). RegEx (^(\d|[a-z]|[A-Z])*$).
socialSecurityNumber string The social security number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).
Returns
Return Type Description
Cegid.Lithium.DataLookup.Client.Rest.Models.SocialSecurityNumberValidationResult The validation result.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.UnprocessableEntity Failure: the request is invalid.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

VatNumberClientController

Provides operations on vat number.

Methods
LookupVatNumberCurrentAsync()

Looks up the specified VAT number and returns the associated information (if available).

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberInfoCurrent>> LookupVatNumberCurrentAsync(string countryCode, string vatNumber, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
countryCode string The country code. Required.MinLen(2). MaxLen(2). RegEx (^(\d|[a-z]|[A-Z])*$).
vatNumber string The vat number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).
Returns
Return Type Description
Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberInfoCurrent The information associated with a VAT number.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.UnprocessableEntity Failure: the request is invalid.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

LookupVatNumbersCurrentAsync()

Looks up a set of VAT numbers and returns the associated information (if available).

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<System.Collections.Generic.IList<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberInfoCurrent>>> LookupVatNumbersCurrentAsync(System.Collections.Generic.IEnumerable<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberLookup> criteria, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
criteria System.Collections.Generic.IEnumerable<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberLookup> The criteria. Required.
Returns
Return Type Description
System.Collections.Generic.IList<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberInfoCurrent> A list containing the information associated with the VAT numbers.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.BadRequest Failure: the request is invalid.
HttpStatusCode.NotFound Failure: not found.
HttpStatusCode.Conflict Failure: conflict.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

OfficialValidationAsync()

Validates the specified VAT number according the corresponding numbering algorithm.

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberOfficialValidationResult>> OfficialValidationAsync(string taxId, string name, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
taxId string The tax identifier. Required.RegEx (^(\d|[a-z]|[A-Z])*$).
name string The registered name. Required.
Returns
Return Type Description
Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberOfficialValidationResult The validation result.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.UnprocessableEntity Failure: the request is invalid.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

SearchVatNumberAsync()

Searches for information about companies based on the information associated with its VAT number. The search term may include the VAT number but also additional data (like the company name, brands, trademarks, and addresses).

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberSearchResults>> SearchVatNumberAsync(string countryCode, string searchTerm, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
countryCode string The country code. Required.MinLen(2). MaxLen(2). RegEx (^(\d|[a-z]|[A-Z])*$).
searchTerm string The search term. Required.MinLen(3).
Returns
Return Type Description
Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberSearchResults The search results.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.UnprocessableEntity Failure: the request is invalid.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

ValidateVatNumberAsync()

Validates the specified VAT number according the corresponding numbering algorithm (dependent on the country code).

public async Task<Cegid.Hydrogen.Rest.Client.RestServiceResult<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberValidationResult>> ValidateVatNumberAsync(string countryCode, string vatNumber, CancellationToken cancellationToken = default);
Parameters
Parameter Type Description Rules
countryCode string The country code. Required.MinLen(2). MaxLen(2). RegEx (^(\d|[a-z]|[A-Z])*$).
vatNumber string The vat number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).
Returns
Return Type Description
Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberValidationResult The validation result.
Status Codes
Status Code Description
HttpStatusCode.OK Success.
HttpStatusCode.UnprocessableEntity Failure: the request is invalid.

The operation will raise RestRequestException for any failure status code. The exception may include a body with an instance of RestProblemDetails depending on the status code.

^ Back to top

Models

ContribuinteDataV3

Describes a contribuinte data v 3.

Properties
Property Type Description Rules
NumeroNIF string Gets or sets the numero nif. Required.
TipoContribuinte string Gets or sets the tipo contribuinte. Required.
Nome string Gets or sets the nome. Required.
EstadoContribuinte string Gets or sets the estado contribuinte. Required.
RegimeIva string Gets or sets the regime iva. Required.
IndicadorNaoResidente string Gets or sets the indicador nao residente. Required.

^ Back to top

ExchangeRateInfo

Describes an exchange rate.

Properties
Property Type Description Rules
SourceCurrency string Gets or sets the source currency. Required.
TargetCurrency string Gets or sets the target currency. Required.
State Cegid.Lithium.DataLookup.Client.Rest.Models.ExchangeRateState Gets or sets the state. Required.
ReferenceDate System.DateTime Gets or sets the reference date. Required.
ExchangeRate double Gets or sets the exchange rate. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

ExchangeRateLookup

Describes an exchange rate lookup.

Properties
Property Type Description Rules
SourceCurrency string Gets or sets the source currency. Required.
TargetCurrency string Gets or sets the target currency. Required.
ReferenceDate long Gets or sets the reference date. Required.> 0.

^ Back to top

ObterContribuinteData

Describes an obter contribuinte.

Properties
Property Type Description Rules
Mensagem string Gets or sets the mensagem. Required.
Contribuinte Cegid.Lithium.DataLookup.Client.Rest.Models.ContribuinteDataV3 Gets or sets the contribuinte. Required.

^ Back to top

SIGTData

Describes a sigt.

Properties
Property Type Description Rules
ObterContribuinte Cegid.Lithium.DataLookup.Client.Rest.Models.ObterContribuinteData Gets or sets the obter contribuinte. Required.

^ Back to top

SocialSecurityNumberValidationCriteria

Describes a social security number validation criteria.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).RegEx (^(\d|[a-z]|[A-Z])*$).
SocialSecurityNumber string Gets or sets the social security number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).

^ Back to top

SocialSecurityNumberValidationResult

Describes a social security number validation result.

Properties
Property Type Description Rules
Criteria Cegid.Lithium.DataLookup.Client.Rest.Models.SocialSecurityNumberValidationCriteria Gets or sets the criteria. Required.
Result Cegid.Lithium.DataLookup.Client.Rest.Models.SocialSecurityNumberValidation Gets or sets the result. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

VatNumberInfo

Describes a vat number.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).
VatNumber string Gets or sets the vat number. Required.
State Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberState Gets or sets the state. Required.
Owner Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberOwnerInfo Gets or sets the owner. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

VatNumberInfoCurrent

Describes a vat number info current.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).
VatNumber string Gets or sets the vat number. Required.
State Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberState Gets or sets the state. Required.
Owner Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberOwnerInfoCurrent Gets or sets the owner. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

VatNumberLookup

Describes a vat number lookup.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).RegEx (^(\d|[a-z]|[A-Z])*$).
VatNumber string Gets or sets the vat number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).

^ Back to top

VatNumberOfficialValidationResult

Describes a vat number official validation result.

Properties
Property Type Description Rules
Name string Gets or sets the name. Required.
Nif string Gets or sets the nif. Required.

^ Back to top

VatNumberOwnerInfo

Describes a vat number owner.

Properties
Property Type Description Rules
CAE string? Gets or sets the cae.
CAEDescription string? Gets or sets the cae description.

^ Back to top

VatNumberOwnerInfoCore

Describes a vat number owner info core.

Properties
Property Type Description Rules
Name string Gets or sets the name. Required.
Aliases string Gets or sets the aliases. Required.
AddressFull string? Gets or sets the address full.
Street string? Gets or sets the street.
StreetNumber string? Gets or sets the street number.
PostalCode string? Gets or sets the postal code.
PostalTown string? Gets or sets the postal town.
City string? Gets or sets the city.
District string? Gets or sets the district.
Country string? Gets or sets the country.
Phone string? Gets or sets the phone.
Fax string? Gets or sets the fax.
Email string? Gets or sets the email.
Website string? Gets or sets the website.
DUNS string? Gets or sets the duns.
State string? Gets or sets the state.
StateId Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberState Gets or sets the state identifier. Required.
EntityStatus string? Gets or sets the entity status.
VatSchema string? Gets or sets the vat schema.

^ Back to top

VatNumberOwnerInfoCurrent

Describes a vat number owner info current.

Properties
Property Type Description Rules
NACE string? Gets or sets the nace.
NACEDescription string? Gets or sets the nace description.

^ Back to top

VatNumberSearchCriteria

Describes a vat number search criteria.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).
SearchTerm string Gets or sets the search term. Required.

^ Back to top

VatNumberSearchResult

Describes a vat number search result.

Properties
Property Type Description Rules
Score double Gets or sets the score. Required.
VatNumber Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberInfo Gets or sets the vat number. Required.

^ Back to top

VatNumberSearchResults

Describes a vat number search results.

Properties
Property Type Description Rules
Criteria Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberSearchCriteria Gets or sets the criteria. Required.
Results System.Collections.Generic.IList<Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberSearchResult> Gets or sets the results. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

VatNumberValidationCriteria

Describes a vat number validation criteria.

Properties
Property Type Description Rules
CountryCode string Gets or sets the country code. Required.MinLen(2).MaxLen(2).RegEx (^(\d|[a-z]|[A-Z])*$).
VatNumber string Gets or sets the vat number. Required.RegEx (^(\d|[a-z]|[A-Z])*$).

^ Back to top

VatNumberValidationResult

Describes a vat number validation result.

Properties
Property Type Description Rules
Criteria Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberValidationCriteria Gets or sets the criteria. Required.
Result Cegid.Lithium.DataLookup.Client.Rest.Models.VatNumberValidation Gets or sets the result. Required.
Properties System.Collections.Generic.IDictionary<string, string> Gets or sets the properties. Required.Not empty.

^ Back to top

Enumerations

ExchangeRateState

Describes the state of an exchange rate.

Members
Member Value Description
Available 0 An exchange rate between the two currencies is available.
Unavailable 1 An exchange rate between the two currencies is NOT available.

^ Back to top

SocialSecurityNumberValidation

Describes the result of the validation of a Social Security number.

Members
Member Value Description
Valid 0 The Social Security number is valid.
Invalid 1 The Social Security number is invalid.
NotValidated 2 The Social Security number could not be validated.

^ Back to top

VatNumberState

Describes the state of a VAT number.

Members
Member Value Description
Valid 0 The VAT number is valid.
Invalid 1 The VAT number is invalid.
Inconclusive 2 It was not possible to determine if the VAT number is valid.

^ Back to top

VatNumberValidation

Describes the result of the validation of a VAT number.

Members
Member Value Description
Valid 0 The VAT number is valid.
Invalid 1 The VAT number is invalid.
NotValidated 2 The VAT number could not be validated.

^ Back to top