Skip to main content

Cuándo usar

El flujo estándar de activación exige que el operador abra el navegador, haga login (Magic Link u OAuth) y espere a que el registro se complete. Para el primer registro de un email, eso es necesario. Para toda instalación posterior del mismo operador (mismo email), puede saltarse el navegador por completo y activar la licencia en una única llamada HTTP. Ideal para:
  • Despliegue automatizado (CI/CD, Terraform, Ansible)
  • Múltiples instancias del mismo producto en distintos servidores
  • Contenedores efímeros que se levantan y mueren con frecuencia
  • Aprovisionamiento programático (multi-tenant, multi-región)
La primera activación todavía requiere el flujo manual (navegador + Magic Link/OAuth). Solo después el email queda “conocido” por el servidor de licenciamiento, y la activación automática pasa a funcionar.

Endpoint

Campos: Respuesta de éxito (200):
La api_key devuelta está lista para usar inmediatamente — no es necesario llamar a /v1/activate después. La instancia ya queda como active en el servidor. Si la llamada se repite con el mismo (email, instance_id), la respuesta incluye "reused": true y devuelve la misma api_key de la llamada anterior. Esto hace la llamada idempotente — segura para retry en scripts de arranque.

Modelo de confianza

El servidor de licenciamiento acepta la llamada usando solo el email como prueba de identidad. Sin segundo factor, sin captcha, sin rate limit. Por qué:
  • El email ya fue verificado una vez (en el registro manual inicial, vía Magic Link u OAuth)
  • Emitir una licencia para un customer no es una acción destructiva — todas las instancias quedan visibles en el portal del customer
  • El customer puede revocar api_keys en cualquier momento si detecta uso no autorizado
  • El customer puede desactivar la activación automática (auto_activation_enabled = false) en el portal si sospecha que el email se filtró
Implicación: quien sepa el email de un customer puede emitir licencias en ese nombre. Si eso es un problema para su escenario (multi-tenant comercial, email compartido, sospecha de filtración), desactive la activación automática en el portal y fuerce a todos los despliegues a usar el flujo manual.

Códigos de error

La respuesta CUSTOMER_NOT_FOUND es la señal canónica para que el cliente caiga al flujo manual. Siempre implemente ese fallback — primer despliegue de un email nuevo necesita pasar por el manual.

Flujo recomendado en el cliente

Variable de entorno estándar

Los productos Evolution leen el email del operador de la variable EVOLUTION_OPERATOR_EMAIL:
Si la variable no está definida, el producto cae directamente al flujo manual (sin intentar auto-activación).

Idempotencia detallada

La llamada es idempotente en (email, instance_id): Esto es lo que hace seguro llamar la ruta en el startup del contenedor — si el contenedor ya se registró antes, recibe la misma key; si es nuevo, recibe key nueva.
Los contenedores que siempre generan UUID nuevo en cada boot acumulan APIKeys (una por boot) bajo el mismo customer. Si quiere comportamiento idempotente real, persista el instance_id en un volumen montado (/data/instance-id) entre reinicios.

Cómo desactivar para mi customer

En el portal del customer (https://license.evolutionfoundation.com.br/portal) hay un toggle “Activación Automática por Email”. Cuando desactivado:
  • Todas las llamadas a /v1/register/auto con su email devuelven 403 AUTO_ACTIVATION_DISABLED
  • Nuevos despliegues obligatoriamente pasan por el flujo manual (navegador + Magic Link/OAuth)
  • Sus api_keys existentes siguen funcionando normalmente
Recomendado para customers que:
  • Operan en ambiente regulado y quieren auditoría en cada activación
  • Tienen el email conocido públicamente y quieren reducir superficie de ataque
  • Sospechan de uso indebido del email

Auditoría

Cada llamada a /v1/register/auto genera una fila en activation_logs con alert_type = 'auto_activation'. El portal del customer muestra:
  • Fecha/hora de cada auto-activación
  • IP del servidor que solicitó
  • Localización aproximada (país/ciudad vía GeoIP)
  • Resultado (created o reused)
Si ve auto-activaciones que no reconoce, suspenda la key correspondiente en el portal inmediatamente — eso revoca el acceso de esa instancia sin afectar las demás.

Próximos pasos

Flujo manual

Flujo completo de /v1/register/init — necesario en el primer registro

Telemetría

Qué se envía en cada llamada de licencia

FAQ

Preguntas frecuentes

Resumen

Resumen del sistema de licenciamiento