2.6 KiB
2.6 KiB
Bot Digitador (agent Windows)
Agent que digita radicados en Integración Total (pywinauto + OpenCV).
Vive en este monorepo bajo bots/ (no es un microservicio de services/).
- No descarga PDFs. Solo digitación UI + reportes CSV/log.
- No expone puertos. Solo HTTP saliente al gateway IPSExtractor y PutObject a MinIO.
- La API de control se espera en
…/bot-digitador(mismo patrón quebot_descarga).
Requisitos en la PC
- Windows con Integración Total instalado e iniciado sesión
- Python 3.11+
- Plantillas OpenCV en
template/(ver template/README.md) - Acceso de red al gateway (
BOT_API_URL) y a MinIO - Token
BOT_API_TOKEN
Instalación
cd bots/bot_digitador
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env
# Editar .env (especialmente DIGITADOR_APP_PATH)
Copia los PNG de plantillas a template/.
Arranque con GUI
python run_gui.py
Configura URL API (ej. http://localhost:8189/bot-digitador), Worker ID, token y
ruta de Integración Total (DIGITADOR_APP_PATH). Pulsa Conectar agent.
Queda idle hasta que el desktop asigne un job CSV.
Autoarranque en Windows
- Marca Iniciar con Windows.
- Deja Conectar al abrir activo.
Arranque solo agent (CLI)
python -m bot_digitador.worker \
--api-url http://localhost:8189/bot-digitador \
--worker-id PC-DIGITADOR-01 \
--token %BOT_API_TOKEN%
Modo local (sin API)
Requiere Integración Total abierto y visible:
python main.py --csv datos.csv
python main.py --csv datos.csv --delimiter "|" --date-format dd/mm/yyyy --app-path "C:\ruta\Integracion Total.lnk"
Reportes en la carpeta de salida: RESULTADOS.csv, OMITIDOS.csv, ejecucion_bot.log.
Arquitectura
Desktop IPSExtractor → Gateway :8189 → API bot-digitador
↑
PC bot (esta carpeta) ────────┘ HTTP outbound
└─ PutObject reportes → MinIO …/digitados/{job_id}/
└─ pywinauto → Integración Total
Variables
Ver .env.example:
| Variable | Uso |
|---|---|
BOT_API_URL |
Base del API vía gateway (…/bot-digitador) |
BOT_API_TOKEN |
Bearer compartido con el servicio |
DIGITADOR_APP_PATH |
Acceso directo / ejecutable de Integración Total |
MINIO_* |
Bucket de reportes; por defecto anónimo |
CSV de entrada
Columnas requeridas: radicado, documento, ingreso, total_cargos,
autorizacion, tipo_documento, tipo_servicio, copago, cuota_moderadora.
Acepta delimitador , o | (auto-detección).