Ir al contenido

Conectores

Un conector es una aplicación de fuera —Airtable, un CRM, un servicio de mensajería, tu propio ERP— que un puesto puede usar sin salir de Organtia. La vista se llama Conectores en el menú y Aplicaciones conectadas en la cabecera.

Cada conector es una ficha declarativa: dice qué datos de conexión pide, cómo se autentica y qué acciones ofrece. No hay código por aplicación: añadir una es añadir un fichero al catálogo. El motor hace peticiones HTTP, guarda las claves cifradas y apunta cada llamada.

Cuatro reglas que conviene tener presente:

  1. Las claves son de esta instalación. Viven cifradas en su base de datos y no salen por la pantalla ni por la API.
  2. Sin permiso no hay conexión: un puesto solo usa lo que se le ha concedido. Tú, como propietario, lo ves todo.
  3. Toda llamada se audita: quién, qué acción, qué código de respuesta y cuánto tardó.
  4. Las direcciones de red interna están cerradas por defecto. Se abren conexión por conexión, con «Permitir red local».
Elemento Qué hace
Título «Aplicaciones» con un contador: cuántas fichas hay en el catálogo.
Buscador «Buscar aplicación…». Busca en el nombre, en el identificador y en la descripción.

Debajo hay una fila de botones de categoría. El primero es «Todas (N)»; luego, una por categoría con su cuenta. Al pulsar uno, la galería se queda solo con esa categoría. La categoría activa se resalta.

Categorías del catálogo en esta versión:

Categoría Aplicaciones
Mensajería 62
Desarrollo 46
Marketing 28
Otros 26
Ventas 25
Productividad 23
Documentos 23
Datos 16
Infraestructura 8
Finanzas 8
Automatización 2
Comunicación 1
Seguridad 1
CRM 1
IA 1
Inteligencia artificial 1
Sistemas 1
Proyectos 1

En total, 274 fichas. Los números de los botones se calculan al vuelo: si el catálogo cambia, cambian ellos.

Cada aplicación es una tarjeta con su icono y su nombre. Al pasar por encima se lee su descripción. Si la aplicación es de las que exigen OAuth2 y ese flujo aún no está disponible, la tarjeta lleva la marca «OAuth2».

Al pulsar una tarjeta se abre el formulario para conectar esa aplicación. No se conecta nada solo por pulsarla.

Si la búsqueda no encuentra nada: «Ninguna aplicación coincide con «texto». Se añade con un fichero en app/conectores/». Es literal: el catálogo son ficheros JSON en esa carpeta de la instalación.

Debajo de la galería está la lista de conexiones dadas de alta en esta instalación. Si no hay ninguna: «Todavía ninguna. Pulsa un icono de arriba y te pedirá solo lo que esa aplicación necesita. Podrás probarla antes de dársela a nadie».

Cada fila muestra:

Parte Qué es
Icono y nombre El nombre que le diste a esta conexión, con una etiqueta del conector del que sale.
Autenticación El tipo en lenguaje claro: «Sin autenticación», «Token (Bearer)», «Cabecera propia», «Usuario y clave», «Parámetro en la URL», «Token dentro de la URL», «Claves en la URL» u «OAuth2 (pendiente)».
Clave «clave guardada» o «sin clave». Nunca se enseña la clave.
Red local «red local permitida», solo si la abriste.
Permisos Los puestos que pueden usarla, separados por comas, o «nadie más lo usa».

Y estos botones:

Botón Cuándo aparece o está activo Qué hace
Conectar Solo en conexiones OAuth2 que no están pendientes y que aún no tienen token. Abre en otra pestaña la pantalla de autorización del proveedor. Al autorizar y volver, la conexión guarda el token sola.
Probar Siempre. Abre el diálogo de prueba real de esa conexión.
Permisos Siempre. Abre el diálogo «Quién puede usarla».
Editar Siempre. Abre el formulario con lo guardado. Los campos de clave salen vacíos para no cambiarla sin querer.
Papelera Siempre. Borra la conexión, sin pedir confirmación.

Se abre al pulsar una tarjeta de la galería («Conectar nombre») o con «Editar» («Editar nombre»). Lo que pide lo dicta la ficha del conector, no la pantalla: por eso hay aplicaciones con dos campos y otras con seis.

Elemento Qué es
Aviso de OAuth2 pendiente Si la aplicación exige un flujo que aún no existe, explica que se conectará cuando esté. El botón Guardar queda desactivado.
Aviso de no soportada Si el conector no habla HTTP, dice por qué y el botón Guardar queda desactivado.
Nombre de esta conexión Cómo la vas a reconocer en la lista. Obligatorio; sin él no se puede guardar.
Datos de la conexión Los campos propios de la aplicación (por ejemplo el ID de una base y el nombre de una tabla). Cada uno lleva su etiqueta, un asterisco si es obligatorio y un ejemplo como pista.
Autenticación Desplegable, solo si el conector admite más de un tipo. Al cambiarlo se piden los campos del tipo nuevo.
Claves Uno o varios campos de contraseña, según el tipo. La etiqueta sale de la propia ficha cuando la trae («Token personal», «Usuario», «Contraseña»…). Si el tipo no pide ninguna, avisa: «no hay claves que guardar».
«Cómo se consigue» Si la ficha lo trae, explica dónde se genera la clave o el token.
Dirección de retorno Solo en OAuth2: la URL que hay que copiar en la aplicación remota. Si la conexión ya está guardada, aparece «Conectar y autorizar»; si no, avisa de que primero hay que guardar.
«Permitir red local» Casilla apagada por defecto. Solo para aplicaciones en tu propia red (192.168.x, 10.x, localhost).

Al guardar, los campos de datos vacíos no se envían y las claves vacías tampoco: en una edición, dejar una clave en blanco conserva la anterior.

Tipos de autenticación que entiende el motor:

Tipo Qué pide
Sin autenticación Nada.
Token (Bearer) Un token.
Cabecera propia El nombre de la cabecera y su valor.
Usuario y clave Usuario y contraseña.
Parámetro en la URL El nombre del parámetro y su valor.
Token dentro de la URL Un token que viaja en la propia dirección.
Claves en la URL Varias claves como parámetros.
OAuth2 (pendiente) Autorización en la web del proveedor; todavía no disponible en toda la galería.

Si una ficha trae un tipo que no está en esta lista, la pantalla enseña su nombre técnico (por ejemplo aws_sigv4) en lugar de una etiqueta traducida.

Si la URL de la aplicación apunta a una dirección privada, local o de enlace local, el servidor rechaza la llamada salvo que hayas marcado «Permitir red local». El error lo dice tal cual: «la URL apunta a una dirección privada o local. Si es tu servidor interno, activa «permitir red local» en esa conexión».

Solo se admiten http:// y https://.

El catálogo enseña algunas aplicaciones que el motor no puede usar, para que sepas que existen y por qué no están:

Aplicación Motivo
MQTT No habla HTTP: es publicación y suscripción sobre TCP con conexión permanente. Haría falta un puente.
Redis Usa su propio protocolo sobre TCP, no HTTP.
SSH No es una API web: no se puede llamar con una dirección https.

Y dos que exigen OAuth2 y aún no tienen el flujo completo: Microsoft Dataverse y ServiceNow. En las cinco, el botón Guardar aparece desactivado y la ficha explica el motivo.

Es donde se da una conexión a un puesto, acción por acción.

Elemento Qué es
Lista de permisos Cada puesto que ya la usa, con las acciones concedidas y una papelera para retirarle el permiso.
Aviso sin permisos Si nadie la usa: «Nadie la usa todavía. Solo tú, como propietario».
Puesto Desplegable con «Adrián (CEO)» y todos los puestos activos.
Acciones Una casilla por acción que ofrece ese conector.
«Conceder» Desactivado si no hay puesto elegido o no hay ninguna acción marcada. Al pulsarlo, avisa «Permiso concedido a código» y cierra el diálogo.

Retirar un permiso se hace con la papelera de su fila, sin confirmación. El aviso es «Permiso retirado a código».

Hay una segunda vía, más rápida y más gruesa: en la ficha del puesto, pestaña «Aplicaciones», pulsar el icono de una conexión le da todas sus acciones; volver a pulsarlo se las quita. Para afinar qué acción sí y qué acción no, se usa este diálogo de Conectores.

La prueba es real: sale a la aplicación de fuera y queda registrada. El subtítulo lo dice: «la llamada es real y queda registrada».

Elemento Qué es
Acción Desplegable con las acciones que ofrece el conector. Al cambiarla, se recargan sus parámetros con los valores por defecto.
Descripción La explicación de la acción elegida.
Parámetros Un campo por parámetro, con su etiqueta y un asterisco si es obligatorio. Si el parámetro admite una lista de valores, es un desplegable; si espera un objeto o una lista, es un área de texto para JSON; el resto, campos normales.
«Ejecutar» Lanza la llamada. Se desactiva mientras está en curso.
Resultado Cabecera «Respuesta · código · N ms» o «Error · N ms», y debajo el cuerpo de la respuesta en un bloque desplazable.

Los parámetros vacíos que tengan valor por defecto se envían con ese valor. Los textos que empiezan por { o [ se envían como JSON; los que traen un valor por defecto numérico, como número; el resto, como texto.

Probar una conexión no concede permisos ni cambia nada de la conexión: solo comprueba que responde.