waas_sdk 2.2.0
waas_sdk: ^2.2.0 copied to clipboard
Flutter WebView com bridge WaaS para integrar a experiência WaaS (Wealth as a Service) em aplicativos nativos iOS e Android.
2.2.0 #
requestNewTokenemonActionRequired— pull de access token quando o web solicita (ex.: JWT expirado). Host retorna{ WaasActionRequiredKeys.token: <String> }; SDK injeta emwindow.__WAAS_ACCESS_TOKEN__e disparatokenReady.WaasViewController.updateToken(String)— push proativo do token em runtime (sem o web chamarrequestNewToken).createAccount— fecha a WebView e chamaonActionRequired('createAccount')(mesmo fluxo deaddMoney; web dispara ao tocar “Criar conta”).- Removido
requestCustomerIddo bridge — customer ID só via push (customerId:na abertura ouWaasViewController.updateCustomerId).
2.1.1 #
WAAS_LOCAL_BFF(--dart-define=WAAS_LOCAL_BFF=true) — em debug, aponta paralocalhost:3000(monorepo Warren). Sem o flag, debug usaWaasEnvironment(staging/produção no Railway) — comportamento do parceiro.- Default de certificação corrigido para
waas-experience-staging.up.railway.app. - Corrige
closeWebViewno Android: listener da bridge registrado apenas uma vez (__WAAS_BRIDGE_LISTENER_INSTALLED__). Evita doisNavigator.pop()e tela preta ao fechar oWaasView.
2.1.0 #
WaasViewController— push proativo do customer ID em runtime viaupdateCustomerId(String), sem o web chamarrequestCustomerId.- Parâmetro opcional
controlleremWaasViewpara ligar o controller à WebView. requestCustomerIdemonActionRequired— pull do customer ID quando o web solicita (espelharequestCustomerBalance).- Valor enviado antes do fim do carregamento da página é aplicado assim que a WebView estiver pronta (fila interna).
- Na WebView: atualiza
window.__WAAS_CUSTOMER_ID__e disparacustomerIdReady(mesmo mecanismo decustomerId:na abertura).
Requer BFF ≥ esta versão (web): ao receber customerIdReady, o app web
navega para a home do tenant e revalida patrimônio/saldo (refreshHomePage).
Ver docs/bridge/BRIDGE.md.
2.0.0 #
BREAKING: WaasView agora exige o parâmetro environment (WaasEnvironment).
- Novo enum
WaasEnvironment { certification, production }para selecionar a URL do BFF que a WebView carrega — substitui a URL de produção hardcoded. environmenté obrigatório no construtor deWaasView. Integrações existentes precisam adicionar, ex.:environment: WaasEnvironment.certification.- Em debug (
kDebugMode) a URL continua sendolocalhost:3000(10.0.2.2:3000no Android), ignorandoenvironment— comportamento de dev. - Sandbox é ortogonal ao ambiente: continua ativado pelo token (marcador
waas_sandbox_<tenant>_<profile>, ver ADR 0001) e funciona em qualquerenvironment. Não há valor de enum para sandbox. - ⚠️
WaasEnvironment.productionainda resolve para a URL de certificação — o ambiente produtivo não foi deployado. Será atualizado antes do go-live.
1.0.6 #
customerIdopcional emWaasView: injetado na WebView viainjectCustomerId(window.__WAAS_CUSTOMER_ID__, eventocustomerIdReady) para testes live.redemptionDone: bridge notifica o app nativo ao concluir resgate viaonActionRequired('redemptionDone')(redeemedAmount,portfolioId), sem fechar a WebView — espelhainvestmentDone.requestCustomerBalance: WebView pede saldo; host retorna{ balance }emonActionRequired; SDK injeta viainjectData.WaasActionRequiredCallbackpassa a serasynce pode retornarMap(ex.: saldo em BRL).
1.0.4 #
- Bump de versão/empacotamento — sem mudanças funcionais no SDK (ajustes de version files e descrição do README).
1.0.3 #
-
URL de produção encapsulada internamente — cliente não precisa conhecer.
-
Parâmetro
baseUrlOverride(@visibleForTesting) para dev/testes internos. -
README reescrito com foco em SDK: Quick Start, API, protocolo de bridge e exemplo completo.
-
Renomeado widget para
WaasViewcom parâmetrostokenetenant. -
Bridge (
WaaSChannel) com injeção de token viainjectTokene eventotokenReady. -
WaaSMessageHandlerpara processar mensagens da WebView (closeWebView,addMoney,investmentDone). -
WaasView.onActionRequiredpara ações nativas (addMoney,investmentDone). -
Utilitário
extractFormattedClientIdpara extrairclient_iddo JWT.