Ver Mensaje Individual
  #5  
Antiguo 28-09-2023
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Buscando la URL de marras, me he topado con esta entrada en StackOverflow, donde se muestra la siguiente URL:

Código:
https://ec.europa.eu/taxation_customs/vies/rest-api/ms/[country]/vat/[vat]
En efecto, parece funcionar como se espera, por ejemplo, la siguiente URL, y, mediante un "simple" HTTP GET:

Código:
https://ec.europa.eu/taxation_customs/vies/rest-api/ms/DE/vat/122268496
... ya retorna un JSON que nos da la respuesta de si el VAT es válido o no.

Por otro lado, parece que la URL "base" que se necesita es la siguiente:

Código:
https://ec.europa.eu/taxation_customs/vies/rest-api/
... a la que se podría ya añadir el método que se quiere utilizar:

Código:
https://ec.europa.eu/taxation_customs/vies/rest-api/check-vat-number
Acabo de probarlo y funciona como se espera, esto es, enviando a dicho método (mediante HTTP POST) el JSON / argumento necesario, tal como se define aquí:

Código:
https://ec.europa.eu/assets/taxud/vow-information/swagger_publicVAT.yaml
... y puede verse "mejor" en el editor Swagger, la respuesta es la esperada.

P.D. Puede probarse todo esto fácilmente en REQ BIN.

URL: https://ec.europa.eu/taxation_custom...eck-vat-number

Method: POST

JSON de entrada:

Código:
{
  "countryCode": "DE",
  "vatNumber": "122268496"
}
JSON de salida / respuesta:

Código:
{
    "countryCode": "DE",
    "vatNumber": "122268496",
    "requestDate": "2023-09-28T12:41:19.417Z",
    "valid": true,
    "requestIdentifier": "",
    "name": "---",
    "address": "---",
    "traderName": "---",
    "traderStreet": "---",
    "traderPostalCode": "---",
    "traderCity": "---",
    "traderCompanyType": "---",
    "traderNameMatch": "NOT_PROCESSED",
    "traderStreetMatch": "NOT_PROCESSED",
    "traderPostalCodeMatch": "NOT_PROCESSED",
    "traderCityMatch": "NOT_PROCESSED",
    "traderCompanyTypeMatch": "NOT_PROCESSED"
}
Supongo que puede jugarse un poco con todo esto, porque, en el archivo YAML se puede ver un JSON de entrada para el método de arriba tal que así:

Código:
{
  "countryCode": "string",
  "vatNumber": "string",
  "requesterMemberStateCode": "string",
  "requesterNumber": "string",
  "traderName": "string",
  "traderStreet": "string",
  "traderPostalCode": "string",
  "traderCity": "string",
  "traderCompanyType": "string"
}
Como se ve en el ejemplo que he puesto arriba, no es necesario enviar toda esa información. Con las dos primeras claves se obtiene ya información. Podemos añadir las dos siguientes y también funciona. El resto de claves, imagino, son para utilizarlas sin las anteriores (sin al menos las dos primeras), es decir, para intentar obtener un VAT proporcionando el "traderName" únicamente, etc.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 28-09-2023 a las 14:46:40.
Responder Con Cita