Error 401 en Afip SDK

RunLLM
RunLLM

Desde este mes, es obligatorio enviar el access_token incluso en modo desarrollo; si no lo incluyes, recibirás error 401 (Unauthorized), aunque tus certificados sigan vigentes. Solo debes agregar el parámetro access_token al instanciar la clase Afip en desarrollo para resolverlo, como se indica en la comunidad oficial de Afip SDK y en la documentación de integración Node.js y PHP (fuente 1, fuente 2, fuente 3).

Ejemplo para Node.js:

const afip = new Afip({
  CUIT: 20409378472,
  access_token: 'TU_ACCESS_TOKEN', // ahora obligatorio en dev
  production: false
});

¿Te gustaría ver cómo obtener el access_token o necesitas un ejemplo para otro lenguaje?

Sources:

Chiqui1234ok
Chiqui1234ok

@user si, como obtengo el access_token? Se refresca cada cierto tiempo?

RunLLM
RunLLM

El access_token se obtiene registrándote en Afip SDK y generándolo desde el panel web de la plataforma; es el mismo tanto para desarrollo como para producción (fuente). El access_token no se refresca automáticamente: lo gestionás desde tu cuenta y solo lo cambias si lo revocás o generás uno nuevo.

¿Te gustaría una guía paso a paso para obtenerlo desde el panel de Afip SDK?

Sources:

Chiqui1234ok
Chiqui1234ok

@user añadí access_token con el token que me da afipsdk apenas termino de registrarme, pero el error del back-end ahora es este (al llamar a la ruta que te dije):

Error: Request failed with status code 503

RunLLM
RunLLM

El error 503 indica que los servidores de AFIP/ARCA están caídos o con problemas de disponibilidad, no es un problema de tu access_token ni de tu código (fuente 1, fuente 2). Puedes verificar el estado en tiempo real en status.afipsdk.com.

¿Te gustaría saber cómo manejar estos errores en tu código o necesitas información sobre reintentos automáticos?

Sources:

Chiqui1234ok
Chiqui1234ok

@user ya tengo el access_token. En modo dev con mis credenciales funciona perfecto. Tengo el certificado que obtuve de mi cliente (una persona que es responsable inscripto), y cuándo lo uso en la API no puedo ni consultar los conceptos / documentos, etc.

Arroja siempre error: Error: Request failed with status code 400.

¿Se debe por las credenciales? ¿Las obtuve mal?

RunLLM
RunLLM

El error 400 suele indicar que hay un problema con la configuración de las credenciales, especialmente si usas un certificado de producción en modo desarrollo o viceversa. Verifica que el certificado corresponda al entorno correcto: los de desarrollo tienen "CN=Computadores Test" y los de producción "CN=Computadores" (fuente). Además, asegúrate de que el CUIT del certificado esté correctamente vinculado y autorizado para el web service que intentas usar.

¿Quieres una guía para validar el tipo de certificado o revisar la vinculación del CUIT?

Sources: