Post on 23-Jan-2018
Christos Nicolaou, BOC, 1Bank Analyst/Developer Georgios Karamanolis, Co-Founder & CTO/CIO,Crowdpolicy
bocAPI info day - 31/5/2017
Contents
● API economy and #fintech
● Open APIs
● Open banking
● bocAPI innovation
● bocAPI community edition
○ Steps for the user ○ Endpoints ○ API calls○ ΑPI roadmap○ Ideas :)
● Boc hackathon #fintech
API economy
https://www.ibm.com/developerworks/websphere/library/techarticles/1605_santoro-trs/1605_santoro.html
#fintech
● Fintech is a new economic sector concerning the development of methodologies, services and products that lead to more efficient financial services. A key component is the use of new technologies and cutting-edge media.
● Fintech directly affects not only the banking sector but also other sectors such as insurance, trade
Hints
● E-payments
● bocAPI, Blockchain, Artificial Intelligence, Chat Bots, E-wallet, Social Banking, Mobile Banking
Boc hackathon #fintech
Banking Process
Innovation Fintech apps
with business
applicability
Social style Fintech
apps for Social
Solidarity & Social
Innovation
Open banking
● Open banking is most often facilitated by APIs which have enabled the business models and success of some of the most well known startups of recent times
● There are a number of drivers behind the open banking trend, the most obvious of which is regulation that forces banks to give customers access to their data, or enable permissioned third parties to access their data.
● Banks adopting open banking are taking a number of different approaches, from just taking the necessary steps to comply with regulation, to actively embracing the concept in an effort to maintain their retail banking dominance.
Open banking
● Banks are using different models of open banking, including app stores and sandboxes.
○ Which model, or combination of models, a bank adopts depends on its priorities and the drivers it finds most imperative.
● Open banking will have a significant impact on fintechs. With access to banks' systems and vast data stores, fintechs will be able to provide more personalized products, while operating with greater autonomy.
○ However, open banking will also increase fintechs' regulatory and cybersecurity burdens.
https://flipboard.com/@BusinessInsider/-bbva-puts-its-open-apis-into-the-wild/f-1d00892586%2Fbusinessinsider.com
bocAPI innovation, a co-creation environment!
● The Bank is innovating by implementing infrastructures and services for the business ecosystem.
● The bocAPI community edition will be available during the hackathon for the first time and in a meaningful way.
● Through the bocAPI, the participants will have the opportunity to experiment with the Bank’s pilot infrastructures and technologies that cover the entire range of transactions
bocAPI innovation
● Also, for the first time, customers will be able to actively participate in submitting proposals and ideas for the development of new services and products that suit their needs.
● Through the bocAPI, the Bank designs services together with its customers!
● The applications that can be implemented using the bocAPI are expected to provide solutions in areas where it is necessary to strengthen financial transactions through electronic payments and automated process services.
● The Bank will explore collaborations in order to commercially utilise the best applications through its customer network in accordance with its security and quality procedures (boc marketplace)
bocAPI endpoints
● Branches : API call will retrieve actual Bank of Cyprus branch data.
● ATMs : API to retrieve actual Bank of Cyprus ATM data.
● Products : API to retrieve actual Bank of Cyprus Product data.
● Sample Customer Information : API to retrieve Bank of Cyprus customer data (Sample / test data preloaded into Sandbox).
● Account Views USER : API used to view USER account information. (Sample / test data preloaded into Sandbox).
● Transfers & Payments: API used to conduct transfers between BOC accounts and conduct payments from accounts (Sample / test data preloaded into Sandbox).
Step #1 sign up!
Step #1 sign up!
Step #2 API subscription
SOS #1
● Bank id : bda8eb884efcef7082792d45 .. for BOC ..:)
● Public view id: 5710bba5d42604e4072d1e92
○ The most transactions need view id (static variable)
● API authentication user id
○ different for each participant, example : 019911003921 / 123456789
○ Start experiment with user devuser :)
● Account id
○ System account needed from transfers etc
● Track-ID: 4a9c41d5be483dd5bbbbaaaa
A typical walkthrough, end to end! * testing data:)
1. Get account private
2. getAccount
3. getAccountIDFromIBAN
4. postMakeTransaction
5. Optional!!! getTransaction (validate postMakeTransaction) Optional!!!
6. Balance getAccountPrivate
7. Get all transactions
getBranches
https://portal.bocapi.net/docs/services/58eb85b950caa8d63ac6b825/operations/58eb85c5f7f9610d540bcfee/console
getAccountsPrivate
http://api.bocapi.net/v1/api/banks/{BANK_ID}/accounts/private[?subscription-key]
curl -v -X GET "http://api.bocapi.net/v1/api/banks/bda8eb884efcef7082792d45/accounts/private?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789"
...I need my own account id and relative account data :)
getAccount
http://api.bocapi.net/v1/api/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/account[?subscription-key]
curl -v -X GET "http://api.bocapi.net/v1/api/banks/bda8eb884efcef7082792d45/accounts/0be71dcb5097ab240da23999/5710bba5d42604e4072d1e92/account?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789"
I can get my own IBAN,account number check balance etc
getAccountIDFromIBAN
https://portal.bocapi.net/docs/services/58eb85b950caa8d63ac6b825/operations/58eb85c5f7f9610d540bd019
curl -v -X GET "http://api.bocapi.net/v1/api/accounts/getid/CY16002001470000000500737400?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789"
I can need a second account id to make a transaction, given IBAN.. CY16002001470000000500737400..
EXAMPLE 96ef50d6ac5e8b8a3567477e
postMakeTransaction!
curl -v -X POST "http://api.bocapi.net/v1/api/banks/bda8eb884efcef7082792d45/accounts/0be71dcb5097ab240da23999/make-transaction?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789" -H "Track-ID: bda8eb884efcea209b2a6240" -H "Content-Type: application/json" --data-ascii "{\"description\": \"EMVASMA 12 EUROS\",\"challenge_type\": \"string\",\"from\": {\"account_id\": \"0be71dcb5097ab240da23999\",\"bank_id\": \"bda8eb884efcef7082792d45\"},\"to\": {\"account_id\": \"96ef50d6ac5e8b8a3567477e\",\"bank_id\": \"bda8eb884efcef7082792d45\"},\"value\": {\"currency\": \"EUR\",\"amount\": 12.00}}"
I get 2 transaction ids.. "transaction_ids": [ "592de5f20fab64196c756ba7", "592de5f20fab64196c756ba8"}
getTransaction (check and validate postMakeTransaction :)
curl -v -X GET "http://api.bocapi.net/v1/api/banks/bda8eb884efcef7082792d45/accounts/0be71dcb5097ab240da23999/5710bba5d42604e4072d1e92/transactions/592de5f20fab64196c756ba7/transaction?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789"
"transaction_ids": [ "592de5f20fab64196c756ba7", "592de5f20fab64196c756ba8"}
GetTransactions
http://api.bocapi.net/v1/api/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions[?subscription-key]
curl -v -X GET "http://api.bocapi.net/v1/api/banks/bda8eb884efcef7082792d45/accounts/0be71dcb5097ab240da23999/5710bba5d42604e4072d1e92/transactions?subscription-key=dc4d6d144a9c41d5be483dd563c5a21d" -H "Auth-Provider-Name: 019911003921" -H "Auth-ID: 123456789"
Monitoring
bocAPI portal → Profile → Analytics report
Monitor API usage, top operations etc
bocAPI Community edition RoadmapPre / during Hackathon
● Improve documentation (V2.0 coming soon)● More examples● Testing - Community building● Support Teams
Post Hackathon
● Evaluate and use results and developers’ feedback ● Improve bocAPI
○ Align internal API strategy <> community API strategy○ Full community edition ○ More endpoints ○ Marketplace..○ Your ideas .. ?
Ideas ;
Ideas ;
● Embed bocAPI calls and workflow inbox hackathon apps.. ● Use IBM and MS tools :)
○ See more at specifications document ..
Thank you!