Saltar al contenido
softperu.pe

Crear nueva empresa / tenant

POST /api/tenants

Aprovisiona de forma automatizada un nuevo tenant (empresa cliente):

  1. Registra el cliente en la base de datos central (system.clients).
  2. Crea una base de datos propia e independiente (tenancy_{id}).
  3. Ejecuta las migraciones del tenant y siembra catálogos de SUNAT.
  4. Vincula el subdominio en system.hostnames ({subdomain}.pro.uio.la).
  5. Genera credenciales de acceso para el usuario administrador del tenant.

Tiempo de espera

El proceso puede tardar entre 20 y 45 segundos según la carga del servidor.

Autenticación: SystemBearerAuth.

Cuerpo

Content-Type: application/json

Campo Tipo Obligatorio Descripción
ruc string Sí RUC de 11 dígitos, único en el sistema.
subdomain string Sí Subdominio único (letras, números y guiones).
email string (email) Sí Correo del administrador de la nueva empresa.
plan_id integer Sí ID del plan (ver GET /api/plans).
{
  "ruc": "20601234567",
  "subdomain": "miempresa",
  "email": "contacto@miempresa.com",
  "plan_id": 2
}

Respuestas

200 — Empresa creada

{
  "message": "Empresa creada exitosamente",
  "password": "jK92lMnPq8"
}

password es la contraseña generada para el administrador del tenant. Entrégala al cliente; no se vuelve a mostrar.

400 — Error de aprovisionamiento

{
  "success": false,
  "message": "Error al crear la base de datos del cliente."
}

422 — Validación

{
  "message": "Los datos proporcionados no son válidos.",
  "errors": {
    "ruc": ["El campo ruc ya ha sido tomado."],
    "subdomain": ["Existen caracteres no validos."]
  }
}

Nombre en el SDK

El cuerpo de la consulta es el JSON de la sección Cuerpo. Si instalas el paquete generado en sdks/, esa misma petición es el método crearTenant.

Lenguaje Llamada
PHP SistemaDominioCentralApi::crearTenant
JavaScript SistemaDominioCentralApi.crearTenant
TypeScript SistemaDominioCentralApi.crearTenant
Java SistemaDominioCentralApi.crearTenant
Python SistemaDominioCentralApi.crear_tenant
C# SistemaDominioCentralApi.CrearTenantAsync
Go SistemaDominioCentralAPIService.CrearTenant
Ruby SistemaDominioCentralApi.crear_tenant
Kotlin SistemaDominioCentralApi.crearTenant
Dart SistemaDominioCentralApi.crearTenant
Swift SistemaDominioCentralAPI.crearTenant