Swimlanes.io is a free webapp for making sequence diagrams. You simply edit the text on the left and the diagram is updated in real time. You can download your sequence diagrams as images or distribute with a link.
Title: App2App order: Enterprise Mobile App, Enterprise Backend, ,Moneyhub API, Banking Provider note: This assumes that there is already a user registered in our API and the enterpise has a way to handle user sessions betweeen their native app and backend Enterprise Mobile App -> Enterprise Mobile App: **End User** wants to connect an account/make payment Enterprise Mobile App -> Enterprise Mobile App: Show consent screen Enterprise Mobile App -> Enterprise Mobile App: **End User** gives consent Enterprise Mobile App-> Enterprise Backend: `userId` `bankId` Enterprise Backend -> Moneyhub API: POST `/auth-requests` note: The body will contain all information required to make the connection/payment. More details can be found in our API refrence for `auth-requests` Moneyhub API -> Enterprise Backend: `auth-request` Enterprise Backend -> Enterprise Backend: Store `authRequestId` in user session Enterprise Backend -> Enterprise Mobile App: `authorizationUrl` Enterprise Mobile App -> Banking App: Launch `authorizationUrl` note: Launch `authorisationUrl` in device browser using mobile OS API. This will allow the mobile OS to open directly the banking app if the user has it installed. Banking App -> Banking App: Authenticate **End User** Banking App -> Banking App: **End User** approves access Banking App -> Enterprise Mobile App: Launch `redirectUrl` with `authCode` note: Banking app will launch the registered `redirectUrl` of the Enterprise. If Universal links/Deep links have been configured correctly this will directly open the Enterprise mobile app. Enterprise Mobile App -> Enterprise Mobile App: Extract `authCode`, `state` and `id_token` note: Need to handle extracting all authorisation params that are being sent by the bank from *query params* and/or *hash fragment* Enterprise Mobile App -> Enterprise Backend: `authCode` `state` `id_token` Enterprise Backend -> Enterprise Backend: Retrieve `authRequestId` from user session Enterprise Backend -> Moneyhub API: PATCH `/auth-request/:id` note: The body will contain all authorisation params to complete the authorisation request Moneyhub API -> Enterprise Backend: `status` `connectionId` `syncId` `paymentId` note: Response will contain the relevant ids of the connection/payment and the status Enterprise Backend -> Enterprise Mobile App: `status` Enterprise Mobile App -> Enterprise Mobile App: Show status to **End User**