Skip to content

Registro de Usuarios

Proceso completo para el registro de nuevos usuarios y empresas en el sistema de facturación electrónica.

Inicia el proceso de registro de un nuevo usuario y empresa.

{
"user": {
"name": "Juan",
"last_name": "Pérez",
"email": "[email protected]",
"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",
"email": "[email protected]",
"type_person": "JUR", // JUR para jurídica, NAT para natural
"environment": "TEST" // TEST o PROD
}
}
Accept: application/json
Content-Type: application/json
{
"message": "Registro iniciado. Verifica tu email para completar el proceso.",
"status": "CREATED",
"payload": {
"user_uuid": 123456789,
"company_uuid": 987654321,
"verification_required": true,
"verification_sent_to": "[email protected]",
"expires_in": 3600
}
}
{
"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"]
}
}

Verifica el código enviado por email para completar el registro.

{
"email": "[email protected]",
"verification_code": "123456"
}
Accept: application/json
Content-Type: application/json
{
"message": "Email verificado exitosamente",
"status": "OK",
"payload": {
"verified": true,
"user_uuid": 123456789,
"company_uuid": 987654321,
"next_step": "complete_profile"
}
}
{
"message": "Código de verificación inválido",
"status": "ERROR",
"errors": {
"verification_code": ["El código es inválido o ha expirado"]
}
}

Completa el proceso de registro con información adicional de la empresa.

{
"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"
}
}
Accept: application/json
Content-Type: application/json
{
"message": "Registro completado exitosamente",
"status": "OK",
"payload": {
"completed": true,
"user": {
"uuid": 123456789,
"name": "Juan",
"last_name": "Pérez",
"email": "[email protected]",
"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.

{
"email": "[email protected]"
}
Accept: application/json
Content-Type: application/json
{
"message": "Código de verificación reenviado",
"status": "OK",
"payload": {
"sent": true,
"sent_to": "[email protected]",
"expires_in": 3600
}
}
  1. 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
  2. Verificación de email: POST /api/v1/auth/signup/verify

    • Se verifica el código recibido por email
    • Se activa parcialmente la cuenta
  3. 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
  • Email único en el sistema
  • Contraseña mínimo 8 caracteres
  • Teléfono en formato internacional
  • 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
  • Archivo P12 válido
  • Contraseña correcta del certificado
  • Certificado vigente y no expirado
  • RUC del certificado debe coincidir con RUC de la empresa
  • 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
  • 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