Consultas GraphQL, el modelo de datos party y ejemplos. Alineado con la referencia oficial del esquema PSB.
El servicio VPD ofrece un endpoint GraphQL. La definición completa y actual de todas las consultas y tipos está en la Schema Reference (partySchema) oficial, en el sitio de documentación PSB. En GraphQL, solicite solo los campos que necesite. La explicación y los ejemplos siguientes son un resumen práctico.
partyfindcompanysbinaceLos detalles y tipos de find, company, sbi y nace están en la referencia del esquema.
party: parámetrossearchidnamepostcodecitycountryNL o BElangnlmaxResults10Puede combinar parámetros para afinar la búsqueda.
party (campos principales)idtypeisActivepreferredNamelegalNametradeNamesdescriptionidentifierssectorCodeslocationswebsiteeDeliveryhighlightsidentifiers: partyIdentifier y partyIdLos identificadores ya no son pares planos type/value en el objeto party. Se usa identifiers: cada entrada tiene un name (etiqueta del esquema, p. ej. "KvK") y un id de tipo partyId con, entre otros, value, text, schemeIdText, schemeIdNumber y schemeAuthority. Todos los campos están en la referencia del esquema.
Un location incluye, entre otros, text (dirección formateada completa), street, number, numberAddition, postcode, city, country (objeto con, entre otros, iso) y, de forma opcional, latitude / longitude.
eDeliveryEl campo eDelivery indica, por canal, qué tipos de documento puede recibir o enviar una parte, sin una consulta SMP aparte:
acceptsprovidesPor tipo de documento se devuelven, entre otros, channel (por ejemplo Peppol), partyId (el identificador en ese canal), listedName, documentName, documentTypeId, processId, family y details específicos del canal. Así una integración puede comprobar en una sola llamada si un destinatario acepta un tipo de documento concreto en un canal determinado.
{
party(name: "eConnect", country: "NL", maxResults: 5) {
id
preferredName
legalName
tradeNames
identifiers {
name
id {
value
text
schemeIdText
}
}
}
}
{
party(id: "12345678", maxResults: 1) {
id
preferredName
legalName
locations {
text
street
postcode
city
country {
iso
}
latitude
longitude
}
website
}
}
{
party(search: "facturatie Woerden", maxResults: 10) {
id
type
isActive
preferredName
legalName
description
identifiers {
name
id {
value
text
}
}
sectorCodes {
type
value
text
description
}
locations {
text
postcode
city
country {
iso
}
}
website
}
}
findPara datos difusos o incompletos, use find con un objeto args (vea la documentación para todos los campos opcionales, incluidos ids.legal, ids.vat, ids.iban, ids.oin, ids.gln).
{
find(args: { name: "Gemeente", country: "NL", postcode: "3511" }) {
eConnectId
name
address
identifiers {
name
id {
value
text
}
}
}
}
Use search para búsquedas de texto amplias y name o id para filtros más precisos. Con lang fija el idioma de los campos de texto (neerlandés por defecto). Limite el resultado con maxResults durante las pruebas. Compruebe errors en la respuesta GraphQL ante errores de sintaxis o de esquema. Una lista vacía en party o find significa que no hay coincidencia, no necesariamente un error.
Sí. Puede usar, por ejemplo, name junto con city, postcode o country para afinar los resultados. La lista oficial de parámetros está en la referencia del esquema.
Mediante el campo identifiers en party. Seleccione name y los campos deseados de id (p. ej. value y text). Esto sustituye el patrón anterior con una lista plana partyIds { type value }.
Por defecto, como máximo 10 resultados para party, salvo que suba maxResults. Para una validación rápida, maxResults: 1 suele bastar.
¿Desea probar consultas de forma interactiva? Utilice el VPD Playground. O lea cómo integrar el VPD en su aplicación.
Probar el VPD Playground