Consultar constancia de Inscripción de ARCA en Replit
Obtené datos de inscripción con Afip SDK API
Si todavía no viste cómo funciona esta consulta mediante la API, te recomiendo leer el artículo introductorio:
Consultar constancia de Inscripción de ARCA via API
Con pocas líneas de código
En este tutorial vamos a pedirle a Replit que genere una app para consultar la constancia de inscripción de ARCA usando el web service ws_sr_constancia_inscripcion y Afip SDK API.
Requisitos previos
Para poder seguir esta guía, primero necesitarás:
- Obtener un access_token de Afip SDK
- Tener una cuenta en Replit y crear un Repl de Node.js
- El CUIT de la persona o empresa cuya constancia querés consultar
- Configurar el token como variable privada o secret
Para usar los web services de ARCA se requiere un certificado digital. Con Afip SDK podés integrarte en modo desarrollo usando el CUIT 20409378472 sin obtener un certificado propio.
Cuando quieras usar tu CUIT, podés seguir la guía para usar tu propio certificado para desarrollo.
Configurar el proyecto en Replit
Creá un nuevo Repl de Node.js. Antes de pedirle a Replit Agent que genere la app, agregá estos secrets desde Tools > Secrets:
AFIP_SDK_ACCESS_TOKEN: tu access_token de Afip SDKAFIP_TAX_ID:20409378472AFIP_ENVIRONMENT:dev
Prompt listo para pegar en Replit
Abrí Replit Agent y pegá este prompt:
Quiero crear una app para consultar constancias de inscripción de ARCA usando Afip SDK API.
Necesito que generes toda la implementación lista para usar.
Stack:
- Node.js
- Express
- Frontend simple con HTML, CSS y JavaScript
- Backend Express para llamar a Afip SDK API
Crear estos archivos:
- `package.json`
- `server.js`
- `public/index.html`
- `public/styles.css`
- `public/app.js`
Objetivo:
- Consultar datos de inscripción de un contribuyente.
- Usar el web service `ws_sr_constancia_inscripcion`.
- Ejecutar el método `getPersona_v2`.
- Mostrar la constancia en pantalla.
Reglas importantes:
- No llames a Afip SDK API desde componentes frontend.
- No expongas el access token en el navegador.
- Usá `process.env.AFIP_SDK_ACCESS_TOKEN` solo en el backend Express.
- Usá ambiente de desarrollo: `dev`.
- Usá CUIT de desarrollo: `20409378472`.
Variables privadas que debo configurar:
- AFIP_SDK_ACCESS_TOKEN: mi access_token de Afip SDK.
- AFIP_TAX_ID: 20409378472.
- AFIP_ENVIRONMENT: dev.
Pantalla:
- Título: "Consultar constancia de inscripción de ARCA".
- Campo CUIT, default 33693450239.
- Botón "Consultar constancia".
- Estado de carga.
- Resultado con datos generales, domicilio fiscal, impuestos y actividades si están disponibles.
- Mensaje de error claro si ARCA no devuelve información.
Backend:
Crear un endpoint privado `/api/constancias/consultar`.
El endpoint debe hacer todo este flujo:
1. Obtener autorización:
POST https://app.afipsdk.com/api/v1/afip/auth
Headers:
Authorization: Bearer ${process.env.AFIP_SDK_ACCESS_TOKEN}
Content-Type: application/json
Body:
{
"environment": "dev",
"tax_id": "20409378472",
"wsid": "ws_sr_constancia_inscripcion"
}
Guardar de la respuesta:
- token
- sign
2. Consultar la constancia:
POST https://app.afipsdk.com/api/v1/afip/requests
Headers:
Authorization: Bearer ${process.env.AFIP_SDK_ACCESS_TOKEN}
Content-Type: application/json
Body:
{
"environment": "dev",
"method": "getPersona_v2",
"wsid": "ws_sr_constancia_inscripcion",
"params": {
"token": token,
"sign": sign,
"cuitRepresentada": "20409378472",
"idPersona": cuitConsultado
}
}
3. Devolver al frontend:
{
"success": true,
"taxId": cuitConsultado,
"certificate": respuestaDeGetPersonaV2
}
Manejo de errores:
- Si falta `AFIP_SDK_ACCESS_TOKEN`, mostrar "Falta configurar el access_token de Afip SDK".
- Si ARCA devuelve `personaNoRegistrada`, mostrar "No se encontró una constancia para ese CUIT".
- Si ARCA devuelve "No existe persona con ese ID", mostrar ese mensaje de forma clara.
- Loguear detalles en consola del servidor, pero no mostrar secrets.
Agregá estados de carga, éxito y error. Dejá la app lista para probar con los valores iniciales en ambiente `dev`.
Configurar el token
Si Replit Agent no tomó los secrets al primer intento, abrí Tools > Secrets y confirmá que AFIP_SDK_ACCESS_TOKEN exista.
El token no debe aparecer en public/index.html, public/app.js ni en ningún archivo que se ejecute en el navegador.
Probar la consulta
Con el CUIT inicial, Replit debería consultar la constancia y mostrar los datos disponibles del contribuyente.
Al finalizar, la pantalla debe mostrar:
- CUIT consultado
- Datos generales
- Domicilio fiscal, impuestos y actividades disponibles
Problemas comunes
Si estás teniendo el error “No existe persona con ese ID”, se debe a que no todos los CUIT están disponibles en el ambiente de desarrollo. Te recomiendo leer este artículo:
No existe persona con ese Id
Pasos para resolver este error
También podés usar el padrón de alcance 13 o el padrón de alcance 10. Lo único que queda es pasar a modo producción para obtener información real de los contribuyentes.
Ante cualquier duda o pregunta, podés resolverla rápidamente en la Comunidad Afip SDK.