@extends('platform::layout') @section('title','Administrar instalación') @section('content')
{{ $product->name }}
{{ $i->origin }} · {{ $i->id }}
Cópielo ahora. Solo se muestra una vez; vence para canje en 72 horas.
{{ session('activation_code') }}Estado central
{{ $license->status }}
Revisión {{ $license->revision }}
Última revisión confirmada
{{ $i->applied_revision }}
{{ $i->applied_at??'Pendiente' }}
Vencimiento comercial UTC
{{ $license->commercial_expires_at??'Sin vencimiento' }}
Último contacto UTC
{{ $i->last_seen_at??'Sin contacto' }}
No representa presencia en tiempo real.
Configure estas variables en el .env privado del cliente y regenere su caché de configuración. Las claves mostradas son públicas; no son la clave privada firmante.
LICENSE_PRODUCT_CODE={{ $product->code }}
LICENSE_SERVER_URL={{ rtrim(config('app.url'),'/') }}/api/v1
LICENSE_DOMAIN_PROOF={{ $i->domain_proof }}
LICENSE_PUBLIC_KEYS='{{ json_encode($keys,JSON_UNESCAPED_SLASHES) }}'
@if($i->pending_origin)Traslado pendiente: {{ $i->pending_origin }}. La prueba se realizará en ese destino.
@endifEmitir un código deja la licencia pendiente de canje. No habilita automáticamente al cliente.
La suspensión permite reactivación posterior. La revocación es definitiva para esta instalación.
Próxima revalidación completa UTC: {{ $license->full_validation_due_at }}. Cambiar la vigencia comercial configura el próximo canje; no extiende la licencia activa.
Primero suspenda y confirme su aplicación. Copie la instalación y sus claves preservando su identidad. Configure el nuevo destino, verifique y active con código nuevo. Una copia para otro cliente necesita otra identidad y otra BD.
| Revisión | Estado | Intentos | Próximo intento UTC | Incidencia |
|---|---|---|---|---|
| {{ $e->revision }} | {{ $e->status }} | {{ $e->attempts }} | {{ $e->next_attempt_at }} | {{ $e->last_error??'—' }} |