Registro de Usuarios
Registro de Usuarios
Section titled “Registro de Usuarios”Proceso completo para el registro de nuevos usuarios y empresas en el sistema de facturación electrónica.
Endpoints disponibles
Section titled “Endpoints disponibles”POST /api/v1/auth/signup
Section titled “POST /api/v1/auth/signup”Inicia el proceso de registro de un nuevo usuario y empresa.
Parámetros de entrada
Section titled “Parámetros de entrada”{ "user": { "name": "Juan", "last_name": "Pérez", "phone": "+593987654321", "password": "contraseña_segura", "password_confirmation": "contraseña_segura" }, "company": { "ruc": "0921498846001", "name": "EMPRESA EJEMPLO S.A.", "commercial_name": "Empresa Ejemplo", "address": "Av. Principal 123, Guayaquil", "phone": "+593987654321", "type_person": "JUR", // JUR para jurídica, NAT para natural "environment": "TEST" // TEST o PROD }}
Headers requeridos
Section titled “Headers requeridos”Accept: application/jsonContent-Type: application/json
Respuesta exitosa (201)
Section titled “Respuesta exitosa (201)”{ "message": "Registro iniciado. Verifica tu email para completar el proceso.", "status": "CREATED", "payload": { "user_uuid": 123456789, "company_uuid": 987654321, "verification_required": true, "expires_in": 3600 }}
Respuesta de error (422)
Section titled “Respuesta de error (422)”{ "message": "Error de validación", "status": "ERROR", "errors": { "user.email": ["El email ya está registrado"], "company.ruc": ["El RUC ya está registrado"], "user.password": ["La contraseña debe tener al menos 8 caracteres"] }}
POST /api/v1/auth/signup/verify
Section titled “POST /api/v1/auth/signup/verify”Verifica el código enviado por email para completar el registro.
Parámetros de entrada
Section titled “Parámetros de entrada”{ "verification_code": "123456"}
Headers requeridos
Section titled “Headers requeridos”Accept: application/jsonContent-Type: application/json
Respuesta exitosa (200)
Section titled “Respuesta exitosa (200)”{ "message": "Email verificado exitosamente", "status": "OK", "payload": { "verified": true, "user_uuid": 123456789, "company_uuid": 987654321, "next_step": "complete_profile" }}
Respuesta de error (400)
Section titled “Respuesta de error (400)”{ "message": "Código de verificación inválido", "status": "ERROR", "errors": { "verification_code": ["El código es inválido o ha expirado"] }}
POST /api/v1/auth/signup/complete
Section titled “POST /api/v1/auth/signup/complete”Completa el proceso de registro con información adicional de la empresa.
Parámetros de entrada
Section titled “Parámetros de entrada”{ "user_uuid": 123456789, "company_uuid": 987654321, "company_details": { "activity_code": "6201", // Código de actividad económica "special_taxpayer": false, "accounting_required": true, "rimpe": false, "retention_agent": null, "establishments": [ { "code": "001", "name": "Matriz", "address": "Av. Principal 123, Guayaquil", "phone": "+593987654321", "emission_points": [ { "code": "001", "name": "Punto de emisión 1" } ] } ] }, "sri_credentials": { "certificate_file": "base64_encoded_p12_file", "certificate_password": "password_del_certificado" }}
Headers requeridos
Section titled “Headers requeridos”Accept: application/jsonContent-Type: application/json
Respuesta exitosa (200)
Section titled “Respuesta exitosa (200)”{ "message": "Registro completado exitosamente", "status": "OK", "payload": { "completed": true, "user": { "uuid": 123456789, "name": "Juan", "last_name": "Pérez", "status": "active" }, "company": { "uuid": 987654321, "name": "EMPRESA EJEMPLO S.A.", "ruc": "0921498846001", "status": "active", "environment": "TEST", "has_configured": true, "establishments": [ { "code": "001", "name": "Matriz", "emission_points": [ { "code": "001", "name": "Punto de emisión 1" } ] } ] }, "token": { "token": "access_token_here", "refresh_token": "refresh_token_here", "expired_at": 1751058190, "rt_expired_at": 1766005390 } }}
POST /api/v1/auth/signup/resend-verification
Section titled “POST /api/v1/auth/signup/resend-verification”Reenvía el código de verificación por email.
Parámetros de entrada
Section titled “Parámetros de entrada”{}
Headers requeridos
Section titled “Headers requeridos”Accept: application/jsonContent-Type: application/json
Respuesta exitosa (200)
Section titled “Respuesta exitosa (200)”{ "message": "Código de verificación reenviado", "status": "OK", "payload": { "sent": true, "expires_in": 3600 }}
Flujo completo de registro
Section titled “Flujo completo de registro”-
Inicio del registro:
POST /api/v1/auth/signup
- Se envía información básica del usuario y empresa
- Se genera un código de verificación enviado por email
-
Verificación de email:
POST /api/v1/auth/signup/verify
- Se verifica el código recibido por email
- Se activa parcialmente la cuenta
-
Completar registro:
POST /api/v1/auth/signup/complete
- Se proporciona información detallada de la empresa
- Se suben credenciales del SRI (certificado digital)
- Se completa el registro y se obtienen tokens de acceso
Validaciones importantes
Section titled “Validaciones importantes”Usuario
Section titled “Usuario”- Email único en el sistema
- Contraseña mínimo 8 caracteres
- Teléfono en formato internacional
Empresa
Section titled “Empresa”- RUC válido según algoritmo ecuatoriano
- RUC único en el sistema
- Tipo de persona (JUR/NAT) debe coincidir con RUC
- Ambiente (TEST/PROD) determina el entorno de facturación
Certificado SRI
Section titled “Certificado SRI”- Archivo P12 válido
- Contraseña correcta del certificado
- Certificado vigente y no expirado
- RUC del certificado debe coincidir con RUC de la empresa
Códigos de error comunes
Section titled “Códigos de error comunes”- 400 Bad Request: Datos inválidos o código de verificación incorrecto
- 409 Conflict: Email o RUC ya registrados
- 422 Unprocessable Entity: Errores de validación
- 429 Too Many Requests: Demasiados intentos de verificación
Notas importantes
Section titled “Notas importantes”- Los códigos de verificación expiran en 1 hora
- Se pueden reenviar códigos con límite de 3 intentos por hora
- El registro en ambiente TEST permite pruebas sin afectar el SRI
- El certificado digital es obligatorio para facturación electrónica
- Una vez completado el registro, se puede comenzar a facturar inmediatamente