El error "Authorization failed - please check your credentials" indica que falta el access_token necesario para usar el SDK, incluso si ya envías CUIT y certificados. Debes obtener el access_token desde https://app.afipsdk.com y agregarlo en el header Authorization de tus requests, ya que es obligatorio tanto en testing como en producción para que el SDK funcione correctamente, según la documentación oficial y mensajes de error reportados por otros usuarios (ejemplo).
Sin el access_token, el SDK no autoriza ninguna operación, aunque los certificados sean válidos. No es posible "bypasear" esta dependencia, ya que las automatizaciones y requests se ejecutan en los servidores de Afip SDK y requieren autenticación centralizada (ver respuesta oficial). ¿Te gustaría ver un ejemplo de cómo agregar el access_token en tu código?
Sources:
@user Ahora tengo este error: Bad request - please check your parameters 400 - "{"statusCode":400,"data_errors":{"tax_id":"El campo CUIT es obligatorio"}}" Nose porque ocurre esto si antes no era necesario hacer todo esto, simplemente con el cert y key ya era suficiente.
El error indica que falta el parámetro tax_id (CUIT) en tu request, el cual ahora es obligatorio para todas las operaciones con Afip SDK, incluso si envías cert y key. Esto es un cambio reciente: el SDK exige explícitamente el CUIT tanto en el body de la solicitud como en la configuración de la instancia, según la documentación actualizada y reportes de usuarios en Discord (ver ejemplo).
Antes, algunos entornos permitían operar solo con cert y key, pero desde la Resolución General ARCA N° 5.616/2024 y actualizaciones del SDK, el CUIT es requerido para asociar correctamente la operación al contribuyente. ¿Te gustaría ver cómo estructurar correctamente el request con el campo tax_id?
Sources:
@user Tengo este error: Bad request - please check your parameters 400 - "{"statusCode":400,"data_errors":{"tax_id":"El campo CUIT es obligatorio"}}"
Pero estoy enviando absolutamente todo lo que la documentación indica. Estará funcionando mal el servicio?
Sorry, there was a temporary error when processing your request. Please try again. If this problem persists, please contact support.
@user Tengo este error: Bad request - please check your parameters 400 - "{"statusCode":400,"data_errors":{"tax_id":"El campo CUIT es obligatorio"}}"
Pero estoy enviando absolutamente todo lo que la documentación indica. Estará funcionando mal el servicio?
El error 400 con "El campo CUIT es obligatorio" suele indicar que el parámetro tax_id (CUIT) no está llegando correctamente en el body de la solicitud, aunque creas que lo estás enviando. Esto puede deberse a un error en la estructura del JSON, un typo en el nombre del campo, o a que el CUIT no está en el lugar esperado por el endpoint. No hay reportes recientes de caída general del servicio; la mayoría de los casos similares se resolvieron corrigiendo el formato del request (fuente).
Te recomiendo revisar que el campo se llame exactamente tax_id o CUIT según el método y que esté en el nivel correcto del JSON. Si usas la API REST, asegúrate de incluirlo en el objeto principal o en la configuración de la instancia, no solo en params. ¿Querés que te muestre un ejemplo de request correcto para tu caso?
Sources:
Este json es válido? { "environment": "dev", "tax_id": "{{ $json.cuitMateo }}", "wsid": "wsfe", "cert": "{{ $json.crt }}", "key": "{{ $json.key }}" }
Ten en cuenta que son variables las que están ahí.
@user
Sí, el JSON es válido para la autenticación en Afip SDK si las variables ($json.cuitMateo, $json.crt, $json.key) se reemplazan correctamente por sus valores reales antes de enviar la solicitud. La estructura y los nombres de los campos coinciden con lo requerido por la documentación oficial (ver ejemplo).
Asegúrate de que las variables estén correctamente definidas y que el valor de tax_id sea un CUIT numérico válido. ¿Querés ver un ejemplo con valores reales reemplazados?
Sources:
Ahora estoy enviando esto: { "environment": "dev", "method": "FECompUltimoAutorizado", "wsid": "wsfe", "params": { "Auth": { "Token": "{{ $json.token }}", "Sign": "{{ $json.sign }}", "Cuit": "20442030147" }, "PtoVta": 2, "CbteTipo": 11 } }
Luego de obtener un token y sign válido
Y tengo esto cómo respuesta: [ { "FECompUltimoAutorizadoResult": { "PtoVta": 0, "CbteTipo": 0, "CbteNro": 0, "Errors": { "Err": [ { "Code": 600, "Msg": "ValidacionDeToken: No apareció CUIT en lista de relaciones: 20442030147" } ] } } } ]
Y además desde n8n por alguna razón me hacer la consulta dos veces. @user
El error "ValidacionDeToken: No apareció CUIT en lista de relaciones" (código 600) indica que el CUIT usado en la consulta no está vinculado correctamente al certificado o no fue autorizado/delegado para el web service correspondiente. Debes asegurarte de que el CUIT 20442030147 esté vinculado al certificado y que el web service esté autorizado para ese CUIT, siguiendo el proceso de delegación y aceptación según la guía oficial.
Sobre la doble consulta en n8n, suele deberse a la configuración del flujo o a un trigger que ejecuta el nodo dos veces. Revisa que el flujo no tenga bucles o triggers duplicados (fuente). ¿Querés que te detalle los pasos para vincular correctamente el CUIT y el certificado?
Sources: