Guía operativa integral para miodinpro.com/admin
El Portal Administrativo de OdinPro ERP (https://miodinpro.com/admin.html) es una consola privada serverless diseñada para el control comercial, financiero y de distribución de software. Opera directamente sobre la infraestructura de Cloudflare Pages Functions, la base de datos relacional serverless Cloudflare D1 (odinpro-db) y el almacenamiento de objetos Cloudflare R2 (releases.miodinpro.com).
🔒 Mecanismo de Seguridad y Autenticación:
El acceso está protegido por la variable de entorno maestra ADMIN_KEY configurada en Cloudflare Pages. Por defecto, la clave es odinpro2026. Al iniciar sesión, la clave se guarda exclusivamente en la sesión temporal de su navegador (sessionStorage) y se destruye al cerrar la pestaña o pulsar Salir.
Control de empresas, suscripciones anuales y derecho a actualizaciones
Conteo total de empresas registradas en Cloudflare D1.
Pólizas con más de 30 días de vigencia. Reciben todas las versiones nuevas sin restricciones.
Alertas preventivas. Clientes a los que se debe contactar para coordinar la cobranza de la anualidad.
Fecha de soporte caducada. Su ERP sigue funcionando pero no se les entregan nuevas versiones.
Al hacer clic en el botón naranja + Nuevo Cliente, se despliega un formulario con los siguientes campos:
| Campo | Formato / Ejemplo | Impacto en el ERP |
|---|---|---|
| RIF Fiscal | J-12345678-9 | Identificador unívoco obligatorio. Coincide exactamente con el RIF configurado en la base de datos PostgreSQL del cliente. |
| Razón Social | Distribuidora Los Andes C.A. | Nombre legal y comercial de la empresa. |
| Tipo de Licencia | PERPETUA o ANUAL |
PERPETUA: Derecho de uso vitalicio (nunca expira el ERP). ANUAL: Derecho de uso condicionado a la suscripción activa. |
| Teléfono / WhatsApp | 584141234567 | Habilita el botón directo de WhatsApp en la tabla con mensaje preformateado. |
| Fecha Emisión | YYYY-MM-DD | Fecha de compra o entrega original del sistema. |
| Soporte/Updates Hasta | YYYY-MM-DD | Fecha de corte de actualizaciones. Por defecto, el sistema asigna 1 año exacto desde la emisión. |
Cuando un cliente cancela su anualidad (vía transferencia, Zelle, divisas o pago móvil), ubique al cliente en la tabla y haga clic en 💳 Extender (+1 Año):
$150.00).⭐ Algoritmo de Extensión Justa para el Cliente:
• Si el cliente paga antes de que su póliza venza: El sistema suma los 12 meses a su fecha actual de vencimiento (el cliente no pierde ni un solo día ya pagado).
• Si el cliente paga después de haber vencido: El sistema suma los 12 meses a partir de la fecha del pago.
La columna Versión en Uso se actualiza automáticamente sin que el administrador tenga que escribir nada. Cada vez que una terminal de OdinPro en la empresa del cliente arranca, envía su versión actual a la API. Si un cliente está rezagado en la versión 2.3.0 mientras la oficial es 2.5.0, el administrador lo detecta de un solo vistazo.
Publicación y distribución segura de paquetes ZIP desde releases.miodinpro.com
Compilar odinpro.exe en Lazarus en modo Release (con opción -Xs para eliminar símbolos de depuración y dejarlo en ~25 MB).
Empaquetar en un ZIP llamado por ejemplo odinpro_update_2.5.0.zip con el ejecutable, reportes nuevos y scripts SQL.
En el panel de Cloudflare, entrar a R2 > odinpro-releases y arrastrar el archivo ZIP.
En el portal web, hacer clic en + Publicar Nueva Versión para darla de alta en D1.
Se utiliza cuando la actualización incluye nuevos módulos, nuevos reportes, rediseños visuales o mejoras operativas.
Se utiliza exclusivamente para corregir un fallo crítico del sistema, un cálculo tributario o un problema de estabilidad.
📦 Estructura del Enlace de Descarga:
https://releases.miodinpro.com/odinpro_update_<VERSION>.zip
Al escribir el número de versión en el modal, el portal autocompleta la URL directa hacia tu subdominio R2 automáticamente.
Recepción y gestión de solicitudes comerciales captadas desde miodinpro.com
Cada vez que un empresario o contador completa el formulario de solicitud en la página principal (https://miodinpro.com/#contacto), el registro entra de forma instantánea a la base de datos D1 a través del endpoint /api/leads.
Posee un campo invisible (*Honeypot*) que neutraliza y descarta envíos automatizados sin molestar al usuario con captchas.
Un clic abre un chat directo con el número del prospecto y un mensaje formal de bienvenida citando su nombre y empresa.
Descarga en un clic un archivo .csv compatible con Excel con todos los contactos históricos para respaldo.
¿Qué ocurre si un cliente con licencia PERPETUA no paga la anualidad?
Su sistema NUNCA se bloquea. Puede seguir facturando, cobrando e ingresando datos toda la vida en la versión que ya tiene. Lo único que pierde es el acceso a descargar e instalar versiones lanzadas posteriormente a su vencimiento de póliza.
¿Qué pasa si un cliente con licencia ANUAL no paga la anualidad?
Al ser suscripción temporal, al cumplirse la fecha de vencimiento el ERP de escritorio bloquea el acceso en la pantalla de inicio y solicita la nueva clave de activación extendida emitida desde el portal.
¿Cómo cambio la contraseña de acceso al portal admin?
En Cloudflare Pages, entra a miodinpro > Settings > Variables and secrets y edita la variable ADMIN_KEY con tipo Secret.