You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Las búsquedas y filtros con espacios (contacts list --search "Acme SL")
fallaban con 400: el SDK Go codificaba el espacio como +, que la API
rechaza ("must be url encoded"); ahora va como %20 (RFC 3986).
facturadirecta whoami y auth profile fallaban con un perfil de API key
(HTTP 401: Es necesaria identificación para usar este servicio): llamaban
a GET /profile, que solo admite OAuth, y las API keys son por empresa y
no tienen usuario. Ahora detectan el perfil apikey y, sin pasar por /profile, devuelven la empresa de la clave (la de login --api-key --company; --company y FACTURADIRECTA_COMPANY siguen
mandando): en JSON con authType: "apikey", company y companies (solo
esa), y en la tabla como "Perfil con API key: empresa ". Comprueban
además que la clave es válida para esa empresa con GET /{companyId}/apiKeyInfo e incluyen sus scopes (scopes en JSON); si
la API responde 401/403, el error (auth_required) indica que la API key
no es válida o ha sido revocada y cómo volver a iniciar sesión. Un perfil
de API key sin empresa ya no consulta /profile en ningún comando: pide --company o un nuevo login.
Un 401 de la API (sesión caducada, API key no válida o revocada) se
clasificaba como insufficient_scope y sugería facturadirecta login --scope full, que no lo arregla. Ahora es auth_required (exit 3) con el
mensaje "La API no ha aceptado las credenciales (HTTP 401)…" y la pista facturadirecta login. El 403 sigue siendo insufficient_scope con la
pista --scope full.
Las pistas de login (auth_required, readonly e insufficient_scope)
añaden --profile <nombre> cuando el perfil activo no es el por defecto,
para que el comando sugerido repare la sesión que ha fallado y no cree
otra.
Cuando el refresh token OAuth ha caducado o ha sido revocado, el CLI
devolvía un error genérico (internal, exit 1). Ahora es auth_required
(exit 3) con la respuesta del servidor de identidad en detail y la pista
de login; si lo que falla es la red al renovar, es network_error. El
error "No hay sesión activa" del cliente HTTP también es auth_required.
--profile <nombre> (o FACTURADIRECTA_PROFILE) con un perfil que no
existe devolvía un error genérico. Ahora es auth_required con la pista facturadirecta login --profile <nombre> y los perfiles disponibles en data.profiles.