Verificar Clave SOL
Prueba el Usuario SOL y la Clave SOL de una empresa iniciando sesión en SUNAT Operaciones en Línea y los guarda solo si SUNAT los acepta. Máximo 5 intentos por minuto. Usa el token de cuenta (user_sk_…).
POSThttps://api.facturalo.pe/api/v3/empresas/{uuid}/sol/verificar
Parámetros del request
Campo
Descripción
uuidstringrequerido
En la URL. El
id de la empresa que devuelve Crear empresa. El login se hace con el RUC de esa empresa.Ej: afcfac05-b5c2-45c4-90d9-7e6f03c9e863usuariostringrequerido
Usuario SOL (principal o secundario). Se guarda en mayúsculas. Máx. 50 caracteres.Ej:
FACTURA1clavestringrequerido
Clave SOL de ese usuario. Se guarda cifrada y nunca se devuelve. Máx. 100 caracteres.Ej:
********guardar_sin_verificarbooleanopcional
Si es
true y SUNAT no responde (error_sunat), guarda la clave igual, sin verificar. Nunca guarda una clave que SUNAT rechazó.Ej: Límite de intentos
Este endpoint hace un login real en SUNAT. Varios intentos fallidos seguidos pueden bloquear el usuario SOL del cliente en SUNAT, por eso Facturalo acepta como máximo 5 llamadas por minuto; la sexta responde429 Too Many Requests. Ante un credenciales_invalidas no reintentes automáticamente: pide al cliente que revise sus datos.Respuestas
| estado | HTTP | Significado |
|---|---|---|
ok | 200 | SUNAT aceptó el login. La clave quedó guardada y verificada es true. |
error_sunat con guardar_sin_verificar: true | 200 | SUNAT no respondió, pero la clave se guardó igual. verificada es false. |
credenciales_invalidas | 422 | SUNAT rechazó el usuario o la clave. No se guardó nada. Revisa que el usuario secundario exista y la clave sea correcta. |
error_sunat | 503 | SUNAT no respondió o el portal falló. No se guardó nada. Reintenta más tarde o vuelve a llamar con guardar_sin_verificar: true. |
Un 422 sin data.estado significa datos inválidos (falta usuario o clave); el detalle viene en errors. 404 si la empresa no existe o tu token no tiene acceso. 429 si superaste los 5 intentos por minuto.
¿Este endpoint o Actualizar empresa?
- Usa este endpoint cuando el cliente escribe su Clave SOL en tu pantalla: le dices al momento si es correcta, antes de que falle una consulta de CDR o de SIRE.
- Actualizar empresa con
sunat.solUsuarioysunat.solClaveguarda la clave sin probarla en SUNAT. - Para registrar el PSE en SUNAT usa Alta PSE, que pide el usuario SOL principal.
Language
Credentials
Header
Authorization
Token de la empresa · HTTP directo
Fetch Request
$ # Node 18+ fetch
const response = await fetch("https://api.facturalo.pe/api/v3/empresas/afcfac05-b5c2-45c4-90d9-7e6f03c9e863/sol/verificar", {
method: "POST",
headers: {
"Authorization": "sk_test_…",
"Content-Type": "application/json"
},
body: JSON.stringify({
"usuario": "FACTURA1",
"clave": "********"
})
});
const data = await response.json();
console.log(data);HTTP directo · funciona con cualquier cliente HTTP
Response
Elige un ejemplo de respuesta:
application/json
200OK
{
"success": true,
"message": "Clave SOL verificada con SUNAT y guardada.",
"data": {
"estado": "ok",
"verificada": true
}
}