Crear nueva empresa / tenant
POST /api/tenants
Aprovisiona de forma automatizada un nuevo tenant (empresa cliente):
- Registra el cliente en la base de datos central (
system.clients). - Crea una base de datos propia e independiente (
tenancy_{id}). - Ejecuta las migraciones del tenant y siembra catálogos de SUNAT.
- Vincula el subdominio en
system.hostnames({subdomain}.pro.uio.la). - 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 |