Consultar constancia de Inscripción de ARCA en v0
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 v0 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 acceso a v0 y un proyecto Next.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.
Crear el proyecto en v0
v0 suele trabajar muy bien con componentes React y proyectos Next.js. Para este caso, pedile que no haga la llamada desde el componente, sino desde un Route Handler privado. Creá un proyecto nuevo o abrí tu proyecto Next.js.
Prompt listo para pegar en v0
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:
- Next.js App Router
- React
- TypeScript
- Route Handler privado en `/app/api/.../route.ts`
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.
- Usar `process.env.AFIP_SDK_ACCESS_TOKEN` solo en el Route Handler.
- 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
Cuando exportes el proyecto, configurá AFIP_SDK_ACCESS_TOKEN como variable privada del entorno donde corra Next.js.
No uses variables públicas como NEXT_PUBLIC_AFIP_SDK_ACCESS_TOKEN. Todo lo que empieza con NEXT_PUBLIC_ puede quedar visible en el navegador.
Probar la consulta
Con el CUIT inicial, v0 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.