Backlog BFF web movil - martin-hendricks/MISO-PROYECTO-FINAL-SOLVENTA GitHub Wiki

📋 Backlog BFF · Web / Móvil y back-office

Historias del borde de canal (:BFFWeb, :BFFMovil) para que cliente L1 y back-office (asesor / operador) no hablen con el núcleo a pelo. Una HU BFF = un slice de recorrido que el canal puede terminar; no es un endpoint, un DTO ni una tabla.

No reescribe Backlog refinado · Semana 3 ni Backlog UI · Cliente L1. HU-72 y HU-73 siguen siendo el contrato paraguas (PF2: 3 SP c/u, solo los recorridos comprometidos). Las HU de esta página refinan esos contratos; no se suman a los 5 + 5 SP del catálogo S3 ni a la velocidad del plan PF2.

JWT y RBAC ya están: HU-74–HU-77. Aquí se citan, no se reescriben.

Wiki only. No se crean issues en Jira desde este documento.

Caso: files/MISW4501-202614-Proyecto.pdf §§2.3, 5.1–5.2. Patrón BFF: Tácticas y patrones §2. Hueco Clientes en BO: Cumplimiento Axe y Nielsen · prototipo back-office. Cuerpos JSON de cada slice: Contratos BFF.

Convención de nombres

Igual que Semana 3. IDs de este catálogo continúan después de HU-120 (último id de Backlog UI · Cliente L1).

Dónde Formato Ejemplo
Historia · ID estable HU-# HU-125
Historia · Summary en Jira HU - #. {Name} HU - 125. BFF móvil cotización y oferta
Contrato paraguas (ya en S3) HU-72 / HU-73 Contrato BFF Web / BFF Móvil
Clave Jira SOLV-# No se asigna en este documento

Texto Como …, quiero …, para … alineado al PDF. El p95 / caudal viven en SBA. Las HU no fijan el JSON de un banco, una pasarela o un proveedor de clima: el BFF expone el contrato de Solventa; el stub ok / fallo / lento basta para estimar y probar.

Labels

Cada historia lleva al menos un label de plataforma y un label de alcance. En este catálogo el label api marca que el incremento vive en el BFF, no en la UI ni en el núcleo.

Grupo Label Uso aquí
Plataforma api Contrato BFF / gateway. Obligatorio en HU-121–HU-140
Plataforma web :BFFWeb (portal cliente o back-office)
Plataforma mobile :BFFMovil (app del asegurado; payload acotado)
Alcance mvp Slices que sostienen los seis recorridos §5.1 o el CRUD de clientes del BO
Alcance post-mvp No se usa en este corte

HU-141 es canal (web mvp), no BFF: lista y ficha de clientes. Va en esta página porque sin esa vista el CRUD (HU-140) queda huérfano. No lleva api.

Una HU BFF = un canal. Gemelos web/móvil son tickets distintos (mismo núcleo, payload distinto: HA-31).

Story point estimate

Fibonacci 1 · 2 · 3 · 5 · 8. Mismo significado que Semana 3. Slices BFF 2–3; CRUD BFF 5; UI Clientes 5.

Estos SP son el desglose de HU-72 / HU-73 (y de la capacidad Clientes que el prototipo no cubre). No se suman a la velocidad de producto ni al compromiso PF2.

Corte SP
E4 Identidad (HU-121–HU-124) 11
E1 Cotización (HU-125–HU-126) 6
E2 Emisión (HU-127–HU-128) 6
E3 Siniestro y paramétrico (HU-129–HU-132) 10
E5 Hipotecario (HU-133–HU-134) 6
E6 Ciclo de vida (HU-135–HU-136) 5
Agregación (HU-137–HU-139) 9
CRUD clientes BFF (HU-140) 5
Desglose BFF (HU-121–HU-140) 58
Dispositivo §5.2 (HU-142, HU-143) 6
UI lista/ficha clientes (HU-141, canal) 5
Paraguas S3 HU-72 + HU-73 (no sumar) 5 + 5

Relación con HU-72 / HU-73

Paraguas S3 Qué cubre Cómo se parte aquí
HU-72 Contrato BFF Web Cotizar, emitir, gestionar y siniestros en :BFFWeb, versionado HU-122, HU-124, HU-126, HU-128, HU-130, HU-132, HU-134, HU-136, HU-138, HU-139, HU-140
HU-73 Contrato BFF Móvil Payloads acotados: aviso, billetera, cotización, prueba de vida, push y asistencia en :BFFMovil HU-121, HU-123, HU-125, HU-127, HU-129, HU-131, HU-133, HU-135, HU-137, HU-142, HU-143
HU-74 / HU-75 JWT y roles web Precondición de todo :BFFWeb
HU-76 / HU-77 JWT y roles móvil (HU-77 absorbida en HU-76 en PF2) Precondición de todo :BFFMovil

Si estas HU se importan a Jira, HU-72 / HU-73 quedan como feature o se cierran al completar los slices del recorrido comprometido. No duplicar SP.

Borde de canal

:APISocios queda fuera (canal socio, no cliente/BO). Los adaptadores OF / OD / KYC / pasarela / firma / telemetría los llama el núcleo, no el BFF.

flowchart LR
  subgraph canales [Canales]
    AppMovil[App_Movil]
    WebCliente[Web_Cliente]
    BackOffice[Back_Office]
  end
  subgraph borde [Borde]
    BFFMovil[BFFMovil]
    BFFWeb[BFFWeb]
  end
  subgraph nucleo [Nucleo]
    Identidad[ms_identidad]
    Consent[ms_consentimiento]
    Cotiz[ms_cotizacion]
    Perfil[ms_perfilamiento]
    Suscrip[ms_suscripcion]
    Polizas[ms_polizas]
    Siniestros[ms_siniestros]
    Pagos[ms_pagos]
    Param[ms_parametrico]
    Notif[notificaciones]
  end
  AppMovil --> BFFMovil
  WebCliente --> BFFWeb
  BackOffice --> BFFWeb
  BFFMovil --> Identidad
  BFFMovil --> Consent
  BFFMovil --> Cotiz
  BFFMovil --> Perfil
  BFFMovil --> Suscrip
  BFFMovil --> Polizas
  BFFMovil --> Siniestros
  BFFMovil --> Pagos
  BFFMovil --> Param
  BFFMovil --> Notif
  BFFWeb --> Identidad
  BFFWeb --> Consent
  BFFWeb --> Cotiz
  BFFWeb --> Perfil
  BFFWeb --> Suscrip
  BFFWeb --> Polizas
  BFFWeb --> Siniestros
  BFFWeb --> Pagos
  BFFWeb --> Param
Loading

Historias BFF

INVEST: independiente en lo posible (orden: identidad → catálogo/prima → oferta → aceptar → póliza; consentimiento de perfil antes del adaptador hipotecario; JWT antes de cualquier slice autenticado). Valiosa para que el canal cierre un recorrido §5.1. Testeable con un hecho cuando claro (oferta con prima/moneda/venceEn, siniestroId, ficha de cliente). No se parte en tabla/DTO/endpoint.

Columna Consume = HU de canal (S3 o UI L1). Columna Servicios = microservicios que el BFF llama en ese slice.

E4 · Identidad

PDF §2.3 KYC · §5.2 onboarding. El JWT se emite en ms-identidad y se valida en el BFF (ms-identidad).

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-121 HU - 121. BFF móvil sesión e identidad Como dev móvil, quiero login / refresh / logout con payload acotado en el BFF, para que la app no hable con ms-identidad a pelo. JWT validado en borde (HU-76). HU-90, HU-91 ms-identidad — 3 api mobile mvp 2
HU-122 HU - 122. BFF web sesión e identidad Como dev web, quiero el mismo contrato de sesión con payload más rico (portal cliente y back-office), para un solo emisor y dos clientes. HU-103, HU-106, HU-8 ms-identidad — 3 api web mvp 3
HU-123 HU - 123. BFF móvil alta y consentimiento Como dev móvil, quiero registrar datos/documento, dejar el resultado simulado de la prueba de vida (ok / no, HU-48) y otorgar o revocar habeas data vía BFF, para asociar póliza sin oficina y con traza. La huella o el rostro del login no pasan por aquí: eso lo resuelve el dispositivo sobre la sesión de HU-121. HU-45, HU-46, HU-48 ms-identidad, ms-consentimiento — 3 api mobile mvp 3
HU-124 HU - 124. BFF web alta y consentimiento Como dev web, quiero alta y consentimiento en el portal (sin cámara), para la misma cuenta que la app. HU-102, HU-115 ms-identidad, ms-consentimiento — 3 api web mvp 3

E1 · Cotización

PDF §5.1 #1. Envelope: ramo + DatosRiesgo → oferta (prima, moneda, venceEn). Móvil: payload ligero. Web: mismo núcleo para cliente y asesor.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-125 HU - 125. BFF móvil cotización y oferta Como dev móvil, quiero pedir y reconsultar una oferta firme con payload ligero, para mostrar el precio en el flujo de compra sin el contrato web. HU-92, HU-11 ms-cotizacion (ms-catalogo si va separado) 1 2 api mobile mvp 3
HU-126 HU - 126. BFF web cotización y oferta Como dev web, quiero cotizar y devolver oferta en portal cliente y en venta asistida, para que asesor y cliente usen el mismo núcleo. HU-104, HU-113, HU-10 ms-cotizacion 1 2 api web mvp 3

E2 · Suscripción y emisión

PDF §5.1 #2. El BFF orquesta suscripción + cobro stub + póliza. No PCI: el contrato mínimo es cobro ok / fallo / idempotente.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-127 HU - 127. BFF móvil aceptar, emitir y billetera Como dev móvil, quiero aceptar una oferta vigente, ver emisión o rechazo con motivo, y listar/detalle de póliza en payload ligero, para cerrar #2 en movilidad. Ese mismo listado es el que la app guarda sin red (HU-51); al volver la conexión se vuelve a leer aquí y el núcleo gana el conflicto (HU-52). No hay una ruta aparte de billetera offline. HU-20, HU-99, HU-47, HU-51, HU-52 ms-suscripcion, ms-pagos, ms-polizas 2 2 api mobile mvp 3
HU-128 HU - 128. BFF web aceptar, emitir y consultar póliza Como dev web, quiero el mismo journey con estados reales del núcleo (cliente y asesor), para no inventar el estado en la UI. HU-114, HU-112, HU-18, HU-19 ms-suscripcion, ms-pagos, ms-polizas 2 2 api web mvp 3

E3 · Siniestro y paramétrico

PDF §5.1 #3 y #4. Lectura de estado por el modelo CQRS de ms-siniestros (HA-08), no por el comando de aviso.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-129 HU - 129. BFF móvil aviso, evidencia y estado Como dev móvil, quiero reportar con foto, video, recibo o daño y geo, adjuntar el soporte recortado al mismo aviso, confirmar siniestroId y consultar lista/detalle de estado, para el recorrido #3 con un solo upload. HU-22–HU-25, HU-38, HU-42, HU-43, HU-97, HU-31, HU-98 ms-siniestros 3 3 api mobile mvp 3
HU-130 HU - 130. BFF web siniestros cliente y cola operador Como dev web, quiero aviso/lista del cliente y cola + decisión + pago de bajo monto del operador, para evaluar y cerrar el caso sobre el mismo modelo. HU-116, HU-117, HU-111, HU-26, HU-27, HU-29 ms-siniestros, ms-pagos 3 3 api web mvp 3
HU-131 HU - 131. BFF móvil pago automático Como dev móvil, quiero el resumen que persistió Solventa (póliza, umbral, monto), para mostrar el disparo #4 sin el mensaje crudo del tercero. HU-36 ms-parametrico, ms-siniestros (lectura) 4 3 api mobile mvp 2
HU-132 HU - 132. BFF web trazabilidad paramétrica Como dev web, quiero la misma traza para cliente escritorio y para el operador, para conservar evidencia interna del disparo. HU-37 ms-parametrico, ms-siniestros (lectura) 4 3 api web mvp 2

E5 · Hipotecario

PDF §5.1 #5 · §2.4. Consentimiento de perfil antes de llamar al adaptador (el stub OF/OD vive en el núcleo, no en el BFF).

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-133 HU - 133. BFF móvil perfil y oferta hipotecario Como dev móvil, quiero registrar consentimiento de perfilamiento y devolver la oferta interna, para decidir en originación sin el API del banco. HU-53, HU-57 ms-consentimiento, ms-perfilamiento, ms-cotizacion 5 2 api mobile mvp 3
HU-134 HU - 134. BFF web perfil y oferta hipotecario Como dev web, quiero la misma oferta (cliente y asesor), para explicarla sin salir del flujo. HU-105, HU-58 ms-consentimiento, ms-perfilamiento, ms-cotizacion 5 2 api web mvp 3

E6 · Ciclo de vida

PDF §5.1 #6. Un verbo = un comando en el núcleo; el BFF solo lo expone al canal.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-135 HU - 135. BFF móvil avisos de vigencia Como dev móvil, quiero vencimiento y renovación efectiva in-app, para que el cliente no pierda cobertura por olvido (sin payload de un proveedor de push). HU-64, HU-65 notificaciones, ms-polizas 6 4 api mobile mvp 2
HU-136 HU - 136. BFF web ciclo de vida de póliza Como dev web, quiero renovar, modificar y cancelar con el estado visible en consulta, para que el operador cumpla #6 sin reemitir desde cero. HU-59, HU-60, HU-61 ms-polizas 6 4 api web mvp 3

Agregación de canal

El valor del patrón BFF: un fan-in en el borde para que el cliente no encadene llamadas contra el presupuesto de EC-LAT-05 (1,5 s aceptación → póliza) ni contra el Inicio.

Hoy el tab Clientes del TopNavAdmin pinta Mi cartera (cola de cotizaciones y pólizas), no un CRM. HU-139 cubre esa cartera; el CRUD de personas es HU-140.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-137 HU - 137. BFF móvil agregado de Inicio Como dev móvil, quiero un solo agregado (oferta vigente, pólizas, siniestro en curso, hipotecario si hay originación), para armar Inicio sin chatty clients. HU-96 ms-cotizacion, ms-polizas, ms-siniestros, ms-perfilamiento 1–6 3 api mobile mvp 3
HU-138 HU - 138. BFF web agregado de Inicio Como dev web, quiero el mismo fan-in con payload de escritorio, para el destino Inicio del portal cliente. HU-109 ms-cotizacion, ms-polizas, ms-siniestros, ms-perfilamiento 1–6 3 api web mvp 3
HU-139 HU - 139. BFF web cartera del asesor Como dev web, quiero KPIs y cola de terceros (cotizaciones y pólizas de la cartera), para el shell del asesor sin mezclarlo con el CRUD de personas. HU-8 ms-polizas, ms-cotizacion, ms-siniestros 1, 2, 3 3 api web mvp 3

Clientes CRUD

El destino Clientes del TopNavAdmin no administra clientes: no hay lista, ficha, alta ni búsqueda (auditoría 20 sep 2026). No existen frames lista-clientes ni detalle-cliente. Esta capacidad no está en Semana 3; se añade para que el asesor opere personas, no solo objetos de cartera.

ms-identidad es dueño del usuario. La ficha puede leer cartera en ms-polizas / ms-cotizacion (agregación BFF); no crea pólizas. RBAC asesor/operador: HU-75.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-140 HU - 140. BFF web CRUD de clientes Como asesor u operador, quiero listar/buscar, ver ficha, dar de alta, editar y desactivar clientes vía BFF, para administrar personas desde Clientes sin tocar el emisor JWT a pelo. HU-141 ms-identidad; lectura ms-polizas, ms-cotizacion — 3 api web mvp 5
HU-141 HU - 141. UI web lista y ficha de clientes Como asesor, quiero lista, búsqueda y ficha (documento, contacto, consentimientos, atajo a su cartera), para que el tab Clientes administre clientes. Canal, no BFF. Frames aún no existen; no se redibuja Figma en este documento. HU-140 — — 3 web mvp 5

Dispositivo §5.2

PDF §5.2. No sustituyen a HU-121 ni a HU-135. La biometría de acceso sigue en el dispositivo. HU-135 sigue siendo el aviso in-app, sin payload de un proveedor de push. Estos dos slices son el contrato que las pantallas nuevas llaman. No están en el corte de 1 SP del plan PF2.

ID Summary Como, quiero, para Consume Servicios §5.1 Ola Labels SP
HU-142 HU - 142. BFF móvil token y avisos push Como dev móvil, quiero registrar el token del dispositivo y que el BFF despache el aviso de pago automático, vencimiento, renovación o estado del siniestro, para que la bandeja abra la pantalla que ya existe. El proveedor de push es un stub. No hay campana in-app. HU-35, HU-64, HU-65, HU-31 notificaciones, ms-polizas, ms-siniestros, ms-parametrico 3, 4, 6 5 api mobile post-mvp 3
HU-143 HU - 143. BFF móvil prestadores y asistencia Como dev móvil, quiero un catálogo stub de prestadores ordenado por distancia y registrar un pedido de asistencia con la ubicación del cliente, para el mapa y el pedido en sitio. Operaciones lee ese pedido aquí; no entra en la cola de avisos de HU-130. HU-39, HU-40, HU-41 ms-siniestros — 5 api mobile post-mvp 3

Catálogo de API services

Tres anillos. El BFF solo conoce el 1. El 2 lo invoca el núcleo detrás de adaptadores. El 3 no entra en cliente L1 ni en este BO.

1. El BFF llama (síncrono)

Servicio Interfaz Operaciones que el BFF necesita HU canal (ejemplos) §5.1
ms-identidad IAuth / IIdentidad / IToken (zoom) Login, refresh, logout; alta de usuario; resultado stub de prueba de vida; CRUD clientes (listar, ficha, editar, desactivar). La biometría de acceso no se delega HU-90, HU-45, HU-48, HU-103, HU-141 —
ms-consentimiento IConsentimiento Otorgar / revocar habeas data; grant de perfilamiento OF HU-46, HU-53, HU-115 5
ms-catalogo catálogo de ramo Ramo y coberturas fijas (HU-1). Si el modelo lo deja dentro de ms-cotizacion, el BFF llama solo a cotización HU-1, HU-92, HU-10 1
ms-cotizacion / :MsCotización + :MotorRaiting ICotizacion Alta de cotización, cálculo de prima, oferta en firme, reconsulta por id HU-3–HU-7, HU-11, HU-10 1
ms-perfilamiento / :MsPerfilamiento + :MotorRiesgo IPerfilamiento Perfil interno + oferta hipotecario; degradación con valor de respaldo en el núcleo HU-54–HU-56, HU-57, HU-58 5
ms-suscripcion ISuscripcion Decisión automática aceptar / rechazar con motivo HU-12, HU-13, HU-20, HU-19 2
ms-polizas / :MsPolizas IPolizas / IPublicacion Emitir, consultar, listar billetera, renovar, modificar, cancelar HU-16, HU-18, HU-47, HU-59–HU-61 2, 6
ms-siniestros / :MsSiniestros comando + lectura CQRS Aviso; evidencia (foto, video, recibo, soporte recortado); estados; cola BO; catálogo stub de prestadores y pedido de asistencia; consulta p95 (HA-08) HU-22, HU-26, HU-27, HU-30, HU-31, HU-38, HU-39–HU-43 3
ms-pagos / :MsPagos IPagos Cobro de prima stub idempotente; indemnización de bajo monto HU-15, HU-29, HU-34 2, 3, 4
ms-parametrico IParametrico El canal lee el resumen persistido (póliza, umbral, monto); ingesta y umbral son núcleo HU-36, HU-37 4
notificaciones avisos in-app y despacho push stub Cambio de estado de siniestro; vencimiento; renovación efectiva; registro de token de dispositivo HU-31, HU-64, HU-65, HU-142 3, 6

2. Detrás del núcleo (el BFF no los invoca)

Stubs y adaptadores: :AdaptadorOF, :AdaptadorOD, :AdaptadorKYC, :AdaptadorPasarela, :AdaptadorFirma, :AdaptadorTelemetria. Caché: :CacheOF, :CacheOD. Mensajería: :BusEventos, :ColaPagos, :TopicoTelemetria.

El BFF no conoce el esquema del banco, de la pasarela ni del feed paramétrico. Un stub ok / fallo / lento detrás del adaptador basta (Semana 3).

3. Fuera de este BFF

Pieza Por qué no
:APISocios / ms-socios Canal embebido y cuotas de socio, no cliente L1 ni este BO
analitica HU-68 / HU-69 post-mvp
Reportes regulador / reaseguradora HU-62 / HU-63; extracto interno, no ACORD/SFC

Matriz canal → BFF → servicios

Para que un dev web o móvil no llame al núcleo. Pantallas L1: Backlog UI · Cliente L1. BO: Prototipo web/móvil §6.

Canal Vista / HU de canal HU BFF Servicios
Móvil Login / Perfil HU-90, HU-91 HU-121 ms-identidad
Web cliente / BO Login / Perfil / shell HU-103, HU-106, HU-8 HU-122 ms-identidad
Móvil Onboarding + consentimiento + prueba de vida HU-45, HU-46, HU-48 HU-123 ms-identidad, ms-consentimiento
Web cliente Registro + consentimiento HU-102, HU-115 HU-124 ms-identidad, ms-consentimiento
Móvil Cotización / oferta HU-92, HU-11 HU-125 ms-cotizacion
Web cliente / asesor Cotización / oferta HU-104, HU-113, HU-10 HU-126 ms-cotizacion
Móvil Aceptar, rechazo, billetera (también la relectura al volver la red) HU-20, HU-99, HU-47, HU-51, HU-52 HU-127 ms-suscripcion, ms-pagos, ms-polizas
Web cliente / asesor Emitir / consultar HU-114, HU-112, HU-18, HU-19 HU-128 ms-suscripcion, ms-pagos, ms-polizas
Móvil Aviso, evidencia (foto, video, recibo, soporte), lista/detalle HU-22–25, HU-38, HU-42, HU-43, HU-97, HU-31, HU-98 HU-129 ms-siniestros
Web cliente / operador Aviso, cola, decisión, pago HU-116, HU-117, HU-111, HU-26, HU-27, HU-29 HU-130 ms-siniestros, ms-pagos
Móvil Pago automático HU-36 HU-131 ms-parametrico, ms-siniestros
Web Trazabilidad paramétrica HU-37 HU-132 ms-parametrico, ms-siniestros
Móvil Hipotecario HU-53, HU-57 HU-133 ms-consentimiento, ms-perfilamiento, ms-cotizacion
Web cliente / asesor Hipotecario HU-105, HU-58 HU-134 ms-consentimiento, ms-perfilamiento, ms-cotizacion
Móvil Avisos vigencia HU-64, HU-65 HU-135 notificaciones, ms-polizas
Operador Renovar / modificar / cancelar HU-59–HU-61 HU-136 ms-polizas
Móvil Inicio HU-96 HU-137 ms-cotizacion, ms-polizas, ms-siniestros, ms-perfilamiento
Web cliente Inicio HU-109 HU-138 ms-cotizacion, ms-polizas, ms-siniestros, ms-perfilamiento
Asesor Cartera (Mi cartera) HU-8 HU-139 ms-polizas, ms-cotizacion, ms-siniestros
Asesor / operador Lista y ficha de clientes HU-141 HU-140 ms-identidad; lectura ms-polizas, ms-cotizacion
Móvil Token de dispositivo y bandeja HU-35, HU-64, HU-65, HU-31 HU-142 notificaciones, ms-polizas, ms-siniestros, ms-parametrico
Móvil Mapa de prestadores y asistencia HU-39–HU-41 HU-143 ms-siniestros

Fuera de alcance

  • OpenAPI / JSON de proveedores. Contrato de Solventa; stub ok / fallo / lento.
  • Redibujar Figma lista-clientes / detalle-cliente. Solo se declara el hueco y HU-140 / HU-141.
  • Import a Jira y cambio de SP del plan PF2.
  • Gherkin largo. Vive en Backlog UI y en Jira; aquí Como / quiero / para + servicios.
  • Canal socio (:APISocios), SAST y tableros (post-mvp). La prueba de vida, la relectura de la billetera, el push y el mapa de prestadores entran en HU-123, HU-127, HU-142 y HU-143. La biometría de acceso no es un contrato BFF.
⚠️ **GitHub.com Fallback** ⚠️