Documentación de la API para gestionar NIFs

# Funcionamiento básico Aquí encontrarás la documentación técnica de nuestra API para la gestión general de tus NIFs en nuestro sistema.

NIFs

Se pueden crear NIFs en el entorno de test, que se comunican con el entorno de test de la administración.

GET /nifs

Listar NIFs

Este endpoint devuelve una lista de todos los NIFs.

Responses

StatusDescription
200Lista de NIFs
400Parámetros de consulta inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor.

POST /nifs

Añadir NIFs

Mediante este endpoint se añaden nuevos NIFs.

Responses

StatusDescription
200NIF
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
409NIF ya existe
500Error interno del servidor.

GET /nifs/{entorno}/{nif}

Información de NIF

Este endpoint devuelve la información de un NIF concreto.

Responses

StatusDescription
200NIF
401No autorizado — API key inválida o ausente.
404NIF no encontrado
500Error interno del servidor.

PUT /nifs/{entorno}/{nif}

Modificar NIF

Este endpoint permite modificar la información de un NIF concreto.

Request body

FieldTypeRequiredDescription
nombrestringnoNombre y apellidos o razón social del NIF.
direccionstringnoDirección del NIF.
cpstringnoCódigo postal del NIF.
poblacionstringnoPoblación del NIF.
provinciastringnoProvincia del NIF.
webhooksarraynoLista de identificadores de los webhooks a los que estará vinculado el NIF.
labelstringnoEtiqueta asociada al NIF.

Responses

StatusDescription
200NIF
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
404NIF no encontrado
500Error interno del servidor.

DELETE /nifs/{entorno}/{nif}

Desactivar NIF

Este endpoint permite desactivar un NIF.

Responses

StatusDescription
200OK
401No autorizado — API key inválida o ausente.
403NIF ya está inactivo
404NIF no encontrado
500Error interno del servidor.

DELETE /nifs/{entorno}/{nif}/permanent

Eliminar NIF

Este endpoint permite eliminar <u><strong>permanentemente</strong></u> un NIF.

Responses

StatusDescription
200OK
401No autorizado — API key inválida o ausente.
404NIF no encontrado
500Error interno del servidor.

PUT /nifs/activate/{entorno}/{nif}

Activar NIF

Este endpoint permite activar un NIF que ha sido desactivado previamente.

Responses

StatusDescription
200OK
401No autorizado — API key inválida o ausente.
403NIF ya está activo
404NIF no encontrado
500Error interno del servidor.

GET /nifs/keys/{entorno}/{nif}

API key de NIF

Este endpoint devuelve la API key de un NIF concreto y en un entorno concreto.

Responses

StatusDescription
200API key
401No autorizado — API key inválida o ausente.
404NIF no encontrado
500Error interno del servidor.

Validación

Existen muchas circunstancias en las que resulta útil validar que un NIF es correcto y está registrado en la administración, tanto para empresas (CIF) como ciudadanos nacionales (DNI) y residentes extranjeros (NIE).

POST /nifs/validar

Validar NIF en la AEAT

Este endpoint permite validar que un NIF de una persona física o jurídica está identificado en la agencia tributaria.

Request body

FieldTypeRequiredDescription
nifstringyesNIF de la persona física o jurídica sobre la que se quiere efectuar la consulta de verificación.
nombrestringnoApellidos y nombre de la persona física o razón social de la persona jurídica sobre la que se quiere efectuar la consulta de verificación.

Responses

StatusDescription
200Respuesta de la AEAT
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor o servicio de la AEAT no disponible

POST /nifs/validar_lotes

Validar NIFs en lote

Este endpoint permite validar hasta 20000 NIFs en una única llamada, comprobando si cada NIF de una persona física o jurídica existe.

Responses

StatusDescription
200Respuesta de la AEAT
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor o servicio de la AEAT no disponible

POST /nifs/validar/vies

Validar IVA en VIES

Este endpoint permite validar que un número de IVA intracomunitario se encuentra en el censo VIES.

Request body

FieldTypeRequiredDescription
codigo_paisstringyesCódigo de país al que pertenece el IVA.
ivastringyesNúmero de IVA intracomunitario.

Responses

StatusDescription
200Respuesta del censo VIES
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor.

Modelo de representación

Para generar y enviar facturas al entorno de producción de la AEAT usando la nuestra API, es necesario rellenar un modelo de otorgamiento de representación y <span style="font-weight: bold; text-decoration: underline">el NIF emisor de las facturas</span> debe firmalo digitalmente.

POST /representacion/generar/{nif}

Generar PDF de representación

Este endpoint permite descargar el documento PDF de otorgamiento de representación para un NIF de Verifactu.

Request body

FieldTypeRequiredDescription
tipo_entidadobjectnoTipo de entidad, personas físicas o jurídicas.
nombrestringnoObligatorio para personas físicas.
municipiostringnoObligatorio para personas físicas.
callestringnoObligatorio para personas físicas.
numerostringnoObligatorio para personas físicas.
nombre_entidadstringnoObligatorio para personas jurídicas.
municipio_entidadstringnoObligatorio para personas jurídicas.
calle_entidadstringnoObligatorio para personas jurídicas.
numero_entidadstringnoObligatorio para personas jurídicas.
nombre_representantestringnoObligatorio para personas jurídicas.
nif_representantestringnoObligatorio para personas jurídicas.
municipio_representantestringnoObligatorio para personas jurídicas.
calle_representantestringnoObligatorio para personas jurídicas.
numero_representantestringnoObligatorio para personas jurídicas.

Responses

StatusDescription
200Documento PDF de otorgamiento de representación
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor.

POST /representacion/enviar/{nif}

Enviar PDF firmado

Mediante este endpoint se envía el documento PDF de otorgamiento de representación para un NIF de Verifactu.

Responses

StatusDescription
200PDF enviado correctamente
400PDF no enviado correctamente
401No autorizado — API key inválida o ausente.
500Error interno del servidor o fallo al procesar el PDF

PUT /representacion/cancelar/{nif}

Cancelar PDF firmado

Mediante este endpoint se cancela el documento PDF de otorgamiento de representación para un NIF de Verifactu.

Responses

StatusDescription
200PDF cancelado correctamente
401No autorizado — API key inválida o ausente.
404Modelo de representación no encontrado
500Error interno del servidor al procesar la cancelación

GET /representacion/descargar/{nif}

Descargar PDF firmado

Mediante este endpoint se puede descargar el documento PDF de otorgamiento de representación para un NIF de Verifactu firmado.

Responses

StatusDescription
200PDF descargado correctamente
401No autorizado — API key inválida o ausente.
404PDF no encontrado para el NIF indicado
500Error interno del servidor.

GET /representacion/estado/{nif}

Estado de representación

Mediante este endpoint se puede obtener el estado de la representación para un NIF.

Responses

StatusDescription
200PDF enviado correctamente
401No autorizado — API key inválida o ausente.
500Error interno del servidor.

Webhooks

Nuestra plataforma permite el uso de webhooks para recibir notificaciones automáticas cuando se genera un registro de facturación.

GET /webhooks

Listar webhooks

Este endpoint devuelve una lista de todos los webhooks configurados.

Responses

StatusDescription
200Lista de webhooks
400Parámetros de consulta inválidos
401No autorizado — API key inválida o ausente.
500Error interno del servidor.

POST /webhooks

Añadir webhook

Mediante este endpoint se puede registrar un webhook.

Request body

FieldTypeRequiredDescription
urlstringyesURL a la que se hará la llamada cuando se dispare el webhook.
entornostringyesEntorno del webhook. Puede ser "test" o "prod".
secretobjectnoParámetro opcional. Una clave secreta que se comparte entre nuestra API y el receptor del webhook.
nifsobjectnoLista de NIFs. Cuando se envíen registros de facturación para cualquiera de estos NIFs, se disparará el webhook con el resultado de hacienda una vez obtenido.

Responses

StatusDescription
200Webhook
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
409Webhook ya existe con esa URL
500Error interno del servidor.

GET /webhooks/{webhook_id}

Información de webhook

Este endpoint devuelve la información de un webhook concreto.

Responses

StatusDescription
200Webhook
401No autorizado — API key inválida o ausente.
404Webhook no encontrado
500Error interno del servidor.

PUT /webhooks/{webhook_id}

Modificar webhook

Este endpoint permite modificar un webhook concreto.

Request body

FieldTypeRequiredDescription
urlstringnoURL a la que se hará la llamada cuando se dispare el webhook.
secretstringnoClave para generar la firma HMAC.
activobooleannoIndica si el webhook estará activo o no.
nifsarraynoLista de NIFs. Cuando se envíen registros de facturación para cualquiera de estos NIFs, se disparará el webhook con el resultado de hacienda una vez obtenido.

Responses

StatusDescription
200Webhook
400Datos de entrada inválidos
401No autorizado — API key inválida o ausente.
404Webhook no encontrado
409URL de webhook en conflicto con otro existente
500Error interno del servidor.

DELETE /webhooks/{webhook_id}

Eliminar webhook

Este endpoint permite eliminar un webhook concreto.

Responses

StatusDescription
200OK
401No autorizado — API key inválida o ausente.
404Webhook no encontrado
500Error interno del servidor.

POST /webhooks/{webhook_id}/nifs/{nif}

Asociar NIF a webhook

Este endpoint permite asociar un NIF concreto a un webhook concreto.

Responses

StatusDescription
200OK
401No autorizado — API key inválida o ausente.
404Webhook o NIF no encontrado
500Error interno del servidor.

DELETE /webhooks/{webhook_id}/nifs/{nif}

Desasociar NIF a webhook

Este endpoint permite desasociar un NIF concreto a un webhook concreto.

Responses

StatusDescription
200OK
204NIF desasociado del webhook correctamente (sin contenido)
401No autorizado — API key inválida o ausente.
404Webhook o NIF no encontrado
500Error interno del servidor.