Skip to content

Latest commit

 

History

History
19 lines (18 loc) · 4.29 KB

BlockchainPublicAddress_User_Story.md

File metadata and controls

19 lines (18 loc) · 4.29 KB

BlockchainPublicAddress API User Stories

Item Details
US#1 User Story #1
Summary As an application developer, I want a feature to fetch OB customers Blockchain Public Addresses in a user-friendly way, using Customers Mobile Subscription (i.e. phoneNumber), as a natural and regular pair for the public address of a blockchain. This way management of Blockchain Public Addresses can be perfomed by means of the phoneNumber, which is a natural concept within the OBs.
Roles, Actors and Scope Roles: Customer:User
Actors: Application service providers, hyperscalers, application developers.
Scope: Obtain Blockchain Public Addresses associated to a given phoneNumber of the Customer
Pre-conditions N/A
Activities/Steps Starts when: The API Consumer makes a GET request to the Blockchain Public Address API to obtain the Blockchain Public Addresses associated to a given phoneNumber (generally such addresses are identified by a DID (Decentralised Identifier, which indeed is a public address of a blockchain), composed of 26-35 alphanumeric characters in length.
Ends when: The API Consumer receives GET response with the list of Blockchain Public Addresses associated to the phoneNumber, including this information:
- Blockchain public address name.
- Blockchain public address identifier (DID).
- Blockchain public address identifier binding (for latter management).
- Blockchain public address currency.
Empty response will be received in case no Blockchain Public Address is linked to the phonNumber yet.
Post-conditions N/A
Exceptions Several exceptions might occur during the Blockchain Public Address(es) retrieval linked to a given phoneNumber
- Unauthorized: Not valid credentials (e.g. use of already expired access token).
- Invalid Argument: Not valid phoneNumber.
- Internal: Server Error when fetching information.
-------- -------------
US#2 User Story #2
Summary As an application developer, I want a feature to manage (bind/unbind) OB customers Blockchain Public Addresses in a user-friendly way, using Customers Mobile Subscription (i.e. phoneNumber), as a natural and regular pair for the public address of a blockchain.
Roles, Actors and Scope Roles: Customer:User
Actors: Application service providers, hyperscalers, application developers.
Scope: Manage Blockchain Public Addresses binding/unbinding them to a given phoneNumber of the Customer
Pre-conditions Blockchain Public Address exists in advance
Activities/Steps BINDING PROCESS
Starts when: The API Consumer makes a POST request to the Blockchain Public Address API to bind a specific Blockchain Public Addresses to a provided phoneNumber.
Ends when: The API Consumer receives POST response with this unique binding identifier.

UNBINDING PROCESS
Starts when: The API Consumer makes a DELETE request to the Blockchain Public Address API to unbind a specific Blockchain Public Addresses - phoneNumber relationship, providing the binding identifier that identifies such relationship.
Ends when: The API Consumer receives DELETE response indicating a successful process performed (i.e. deletion).
Post-conditions BINDING PROCESS
Binding relationship between Blockchain Public Address and phoneNumber is created. If making GET request an item showing that binding is included.

UNBINDING PROCESS
Binding relationship between Blockchain Public Address and phoneNumber is deleted. If making GET request the item showing that binding is no longer included.
Exceptions Several exceptions might occur during the Blockchain Public Address management

BINDING PROCESS
- Unauthorized: Not valid credentials (e.g. use of already expired access token).
- Invalid Argument: Not valid phoneNumber and/or BlockChain Public Address Information.
- Internal: Server Error when fetching information.

UNBINDING PROCESS
- Unauthorized: Not valid credentials (e.g. use of already expired access token).
- Invalid Argument: Not valid binding identifier.
- Internal: Server Error when fetching information.