Obtener información de un DNI en NodeJS
Usando el padrón alcance 13 de ARCA
Requisitos previos
Para poder seguir esta guía, primero necesitarás:
Instalación
Lo primero es instalar la librería Afip.js
npm
npm install --save @afipsdk/afip.js
Yarn
yarn add @afipsdk/afip.js
Creamos una instancia de la clase Afip
Para usar los web services de ARCA, se requiere un certificado digital, con Afip SDK puedes integrarte en modo desarrollo usando el CUIT 20409378472 sin necesidad de obtener un certificado, para poder integrarte lo más rápido posible.
Te dejo este enlace por si luego quieres usar tu propio certificado para desarrollo.
const Afip = require('@afipsdk/afip.js');
/**
* CUIT vinculado al certificado
**/
const CUIT = 20409378472;
const afip = new Afip({
access_token: 'TU_ACCESS_TOKEN',
CUIT,
});
Paso 1: Obtener el CUIT a partir del DNI
Primero obtenemos el CUIT con el método getTaxIDByDocument.
// DNI
const nationalId = 30111222; // Reemplazar por el DNI a consultar
const taxId = await afip.RegisterScopeThirteen.getTaxIDByDocument(nationalId);
if (!taxId) {
throw new Error('No se encontró ningún CUIT asociado al DNI indicado.');
}
Paso 2: Obtener la información usando ese CUIT
Con el CUIT obtenido, consultamos getTaxpayerDetails para traer los datos completos.
const taxpayerDetails = await afip.RegisterScopeThirteen.getTaxpayerDetails(taxId);
if (!taxpayerDetails) {
throw new Error(`No se pudo obtener la información de la persona para el CUIT ${taxId}`);
}
console.log(taxpayerDetails);
Con esto ya obtenés la información de la persona partiendo del DNI.
Problemas comunes
Si recibís una respuesta vacía o el error “No existe persona con ese ID”, te recomiendo este artículo:
No existe persona con ese Id
Pasos para resolver este error
También podés revisar la guía oficial del servicio: Padrón alcance 13.
Lo único que queda es pasar a modo producción para consultar información real con tus propias credenciales.
Ante cualquier duda o pregunta, podés resolverla rápidamente en la Comunidad Afip SDK.