@startuml uml-use-case-sistemas-externos !include _style.iuml left to right direction title 2.5 Diagrama de casos de uso - Integraciones con sistemas externos ' ===================================================================== ' Vista de integraciones: actores secundarios (sistemas) participan ' como destinos / origenes de eventos para casos de uso del lado del ' sistema ExpressMX. ' Total: 10 casos de uso desde la perspectiva del sistema. ' ===================================================================== ' ----- Actores primarios que disparan integraciones ----- actor "Cliente" as Cli actor "Prestador" as Pre actor "Admin" as Adm actor "Finanzas" as Fin actor "RRHH" as RH ' ----- Actores secundarios (sistemas externos) ----- actor "Resend" as Res <> actor "Neon" as Neo <> actor "ExpoEAS" as EAS <> actor "Stripe" as Stp <> rectangle "Plataforma ExpressMX" { package "Mensajeria transaccional" as PG_MAIL { usecase "Enviar email transaccional" as S_MAIL usecase "Enviar magic link" as S_LINK usecase "Notificar cambio de estado" as S_EST } package "Persistencia y replica" as PG_DB { usecase "Persistir datos" as S_PER usecase "Replicar a branch staging" as S_REP } package "Pagos y reembolsos" as PG_PAY { usecase "Procesar cargo" as S_CRG usecase "Procesar reembolso externo" as S_REM } package "Distribucion de apps" as PG_APP { usecase "Build de app movil" as S_BLD usecase "Publicar OTA update" as S_OTA usecase "Firmar binario" as S_FIR } } ' ----- Asociaciones primarias (originadores de la integracion) ----- Cli --> S_LINK Pre --> S_LINK RH --> S_MAIL Adm --> S_EST Fin --> S_REM Cli --> S_CRG Adm --> S_BLD Adm --> S_OTA ' ----- Asociaciones a sistemas externos (lado derecho) ----- S_MAIL --> Res S_LINK --> Res S_EST --> Res S_PER --> Neo S_REP --> Neo S_CRG --> Stp S_REM --> Stp S_BLD --> EAS S_OTA --> EAS S_FIR --> EAS ' ----- Relaciones de inclusion / extension ----- S_LINK ..> S_MAIL : <> S_EST ..> S_MAIL : <> S_BLD ..> S_FIR : <> S_OTA ..> S_BLD : <> S_CRG ..> S_PER : <> S_REM ..> S_PER : <> note right of S_PER packages/database/, migrations/ Neon Postgres serverless con branching por entorno (prod / staging / preview) end note note bottom of S_MAIL packages/utils/, apps/web/src/app/api/auth/ Resend es el unico proveedor SMTP No hay fallback, los logs persisten en Neon end note note left of S_BLD apps/mobile-client/app.json apps/mobile-provider/app.json Builds firmados por EAS, distribucion por canales (preview / production) end note note bottom of S_CRG apps/web/src/app/api/payments/ (planeado) apps/mobile-client/app/payment/index.tsx Stripe / Conekta - integracion futura Cumplimiento PCI delegado al procesador end note footer Fuente: packages/database/, apps/*/app.json, apps/web/src/app/api/auth/, apps/mobile-client/app/payment/, infra/ @enduml