Saltar al contenido
VeloraBlog
← Todos los artículos

12 de junio de 2026

¿Cómo funciona el token de WSAA de ARCA y cómo lo cacheo correctamente?

El WSAA emite un Token de Acceso (TA) válido 12 horas para un servicio específico. Para obtenerlo: firmás un TRA (XML) con tu certificado privado y lo mandás al endpoint SOAP de WSAA. El TA tiene generationTime y expirationTime. Cachealo en disco o DB, no lo pidas en cada request.

Flujo correcto de obtención y caché

1. Generar TRA (XML):
   service: "wsfe" (o el WS que vas a usar)
   generationTime: ahora
   expirationTime: ahora + 10 min (máximo recomendado)
   uniqueId: timestamp o UUID
2. Firmar el TRA con tu clave privada (PKCS#7/CMS)
3. POST al endpoint WSAA:
   Homologación: wsaahomo.afip.gov.ar/ws/services/LoginCms
   Producción: wsaa.afip.gov.ar/ws/services/LoginCms
4. Guardar (token + sign + expirationTime) en archivo, Redis o DB
5. Antes de cada llamada a WSFE:
   Si ahora < expirationTime - 5min → usar token cacheado
   Si no → renovar

Errores comunes de caching

  • Pedir TA antes de cada FECAESolicitar → latencia +500 ms innecesaria.
  • No restar buffer de 5 minutos → el TA expira justo durante una ráfaga de facturas.
  • Cachear en memoria solo → el token se pierde al reiniciar el proceso.
  • Un TA por servicio: el TA de wsfe NO sirve para wsfex (exportación). Cachear por (cuit, service).