Note |
---|
Prerequisites
|
Authentication
Request example:
Note: Client ID and Secret are set on the screen above and YOUR_USERNAME
/ YOUR_PASSWORD
are respectively an Email address and password you use to login to MockBank Admin UI.
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/oauth/token' \ --header 'Authorization: Basic {YOUR_CLIENT_ID_:CLIENT_SECRET}' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'username={YOUR_USERNAME}' \ --data-urlencode 'password={YOUR_PASSWORD}' \ --data-urlencode 'grant_type=password' |
Response example:
Code Block |
---|
{ "access_token": "{YOUR_CLIENT_ACCESS_TOKEN}", "token_type": "bearer", "refresh_token": "{YOUR_CLIENT_REFRESH_TOKEN}", "expires_in": 3564, "scope": "all" } |
Add customer
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/customers' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "address": "Mohrenstrasse 37", "city": "Berlin", "zip": "10115", "countryCode": "de", "fullName": "Alex", "msisdn": "+491703555555", "password": "test", "username": "test@mockbank.io" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_CUSTOMER_ID}", "fullName": "Alex", "username": "test@mockbank.io", "password": "alex", "countryCode": "de", "address": "Mohrenstrasse 37", "zip": "10115", "city": "Berlin", "msisdn": "+491703555555" } |
Update customer
Request example:
Code Block |
---|
curl --location --request PUT 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "address": "Kimeria", "city": "Brill", "zip": "10000", "countryCode": "ka", "fullName": "Conan the Barbarian", "msisdn": "+491703555555", "password": "torgrim", "username": "torgrim@mockbank.io" }' |
Update SCA methods
Request example:
Code Block |
---|
curl --location --request PUT 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}/sca-methods' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "scaMeths": [ { "authenticationMethodId": "smstaniphonex", "authenticationType": "SMS", "authenticationVersion": "0", "decoupled": false, "explanation": "Send SMS to +489********34", "name": "Verify by Phone", "tan": "123321" }, { "authenticationMethodId": "vaultappcheck", "authenticationType": "APP", "authenticationVersion": "0", "decoupled": true, "explanation": "Please check your app", "name": "Verify by App", "tan": "321123" } ] }' |
Response example:
Status: 200 OK
Add account
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}/accounts' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "bban": "370400440532013001", "bic": "MOCKDEXXXXX", "currency": "EUR", "iban": "DE89370400440532013002", "maskedPan": "12******3", "name": "Current", "pan": "120000003", "status": "enabled", "type": "CASH" } ' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_ACCOUNT_ID}", "iban": "DE89370400440532013002", "bban": "370400440532013001", "currency": "EUR", "name": "Current", "status": "enabled", "type": "CASH", "bic": "MOCKDEXXXXX", "pan": "120000003", "maskedPan": "12******3" } |
Add account balance
Request example:
Code Block |
---|
curl --location --request PUT 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}/accounts/{CREATED_ACCOUNT_ID}/balances' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --data-raw '{ "balances": [ { "amount": 43.99, "balanceType": "CLOSING_BOOKED", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 143.99, "balanceType": "EXPECTED", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 243.99, "balanceType": "AUTHORISED", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 343.99, "balanceType": "OPENING_BOOKED", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 443.99, "balanceType": "INTERIM_AVAILABLE", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 543.99, "balanceType": "FORWARD_AVAILABLE", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" }, { "amount": 643.99, "balanceType": "NON_INVOICED", "creditLimitIncluded": true, "lastChangeDateTime": "2020-01-22T12:42:31.537Z", "lastCommittedTransaction": "c9906177-c8b1-4b4c-b2fc-0d1e10cbf568", "referenceDate": "2020-01-01" } ] }' |
Response example:
Status: 200 OK
Add transaction
Request example:
Andrei Galitski make data more realistic?
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}/transactions' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw ' { "accountId": "{CREATED_ACCOUNT_ID}", "amount": -434, "bookingDate": "2020-01-26", "currency": "EUR", "valueDate": "2020-01-25", "operationId": "operationId-xxx", "entryReference": "ref-xxx", "endToEndId": "id-xxx", "checkId": "check-xxx", "creditorId": "creditorId", "creditorName": "creditorName", "creditorBic": "creditorBic", "creditorAccount": { "currency": "EUR", "iban": "iban", "bban": "bban", "pan": "pan", "maskedPan": "maskedPan", "msisdn": "msisdn" }, "ultimateCreditor": "ultimateCreditor", "debtorName": "debtorName", "debtorBic": "debtorBic", "debtorAccount": { "currency": "EUR", "iban": "iban", "bban": "bban", "pan": "pan", "maskedPan": "maskedPan", "msisdn": "msisdn" }, "ultimateDebtor": "ultimateDebtor", "remittanceInformationUnstructured": "remittanceInformationUnstructured", "remittanceInformationStructured": "remittanceInformationStructured", "additionalInformation": "additionalInformation", "purposeCode": "BKDF", "bankTransactionCode": "bankTransactionCode", "proprietaryBankTransactionCode": "proprietaryBankTransactionCode", "eref": "eref" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_TRANSACTION_ID}", "accountId": "{CREATED_ACCOUNT_ID}", "accountName": "Current", "accountIban": "DE89370400440532013002", "operationId": "operationId-xxx", "entryReference": "ref-xxx", "endToEndId": "id-xxx", "checkId": "check-xxx", "creditorId": "creditorId", "bookingDate": "2020-01-26", "valueDate": "2020-01-25", "currency": "EUR", "amount": -434, "creditorName": "creditorName", "creditorBic": "creditorBic", "creditorAccount": { "iban": "iban", "bban": "bban", "pan": "pan", "maskedPan": "maskedPan", "msisdn": "msisdn", "currency": "EUR" }, "ultimateCreditor": "ultimateCreditor", "debtorName": "debtorName", "debtorBic": "debtorBic", "debtorAccount": { "iban": "iban", "bban": "bban", "pan": "pan", "maskedPan": "maskedPan", "msisdn": "msisdn", "currency": "EUR" }, "ultimateDebtor": "ultimateDebtor", "remittanceInformationUnstructured": "remittanceInformationUnstructured", "remittanceInformationStructured": "remittanceInformationStructured", "additionalInformation": "additionalInformation", "purposeCode": "BKDF", "bankTransactionCode": "bankTransactionCode", "proprietaryBankTransactionCode": "proprietaryBankTransactionCode", "eref": "eref" } |
Add transaction rule
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/customers/{CREATED_CUSTOMER_ID}/transactions/rules' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "accountId": "{CREATED_ACCOUNT_ID}", "amount": -23.99, "counterPartyIban": "DE31481516230000000018", "counterPartyName": "Marco Tutci gmbh", "currency": "EUR", "dayOfMonth": 9, "text": "Vamos a la playa" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_RULE_ID}", "accountId": "{CREATED_ACCOUNT_ID}", "accountName": "Current", "accountIban": "DE89370400440532013002", "currency": "EUR", "amount": -23.99, "dayOfMonth": 9, "counterPartyIban": "DE31481516230000000018", "counterPartyName": "Marco Tutci gmbh", "text": "Vamos a la playa" } |
Make SEPA Credit transfer
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/sepa/credit-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --data-raw '{ "accountId": "{CREATED_ACCOUNT_ID}", "amount": 1, "currency": "EUR", "operationId": "66d92ed3-5c9e-4c9a-8c57-300f2f8dae", "remoteBic": "SPACATW1XXX", "remoteIban": "CA35481516230000000130", "remoteName": "Lee Russel", "subject": "Here is your money, Lee" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_TRANSACTION_ID}", "accountId": "{CREATED_ACCOUNT_ID}", "accountName": "Current", "accountIban": "DE89370400440532013002", "operationId": "66d92ed3-5c9e-4c9a-8c57-300f2f8dae", "bookingDate": "2020-10-12", "valueDate": "2020-10-12", "currency": "EUR", "amount": 1, "creditorName": "Lee Russel", "creditorBic": "SPACATW1XXX", "creditorAccount": { "iban": "UK35481516230000000130", "currency": "EUR" }, "additionalInformation": "Here is your money, Lee" } |
Add SEPA mandate
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/sepa/mandates' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --data-raw '{ "cor1": false, "creditorIdentityId": "RJP3401VAP", "mandateReference": "SE90HO188A", "recurring": false, "remoteAddress1": "10 Downing Street", "remoteAddress2": "LONDON, SW1A 2AA", "remoteBic": "FDBOBEMMXXX", "remoteCountry": "UK", "remoteEmail": "leerus@gmail.com", "remoteIban": "UK35481516230000000130", "remoteName": "Lee Russel", "remoteTitle": "Mr.", "signatureDate": "2020-01-01", "validFromDate": "2020-01-10" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_MANDATE_ID}", "creditorIdentityId": "RJP3401VAP", "mandateReference": "SE90HO188A", "recurring": false, "cor1": false, "remoteTitle": "Mr.", "remoteName": "Lee Russel", "remoteEmail": "leerus@gmail.com", "remoteAddress1": "10 Downing Street", "remoteAddress2": "LONDON, SW1A 2AA", "remoteCountry": "UK", "remoteIban": "UK35481516230000000130", "remoteBic": "FDBOBEMMXXX", "signatureDate": "2020-01-01", "validFromDate": "2020-01-10" } |
Execute SEPA direct debit
Request example:
Code Block |
---|
curl --location --request POST 'https://api.mockbank.io/sepa/direct-debit' \ --header 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "accountId": "{CREATED_ACCOUNT_ID}", "amount": 1, "eref": "HEH9888JH", "currency": "EUR", "mandateId": "{CREATED_MANDATE_ID}", "operationId": "SE90HO188A", "subject": "No money no honey" }' |
Response example:
Code Block |
---|
{ "externalId": "{CREATED_TRANSACTION_ID}", "accountId": "{CREATED_ACCOUNT_ID}", "accountName": "Current", "accountIban": "DE89370400440532013002", "operationId": "SE90HO188A", "mandateId": "{CREATED_MANDATE_ID}", "bookingDate": "2020-10-12", "valueDate": "2020-10-12", "currency": "EUR", "amount": 1, "debtorName": "Lee Russel", "debtorBic": "FDBOBEMMXXX", "debtorAccount": { "iban": "UK35481516230000000130" }, "additionalInformation": "No money no honey", "eref": "HEH9888JH" } |