Saltar al contenido

Recursos de gestión

Guía relacionada: Gestionar recursos. El contrato completo de cada endpoint está en la Especificación OpenAPI.

Convenciones

ElementoRegla
IdentificaciónLas entidades se acceden por el ID en la ruta: /id/{ID}.
CuerpoJSON, con el header Content-Type: application/json exactamente así, sin charset.
CreaciónPOST en la ruta de la colección, con la entidad sin el campo ID.
ModificaciónPUT en la ruta de la entidad, con la entidad completa. El CONFIG_TXT enviado sustituye por completo al guardado.
Campos sensiblesLas contraseñas y los secretos se devuelven enmascarados (****). Al modificar, envíe el valor enmascarado para mantener el valor guardado.
AccesoEl operador solo ve las entidades relacionadas con sus grupos.

Formato de las entidades

Las entidades de configuración siguen el mismo formato:

CampoDescripción
IDIdentificador. Se omite en la creación.
INSTANCE_ID o USER_IDEntidad a la que pertenece (instancia o usuario), cuando corresponde.
NAMENombre. Obligatorio.
DESCRIPTIONDescripción.
CONFIG_TXTConfiguración de la entidad, en el mismo formato que usa el Riversoft Console Portal.
CREATED, MODIFIEDFechas de creación y de la última modificación.
EXTRA_TXTDatos adicionales.

Consejo

La forma más simple de crear una entidad nueva es consultar una existente similar, cambiar el NAME y los campos necesarios y enviarla sin el ID.

Estructura del CONFIG_TXT

El CONFIG_TXT es un objeto JSON, dividido en secciones. Todas tienen la sección Entity, con el tipo de la entidad (Name) y la versión de la estructura (Version = 2). Los campos de cada sección están en los esquemas Cfg* de la Especificación OpenAPI.

EntidadEsquemaSecciones
InstanciaCfgInstanceAuthentication (autenticación de los usuarios, MFA, políticas de contraseña y LDAP), Log (base y filtros de log), Startup (servicio, directorios, sesiones, lock externo y proveedores SSO)
UsuarioCfgUserGeneral, Token, Net1 y Net2 (red principal y alternativa), y una sección por protocolo: OFTP, SFTP, FTP, S3, AzBlob, OciBlob, GcpBlob, WhatsApp, AS2, WebHook
Servicio de redCfgServiceService, Net1, y una sección por tipo: OFTP, SFTP, API, WhatsApp, AS2, WebHook, Monitor
AgendaCfgScheduleSchedule
Tipo de archivo (global o del usuario)CfgFileTypeFileConf
EnrutamientoCfgRoutingRules.General (exploración) y Rules.FileMatching[] (reglas, con General, Filename, Copy y Backup)
Operador—Operator, Relations.Groups
Grupo—Permissions, Relations
Registro de la API—Monitor, passwordPolicies, ssoProviders, enable2FA, TLS y SSO

Cuidados al modificar:

  • El PUT sustituye el CONFIG_TXT completo. Los campos omitidos vuelven al valor vacío o cero. Consulte la entidad, modifique los campos y envíe el objeto completo.
  • Los campos desconocidos se ignoran sin error. Verifique el nombre de los campos en el esquema.
  • Los campos sensibles vuelven enmascarados. Reenviar el valor enmascarado mantiene el valor guardado.

Nota

Los esquemas corresponden al módulo de configuración stcpcfgifacetypes-go v1.3.2, usado por Riversoft STCP Gemini API 3.10.0.

Valores codificados

Algunos campos del CONFIG_TXT usan códigos. Cuando el campo acepta una combinación, el valor es la suma de los códigos.

CampoValores
Usuario: General.TransferProtocol0 deshabilitado, 1 OFTP, 2 SFTP, 4 Amazon S3, 5 Azure Blob Storage, 6 OCI Object Storage, 7 Google Cloud Storage, 8 WhatsApp, 9 FTP, 10 AS2, 11 Webhook
Usuario: General.TransferProtocolInProtocolos aceptados en la conexión de entrada: suma de 2^protocolo. Ejemplo: OFTP y SFTP = 2 + 4 = 6
Usuario: General.AuthMFAMethod0 sigue la instancia; 128 deshabilita el MFA para el usuario
Usuario: InitModeBoth, Initiator, Responder
Usuario: ModeBoth, Sender, Receiver
Usuario: *ProxyType0 SOCKS4, 1 SOCKS5, 2 HTTP, 3 HTTPS, 4 FTP
Usuario: AS2.MDNOptions (suma)1 habilitado, 2 firmado, 4 asíncrono, 8 cifrado
Usuario: SendDocumentOptions y RequiredDocumentOptions (suma)1 firmado (multipart), 2 firmado, 4 cifrado, 8 comprimido
Usuario: AuthMode (AS2 y Webhook)0 ninguna, 1 Basic, 2 Bearer
Usuario: Net1.WhatsAppDownloadMode0 ID del documento en Meta, 1 link de Meta, 2 link seguro sin contraseña, 3 link seguro con contraseña
Servicio: Service.ServiceType0 OFTP, 1 API, 2 supervisión (DirectLink), 3 SFTP, 4 supervisión (Gemini), 5 WhatsApp, 6 AS2, 7 Webhook
Servicio: API.AuthMode (suma)1 Basic, 2 Bearer, 4 token exchange (JWT), 8 password grant. 0 acepta todos. El token Bearer siempre se exige en las rutas que no son de autenticación.
Agenda: Schedule.Type (suma)1 recepción, 2 transmisión, 4 comando, 8 transmisión optimizada, 128 Riversoft STCP DirectLink
Agenda: Schedule.Mode0 fecha, 1 fecha con intervalo, 2 intervalo
Tipo de archivo: FileConf.FileMatch0 predeterminado, 1 prefijo/sufijo, 2 nombre del archivo, 3 expresión regular
Tipo de archivo: FileConf.FileDirection0 ambos, 1 transmisión deshabilitada, 2 recepción deshabilitada
Instancia: Authentication.AuthType0 sistema operativo, 1 STCP, 2 RSA SecurID, 3 LDAP
Instancia: Authentication.AuthMFAMethod0 deshabilitado, 1 aplicación autenticadora (TOTP), 2 código por correo electrónico, 3 código por SMS
Instancia: Authentication.AuthPolicyPswdComplex y registro de la API: passwordPolicies.complexity (suma)1 minúscula, 2 mayúscula, 4 dígito, 8 símbolo (15 = todas)
Instancia: Startup.ExternalLockTypein-memory, filesystem, redis
Instancia: Startup.OSTypeLINUX, WINNT, WIN32, MACOS
Proveedor SSO: ssoTypeoauth2, saml2, jwt, ldap

Respuestas

OperaciónRespuesta 200
Consulta (GET){"status": 200, "field": "<entidad>", "data": [ ... ]}
Creación y modificación (POST, PUT){"data": "<nombre de la entidad>", "field": "<entidad>"}
Eliminación (DELETE){"data": "<Entidad> deleted with success", "field": "<entidad>"}

Los errores siguen el formato descrito en Códigos de respuesta.

Configuración (/stcpcore/v2)

RecursoRutaPermiso
Instancias/instancesstcpcore.instance
Instancias y sus usuarios/instances/membersstcpcore.instance = 15
Usuarios/instances/id/{instanceID}/usersstcpcore.user
Servicios de red/instances/id/{instanceID}/servicesstcpcore.service
Agendamientos/instances/id/{instanceID}/schedulesstcpcore.schedule
Tipos de archivo globales/instances/id/{instanceID}/ftypesglobalstcpcore.filetypeglobal
Tipos de archivo del usuario/instances/id/{instanceID}/users/id/{userID}/filetypesstcpcore.filetype
Enrutamientos (Riversoft STCP Gemini Rename)/instances/id/{instanceID}/routingstcpcore.routing

Los tipos de archivo también tienen GET .../check?filename=<nombre>, que devuelve los tipos cuya expresión regular corresponde al nombre indicado. Los enrutamientos pueden consultarse por nombre en GET .../routing/name/{nombre}.

Administración (/stcpadmin/v2)

RecursoRutaPermiso
Operadores/operatorsstcpadmin.operator
Perfil y contraseña del propio operador/operators/me, /operators/me/passwordstcpadmin.operator
Grupos y permisos/groups, /groups/id/{groupID}/operatorsstcpadmin.group
Registro de la API/settingsstcpadmin.setting
Políticas de contraseña/api/policiesstcpadmin.operator = 15
Códigos de error y evento/error_eventsstcpadmin.error_event

El registro de la API corresponde a API/Supervisión del Riversoft Console Portal. Guarda TLS, dirección y puerto, habilitación del 2FA, políticas de contraseña, proveedores de SSO y los nodos de supervisión (instancia, nombre del nodo, credencial, host, puerto, TLS y certificado). Al iniciar, la API carga el registro cuyo nombre es igual al rest_name de su config.json.

Supervisión (/stcpadminsvc/v2/supervision/stcpmon)

La API envía los comandos a los servicios de supervisión de Riversoft STCP Gemini Server y Riversoft STCP DirectLink registrados en el registro de la API. Todos usan POST con el cuerpo {"Instance": "...", "Node": "...", "Name": "...", "Level": "..."}; sin Node, el comando va a todos los nodos de la instancia.

RutaComandoPermiso (stcpadminsvc)
/monitor/nodesLista los nodos de supervisión habilitados.mon_console_info
/instance/infoInformación de la instancia.mon_inst_info
/instance/restartReinicia la instancia.mon_inst_restart
/instance/debugCambia el nivel de debug (Level).main_set_level
/instance/consoleMensajes de la consola.mon_console_info
/user/infoInformación de los usuarios.mon_user_info
/user/startInicia una conexión de salida con el usuario (Name).mon_user_start_conn
/user/stopCancela la conexión del usuario (Name).mon_user_canc_conn
/user/create_folderCrea la estructura de directorios del usuario (Name).main_user_create_folders
/schedule/startEjecuta la agenda (Name) en el momento.mon_sched_exec
/service/infoInformación de los servicios de red.mon_inst_serv
/sandbox, /keystoreLista (GET), envía (POST, contenido en Base64) y elimina (DELETE) archivos del buzón o del keystore.mon_sandbox_file_management, mon_keystore_file_management

La respuesta trae, en data, la respuesta de cada nodo: {"Instance": "...", "Nodename": "...", "Data": [ ... ]}.

Mantenimiento (/stcpadminsvc/v2/supervision/stcpauth)

Todos usan POST con el cuerpo {"Instance": "...", "Name": "...", "NewPassword": "...", "CurrentPassword": "..."}. Para operadores, Instance no se usa.

RutaOperación
/reset/user/password, /reset/operator/passwordDefine una nueva contraseña, validada contra las políticas de contraseña.
/change/user/password, /change/operator/passwordCambia la contraseña, indicando la actual en CurrentPassword.
/reset/user/lock, /reset/operator/lockElimina el bloqueo por fallas de inicio de sesión.
/reset/user/hashRecrea el hash de autenticación del usuario.
/reset/user/2fa, /reset/operator/2faElimina el secreto TOTP; se genera uno nuevo en el próximo inicio de sesión.