Files
IPSExtractor/bots/bot_digitador
..

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 que bot_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

  1. Marca Iniciar con Windows.
  2. 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).