Change Request: Move resources for funds in, funds out into Settlement API from Administration API
elnyry-sam-k opened this issue · comments
Open API for FSP Interoperability - Change Request
Table of Contents
1. Preface
___This section contains basic information regarding the change request.
1.1 Change Request Information
| Requested By | Sam Kummary |
| Change Request Status | In review ☒ / Approved ☐ / Rejected ☐ |
| Approved/Rejected Date | |
1.2 Document Version Information
Version | Date | Author | Change Description |
---|---|---|---|
1.0 | 2022-02-08 | Sam Kummary | Initial version of change request submitted for review by Administration SIG |
2. Problem Description
___2.1 Background
The Operations of [Funds In
and Funds Out
](https://docs.mojaloop.io/api/administration/central-ledger-api.html#funds-in-and-funds-out) of the FSP participants are currently part of the Administration API.
These are facilitated by a POST or PUT HTTP message on the resource /participants/{name}/accounts/{id},
/participants/{name}/accounts/{id}/transfers/{transferId} (to record a transfer as a funds in/out transaction for the participant account) which can be misleading if not un-informative.
2.2 Current Behaviour
Currently the request POST /participants/{name}/accounts/{id} is used to record Funds In or Out of a participant account and a PUT /participants/{name}/accounts/{id}/transfers/{transferId} is used to record a transfer as a Funds In or Out transaction for a participant account.
2.3 Requested Behaviour
Keeping the behavior the same, the proposal is to move this functionality to the "Settlement API" introducing resources that are meaningfully named, such as /fundsin
? /fundsout' or
/funds` and have an additional field in the data model of the message to indicate in/out or an enum (or as a parameter).
3. Proposed Solution Options
___After the reference architecture design based on bounded contexts, it has been agreed that funds in/out operations should stay as part of "account updates" inside of "participant lifecycle management" which interacts with the "Accounts and Balances BC", so this change is no longer needed.
Reference docs: https://mojaloop.github.io/reference-architecture-doc/boundedContexts/accountsAndBalances/#functional-overview-accounts-and-balances