```plantuml
@startuml
autonumber
title Fluxo de Notificação

participant Developer
participant AmeAppTools
participant SuperApp
participant AmeCliReloader
participant ShareApi

Developer->AmeAppTools: start()
AmeAppTools->AmeCliReloader: uploadSourceCode()
AmeAppTools->AmeAppTools: setupQrCodeConfig()
note over AmeAppTools
    - Atribui dados conhecidos 
    do miniapp no ame.conf;
    - Atribui as permissions ( XX );
    - Monta a url de leitura 
    do share-api;
    - Monta url para abrir o 
    miniapp (bootstrapUrl).
end note
AmeAppTools->AmeCliReloader: saveState(qrCodeConfig)
AmeCliReloader->ShareApi: saveState(qrCodeConfig)
AmeCliReloader<--ShareApi: qrCodeConfigId
AmeAppTools<--AmeCliReloader: qrCodeConfigId
AmeAppTools->AmeAppTools: showQrCode(workspaceUrl, qrCodeConfigId)
Developer->SuperApp: readQrCode()
SuperApp->SuperApp: extractQrCodeConfigId(shareApiUrl)
note over SuperApp
    Obtém o id do qrcode (no share-api) da url 
    /workspace/share/<qrCodeConfigId>?environment=[dev|hml|prd]
end note
SuperApp->AmeCliReloader: getMiniAppData(qrCodeConfigId)
AmeCliReloader->ShareApi: getState(qrCodeConfigId)
AmeCliReloader<--ShareApi: qrCodeConfig
AmeCliReloader->AmeCliReloader: createMiniAppData(qrCodeConfig)
SuperApp<--AmeCliReloader: miniAppData
' SuperApp->SuperApp: replaceHost(miniAppData.bootstrapUrl)
' note left
'     Troca o host do ambiente definido na CLI
'     pelo host do ambiente definido no flavor.
' end note
SuperApp->MiniAppManager: findBySlug(miniAppData.slug)
SuperApp<--MiniAppManager: miniapp do envronment configurado no flavor do qual serao lidas as permissions
SuperApp->AmeCliReloader: openWorkspace(miniAppData.bootstrapUrl) // host definido na cli
AmeCliReloader-->SuperApp: home page
@enduml
```

Easy SIM usa captura automática e deposito  
Doações só captura automática  
Delivery só deposito automático  

PUT https://api.dev.amedigital.com/api/wallet/user/payments/{id}/cancel  

PUT https://api.dev.amedigital.com/api/wallet/user/payments/{id}/capture
