Connector Endpoints
Tokens
These endpoints are responsible for implementing authentication and authorization of PSU. Process of token creation starts once PSU grants his consent to TPP. At the end of authorization, Connector should issue an access_token
which can be used for furhter actions. You can find below sequence diagrams represeting oauth authorization flow.
Create
Create an access token with a set of access rights, named scopes. As a result, Connector should send an success, update or fail callback to Salt Edge PSD2 Compliance with the result of the operation, be it a success, fail or request for additional steps.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InByb3ZpZGVyX2NvZGUiOiJkZW1vYmFuayIsInJlZGlyZWN0X3VybCI6InVzZXIud2lsbC5iZS9yZWRpcmVjdGVkL2hlcmUiLCJzZXNzaW9uX3NlY3JldCI6ImI3ay1ReEMzdmRBLU00OHBleGlTIiwicmVjdXJyaW5nX2luZGljYXRvciI6dHJ1ZSwiYWNjZXNzIjp7ImFsbFBzZDIiOiJhbGxBY2NvdW50cyJ9LCJ2YWxpZF91bnRpbCI6IjIwMjAtMDgtMDUiLCJhdXRob3JpemF0aW9uX3R5cGUiOiJvYXV0aCIsImFwcF9uYW1lIjoiRXhhbXBsZSBOYW1lIn0sImV4cCI6MTczNzIyNTE0MiwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.ktUGyaF1xc02tgIG9M9l5HETNNowd8ZVI4PqKuJ1qdik0s69MsJUjeDoeH_8A2lcAA1UY6j1bSO61SWVaM7rqPWN-S5bSGVXAmcIDQG_2oGv34_R_djoPCLaDC5HK638egAY8gOFq9iek82nsNlF_251hrKdAEpD35FPB60uYiP-ARrMK2926DtAVRI50STqUnycCF9ureLEW7VmLbVDX0h0QFyAqHtOKpVRYV6bSLNqbR8cjVs7qGds1ZdmHaISw1HS63rXMyAlpJ4p8EeW7uOdFs1gRAS4q9wBpc9vS9a8AvFM-Xu--9tn07xai2dPdvmz99g1igd9KB9PgskFkg" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 771" \
-H "Psu-Corporate-ID: 999" \
-X POST "https://your.connector.url/api/priora/v2/tokens"
Example of request parameters
Request
POST
https://your.connector.url/api/priora/v2/tokens
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Psu-Corporate-ID
|
string, optional | PSU corporate identifier (optional). |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code should be returned.
Revoke
Revoke an already existing and active access token.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InByb3ZpZGVyX2NvZGUiOiJkZW1vYmFuayIsInNlc3Npb25fc2VjcmV0IjoiaDI5Yzk0MVBRNF9rNl82UG4tbzUifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.cJrLnFb8AH1nyA1oLUcUWkuWcNsp2qDQ_uXNxMdICV48FAc6ZsK-J3jiboKgwd5wloc1i1Dpk_aHuMrIbXz9XvR8sXgJGIQLUviWOvnhTT2U3FcJ-dsFMTSF6K7volFoSMLlUnWfx017qDxwGWFjVlnddBG8_hG-HLh7q1kvotOyQRCNkunYdkXoVdtpWs4XbGZDsRAAhFFCSiMssHmtoONIB5mnKO8g3YmXtEKB4m2_M9eLmnD91HTe8Tpn-BXVdyys3wv1dWFgbkM2Q1Aots2-6mvPNUa-Sxda_Wh3X5ysIbEVk4u0tVkhi7i7mvj0dtpBx0SegKbaOjAV6KKKGQ" \
-H "Access-Token: 65adc909f5676f3902787ecb6f379c1c48bfc18a222157713808274b100b9e255f7b4b59a3ecd7689cb2abe26f8705dfd89b7a0cc9e9a07a587dc64a7c4572ad" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 843" \
-X PATCH "https://your.connector.url/api/priora/v2/tokens/revoke"
Example of request parameters
{"data":{"provider_code":"demobank","session_secret":"h29c941PQ4_k6_6Pn-o5"},"exp":1574093209}
Request
PATCH
https://your.connector.url/api/priora/v2/tokens/revoke
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code with an empty JSON "{}"
should be returned.
AIS
This endpoint is responsible for refreshing account information on connector side.
Refresh
In case the connector uses a different database from Core Banking, this endpoint enables the process of refreshing accounts and transactions on connector side before sending them to Salt Edge PSD2 Compliance Solution.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InByb3ZpZGVyX2NvZGUiOiJkZW1vYmFuayIsInNlc3Npb25fc2VjcmV0IjoiaDI5Yzk0MVBRNF9rNl82UG4tbzUifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.cJrLnFb8AH1nyA1oLUcUWkuWcNsp2qDQ_uXNxMdICV48FAc6ZsK-J3jiboKgwd5wloc1i1Dpk_aHuMrIbXz9XvR8sXgJGIQLUviWOvnhTT2U3FcJ-dsFMTSF6K7volFoSMLlUnWfx017qDxwGWFjVlnddBG8_hG-HLh7q1kvotOyQRCNkunYdkXoVdtpWs4XbGZDsRAAhFFCSiMssHmtoONIB5mnKO8g3YmXtEKB4m2_M9eLmnD91HTe8Tpn-BXVdyys3wv1dWFgbkM2Q1Aots2-6mvPNUa-Sxda_Wh3X5ysIbEVk4u0tVkhi7i7mvj0dtpBx0SegKbaOjAV6KKKGQ" \
-H "Access-Token: 65adc909f5676f3902787ecb6f379c1c48bfc18a222157713808274b100b9e255f7b4b59a3ecd7689cb2abe26f8705dfd89b7a0cc9e9a07a587dc64a7c4572ad" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 843" \
-X POST "https://your.connector.url/api/priora/v2/ais/refresh"
Example of request parameters
{"data":{"provider_code":"demobank","session_secret":"h29c941PQ4_k6_6Pn-o5"},"exp":1574093209}
Request
POST
https://your.connector.url/api/priora/v2/ais/refresh
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code with an empty JSON "{}"
should be returned.
Accounts
Account Information Endpoints are responsible for the access to account identification data, account balances and account transactions history.
Get
Fetch list of accounts belonging to a PSU and all relevant information about them.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fc2VjcmV0IjoiY3ppYVRYZ0JhQ1llckVIRHZXRTkifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.GIjYwQcjeaH3hBhhhnggR2LY2sSFE4XxGfPMhcBeO9kJ9kza5iPt6acHHf_DFKGQts8ypYlNAKW6ZScJ8lBQcRxPxdi8DCMiOso0danTZkiS3EPVUIYdxnTG-GArwtcOgakisnONllOqM2tXFtsHRpOF_R_gFI75vjU8ZiGUfaAS0KP61YIyPA5Ut3qiK5fDDeHrsmOQR0SKrh9ZriGf7NFhebcW00jJk9estIG6QeL5kVsQDagPKHTMjYvt7z36NZrQBWbZplNKLizmQltPd2aEOsjcKleEzlWqqrqEA5wJCsxwcXkvHSz82r0P9KtP9TVKeJxfHUcFah7655wh7g" \
-H "Access-Token: e4649d535f5e3125bcc939e2f3b33a070127be520e2f1134ed8722976703e0b32d9354fb147014103ce39f6eed428ac65d82659b6289901449c73d12d939c28f" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 765" \
-X GET "https://your.connector.url/api/priora/v2/accounts"
Example of request parameters
{"data":{"session_secret":"cziaTXgBaCYerEHDvWE9"},"exp":1574093209}
Example of response
{"data":[{"id":"421","name":"Example name","iban":"FK54RAND61068429674579","currency":"USD","extra":{},"cash_account_type":"TAXE","product":"Girokonto","bban":"4215 4215 6421","bic":"BARCGB22XXX","sort_code":"56-83-17","msisdn":"447912345678","status":"enabled","balances":[{"type":"openingAvailable","currency":"USD","amount":"213.35","credit_limit_included":false,"reference_date":"2019-08-21","last_change_date_time":"2019-08-21T16:04:49+00:00","last_committed_transaction":"string"}]}]}
Request
GET
https://your.connector.url/api/priora/v2/accounts
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code should be returned.
Transactions
This endpoint is responsible for fetching transactions which belong to requested account.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImFjY291bnRfaWQiOiI4NyIsImZyb21fZGF0ZSI6IjIwMTktMTEtMTgiLCJ0b19kYXRlIjoiMjAxOS0xMS0xOCIsImZyb21faWQiOiIxMDEifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.H4JnEGe-L5uge5Twj7DkH8uOxPug5Mwx95gtqKOq0DRekND-QImuiCurKcb1pwJun8Ih_WlIok4e9QNTbJodbMOx-lT0-Si_ktuQ3rJ9A1h-SEcRezpqAyi3Zq9OQRFFkoSVVKeoVuBjFLEcJPCnNayB_l0YbvKOl_DWjV46JZeMByOKKgxkIzNzqCyskILX5inWwghm1iQO_ZFjlWWfhAmfhnLMDaRzl94YVKVXdNfdhf3jPeiSEzofZ99oLgf-DWiHN6KhxQQ4nCAGbHey1cFAWcM913YeSJAyB3UAFyTWspEWZZPeen85HfV52orc3k1vl_rgtexpMAbAGt-NhQ" \
-H "Access-Token: 2cab054fa0dfd20d725ef46c533b537701c29d47ebea97893374d4e47714e49e2e331764e4f4a20d5e285dbb08af9566e14a8f597230bca6d9f5b3b2048a71f5" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 866" \
-X GET "https://your.connector.url/api/priora/v2/accounts/:account_id/transactions"
Example of request parameters
{"data":{"account_id":"87","from_date":"2019-11-18","to_date":"2019-11-18","from_id":"101"},"exp":1574093209}
Example of response
{"data":[{"id":"214","amount":"144","currency":"USD","status":"booked","creditor_details":{"name":"John Smith","account":{"iban":"FK54RAND61068428514573","bban":"4210 3213 3211","currency":"USD","masked_pan":"************3241","msisdn":"447912345678"}},"debtor_details":{"name":"Franklin Smith","account":{"iban":"FK54RAND610684285145421","bban":"4210 3213 3212","currency":"USD","masked_pan":"************3241","msisdn":"447912345314"}},"remittance_information":{"structured":"Example of remittance information structured","unstructured":"Example of remittance information unstructured"},"currency_exchange":[{"contract_identification":"Example of contract identification","exchange_rate":"0.12","quotation_date":"2019-12-13","source_currency":"USD","target_currency":"USD","unit_currency":"USD"}],"extra":{"check_id":"41412","mandate_id":"512314251","bank_transaction_code":"GGN5151MGM415","entry_reference":"Example of entry reference","purpose_code":"Example of purpose code","proprietary_bank_transaction_code":"Example of proprietary bank transaction code","additional_information":"Example of additional information","ultimate_creditor":"Example of ultimate creditor","ultimate_debtor":"Example of ultimate debtor"},"value_date":"2019-08-11","booking_date":"2019-08-12"}],"meta":{"next_id":"151"}}
Request
GET
https://your.connector.url/api/priora/v2/accounts/:account_id/transactions
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code should be returned.
Card Accounts
Card account Information Endpoints are responsible for the access to card account identification data and card account transactions history.
Get
Fetch list of card accounts belonging to a PSU and all relevant information about them.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fc2VjcmV0IjoiY3ppYVRYZ0JhQ1llckVIRHZXRTkifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.GIjYwQcjeaH3hBhhhnggR2LY2sSFE4XxGfPMhcBeO9kJ9kza5iPt6acHHf_DFKGQts8ypYlNAKW6ZScJ8lBQcRxPxdi8DCMiOso0danTZkiS3EPVUIYdxnTG-GArwtcOgakisnONllOqM2tXFtsHRpOF_R_gFI75vjU8ZiGUfaAS0KP61YIyPA5Ut3qiK5fDDeHrsmOQR0SKrh9ZriGf7NFhebcW00jJk9estIG6QeL5kVsQDagPKHTMjYvt7z36NZrQBWbZplNKLizmQltPd2aEOsjcKleEzlWqqrqEA5wJCsxwcXkvHSz82r0P9KtP9TVKeJxfHUcFah7655wh7g" \
-H "Access-Token: e4649d535f5e3125bcc939e2f3b33a070127be520e2f1134ed8722976703e0b32d9354fb147014103ce39f6eed428ac65d82659b6289901449c73d12d939c28f" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 765" \
-X GET "https://your.connector.url/api/priora/v2/card_accounts"
Example of request parameters
{"data":{"session_secret":"cziaTXgBaCYerEHDvWE9"},"exp":1574093209}
Example of response
{"data":[{"id":"421","name":"Example name","masked_pan":"************3241","currency":"EUR","product":"Basic Credit","status":"enabled","credit_limit":{"currency":"EUR","amount":"15000"},"balances":[{"balance_type":"interimBooked","balance_amount":{"currency":"EUR","amount":"14355.72"}},{"balance_type":"closingBooked","balance_amount":{"currency":"EUR","amount":"4175.86"}}],"extra":{"usage":"PRIV","details":"string"}}]}
Request
GET
https://your.connector.url/api/priora/v2/card_accounts
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code should be returned.
Transactions
Read transaction reports or transaction lists of a given card account addressed by account-id.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImFjY291bnRfaWQiOiI4NyIsImZyb21fZGF0ZSI6IjIwMTktMTEtMTgiLCJ0b19kYXRlIjoiMjAxOS0xMS0xOCIsImZyb21faWQiOiIxMiIsInNlc3Npb25fc2VjcmV0IjoieVBzZXRDeVA3Y0d6bnZiMWZBRkEifSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.BEeYn_6idXeadp7ZU7tIKHFkWcoUMUIMBWUhdbddhnl1NOuMMACWqzqjM5WYon3jGx-o_s83cAfrw4e_oBQH6O1ZEWwmXyFtV6mzLfTtZX9ThySLfdkA3bBBbaa5JoSrLXw-jxttq-5AjIKjs3jmsIxrqNOvDuJ9QKUO0OF9VAJBFe9T5bQdehQrw_D_pkTqXhmAP1BDyokXWdzzR2C8xQYvMUnMdAY8xRM5mZZ3otvgcTaYPe-Ij5icUMgc8COWDTrnq-nzw7lQEV5S7m1XhzPb3EVhgVoUqTcoUXKCEVy4DMBNRsd4g-L1arfYfHT6qZdZ_HYI34xHboFor08B0A" \
-H "Access-Token: 2cab054fa0dfd20d725ef46c533b537701c29d47ebea97893374d4e47714e49e2e331764e4f4a20d5e285dbb08af9566e14a8f597230bca6d9f5b3b2048a71f5" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Client-Id: 866" \
-X GET "https://your.connector.url/api/priora/v2/card_accounts/:account_id/transactions"
Example of request parameters
{"data":{"account_id":"87","from_date":"2019-11-18","to_date":"2019-11-18","from_id":"12","session_secret":"yPsetCyP7cGznvb1fAFA"},"exp":1574093209}
Example of response
{"data":[{"id":"214","terminal_id":"example-of-terminal-id","transaction_date":"2020-02-12","booking_date":"2020-02-12","status":"booked","currency":"EUR","amount":"123","currency_exchange":[{"source_currency":"EUR","exchange_rate":"0.15","unit_currency":"0.12","target_currency":"EUR","quotation_date":"2020-02-12","contract_identification":"Example of contract identification"}],"original_amount":{"currency":"EUR","amount":"123"},"markup_fee":{"currency":"EUR","amount":"123"},"markup_fee_percentage":"0.3","card_acceptor_id":"example-of-acceptor-id","card_acceptor_address":{"street":"rue blue","building_number":"89","city":"Paris","postal_code":"75000","country":"FR"},"merchant_category_code":"example-of-merchant-category-code","masked_pan":"************3241","transaction_details":"Example of details","invoiced":true,"proprietary_bank_transaction_code":"example-code"}],"meta":{"next_id":"151"}}
Request
GET
https://your.connector.url/api/priora/v2/card_accounts/:account_id/transactions
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
|
Access-Token
|
string, required | The token which is created by a connector as a result of successful authentication. |
Accept
|
string, required | Media type that is acceptable for the response. Allowed values: application/json |
Content-Type
|
string, required | The media type of the body of the request. Allowed values: application/json |
Client-Id
|
integer, required | TPP application identifier in Salt Edge PSD2 Compliance. |
Consent-Id
|
integer, optional | ID of the corresponding consent object. |
Psu-Device-ID
|
string, optional | UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. |
Psu-User-Agent
|
string, optional | The forwarded Agent header field of the HTTP request between PSU and TPP, if available. |
Psu-Geo-Location
|
string, optional | The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. |
Psu-IP-Address
|
string, optional | IP address of PSU. If not available, the TPP shall use the own address. |
TPP-IP-Address
|
string, optional | IP address of TPP application. |
Unpacked Request Authorization
Response headers
Header | Type | Description |
---|---|---|
Retry-After
|
integer, optional | Amount of time in seconds after which Salt Edge PSD2 Compliance Solution resends the previously failed request. |
Response
Upon successful request, 200 status code should be returned.
Salt Edge Endpoints
Sessions
Session Callback Endpoints are responsible for assuring communication between ASPSP and TPP, where ASPSP notifies about its Redirect SCA authorisation page and if the authorisation process is successful or failed.
Success
Success callback should be sent to Salt Edge PSD2 Compliance when all required verification steps have been passed, and therefore access is granted.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImV4dHJhIjp7fSwic2Vzc2lvbl9zZWNyZXQiOiJCVnV2ZVNMUUNyQTVqQllVeXhYZSIsInVzZXJfaWQiOiIxIn0sImV4cCI6MTczNzIyNTE0MiwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.oC2v3lokI4BbEaZw1_K_I_NIg19-5V1LowYi-oluIoe-hiGbh1rJZRjLhlekPYcm7peCwyyEpq-mzAnlepUIRL4svUhIhq0louYgGDF8h97Gj9adfvhrknPPdn3aqTjVLjS39uPLfj03mIfq8XnrJAyzvFuYjioU4UZyrEmPsqRWJU_vO2AZ4nHhnvlje0tQGVUaa-0adnhwYh3-G776YankI9VpJLRq2V-S-Xlc1WOPPVCjqfykUG99PhcEbmNp3aebwCFyc9VdLzVcCrg1OrrJ3CRxooTSUTNIkUqIWGF2rLJRJXEuG0BSLq6DrEIJ_7Gxlh8ZPlWNeL8_QAVV6w" \
-H "App-Id: qjQYP-jCx-8FBsZSgNVzIw" \
-H "App-Secret: -XeeN2UhtdphUGtI-FZpzg" \
-X PATCH "/api/connectors/v2/sessions/:session_secret/success"
Example of request parameters
Example of response
{"data":{},"meta":{"time":"2019-11-18T16:04:48.773Z"}}
Request
PATCH
/api/connectors/v2/sessions/:session_secret/success
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
AuthorizationMissing
|
App-Id
|
string, required |
Provider's app_id from connection details tab.
Can raise:
ProviderNotFound, ProviderDisabled, ConfigurationError
|
App-Secret
|
string, required |
Provider's app_secret from connection details tab.
|
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
SessionClosed | 400 | Session specified in request is already closed and cannot be modified. |
ConfigurationError | 400 | Missing configurations in dashboard. |
SessionExpired | 401 | Found session is expired and cannot be processed anymore. |
AuthorizationMissing | 401 | Authorization header is missing. |
SessionFinalised | 403 | Session specified in request is already finalised and cannot be processed. |
SessionNotFound | 404 | Session specified in request does not exist or cannot be retrieved. |
ProviderNotFound | 404 | Provider specified in request does not exist or cannot be retrieved. |
ProviderDisabled | 406 | Cooperation with specified Provider is impossible. |
Update
Update callback may be accessed multiple times in order to request multiple steps of authorization or to send other updates to Salt Edge PSD2 Compliance session.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fZXhwaXJlc19hdCI6IjIwMjAtMDQtMTBUMTI6MzM6NTAuMjE1WiIsInN0YXR1cyI6IlJDVkQiLCJzY2Ffc3RhdHVzIjoicHN1QXV0aGVudGljYXRlZCIsInJlZGlyZWN0X3VybCI6Imh0dHBzOi8vcmVkaXJlY3QtdXJsLmNvbSIsImV4dHJhIjp7fSwiZnVuZHNfYXZhaWxhYmxlIjp0cnVlLCJzZXNzaW9uX3NlY3JldCI6IkJWdXZlU0xRQ3JBNWpCWVV5eFhlIn0sImV4cCI6MTczNzIyNTE0MiwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.eeDZlbIHIb95bPckMZsZloq4iIWB4_KIaiQveQfyKkuJbt4w7xnknA-pFADgLi_wLl1GrW3B8-FCywgiwX4IvC9TZSwB1hgzHOnyXqrZ-iRwMQMBJYO-o-jDFA4VNUcM_zaACLAtVXYNTXfY1Vonwdv1T2oS9jkhUI4QN1xB50sViMcvEenqcnXdjllgoUg_he3VI69YnrZ60_cMAVxaUegmLZlj2A2M4_H-D3UoKndtzI2z7B_Iw1ucz1lGIcECoOBgfje9wgGjlO0WjhhZvTxWR97X2AaoG6QO6s-DCMIKpo0Sptu-a_m3E0E6u1gvML20yBRvkgvjSjFsqQKEdQ" \
-H "App-Id: q5QE7Dqlpm1d5weLS5pn7w" \
-H "App-Secret: y8imt1cgG8x2zmBMrF-oxw" \
-X PATCH "/api/connectors/v2/sessions/:session_secret/update"
Example of request parameters
Example of response
{"data":{},"meta":{"time":"2019-11-18T16:04:48.853Z"}}
Request
PATCH
/api/connectors/v2/sessions/:session_secret/update
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
AuthorizationMissing
|
App-Id
|
string, required |
Provider's app_id from connection details tab.
Can raise:
ProviderNotFound, ProviderDisabled, ConfigurationError
|
App-Secret
|
string, required |
Provider's app_secret from connection details tab.
|
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
SessionClosed | 400 | Session specified in request is already closed and cannot be modified. |
ConfigurationError | 400 | Missing configurations in dashboard. |
SessionExpired | 401 | Found session is expired and cannot be processed anymore. |
AuthorizationMissing | 401 | Authorization header is missing. |
SessionFinalised | 403 | Session specified in request is already finalised and cannot be processed. |
SessionNotFound | 404 | Session specified in request does not exist or cannot be retrieved. |
ProviderNotFound | 404 | Provider specified in request does not exist or cannot be retrieved. |
ProviderDisabled | 406 | Cooperation with specified Provider is impossible. |
Fail
Fail callback should be used when authorization process has been compromised for any reason: broken request, invalid credentials, etc.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7InNlc3Npb25fc2VjcmV0IjoiM1BRaXB1RFBvV3BhMTFGY1ZFVjYiLCJlcnJvcl9jbGFzcyI6IkludGVybmFsUHJvdmlkZXJFcnJvciIsImVycm9yX21lc3NhZ2UiOiJJbnRlcm5hbCBlcnJvciIsImV4dHJhIjp7fX0sImV4cCI6MTczNzIyNTE0MiwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.UvDLxnU0qvZklmJMUVqzufmHVVjEKIGBh_XEKj6nLhlv94im9hwmQjSPjt8WTqsvV2tFVG9jQG0-oDndWRH7HnL4JUAKJwlR93O_yQoTj88lYRT6daE1QRHLbt7bdRwEm_WoDiumX1WYCXS2QOmLzgWKUM24lt6GNXXir3T3cN_iLrFeUcw6FQXDlCDZwzx2SK4wdKJ07TJ9-07iMtIoRsdUSSUz_oVM-tWJhmMOKs7aae_u0vsBzAT4W3CG0rewnd6YWj1aauUrivkidLeD7vUH53mplOymXU9KdKdk_GyQZbhKz6gOwemCpSGZOeuqtVmtGCgHq3r5-ZHEMgm-YQ" \
-H "App-Id: xU7SyhPrd95GAPSMNo_XMQ" \
-H "App-Secret: BVSkESo7zpRdzk_hWUUwCQ" \
-X PATCH "/api/connectors/v2/sessions/:session_secret/fail"
Example of request parameters
{"data":{"session_secret":"3PQipuDPoWpa11FcVEV6","error_class":"InternalProviderError","error_message":"Internal error","extra":{}},"exp":1574093208}
Example of response
{"data":{},"meta":{"time":"2019-11-18T16:04:48.710Z"}}
Request
PATCH
/api/connectors/v2/sessions/:session_secret/fail
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
AuthorizationMissing
|
App-Id
|
string, required |
Provider's app_id from connection details tab.
Can raise:
ProviderNotFound, ProviderDisabled, ConfigurationError
|
App-Secret
|
string, required |
Provider's app_secret from connection details tab.
|
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
SessionClosed | 400 | Session specified in request is already closed and cannot be modified. |
ConfigurationError | 400 | Missing configurations in dashboard. |
SessionExpired | 401 | Found session is expired and cannot be processed anymore. |
AuthorizationMissing | 401 | Authorization header is missing. |
SessionFinalised | 403 | Session specified in request is already finalised and cannot be processed. |
SessionNotFound | 404 | Session specified in request does not exist or cannot be retrieved. |
ProviderNotFound | 404 | Provider specified in request does not exist or cannot be retrieved. |
ProviderDisabled | 406 | Cooperation with specified Provider is impossible. |
Tokens
Token Endpoints allow Connector to perform operations like getting the list of all tokens created by a specific PSU and revoking them. This endpoints prove to be useful in case ASPSP decides to give PSU the possibility to control and revoke consents using his personal Web-Banking Dashboard.
Index
Returns the list of access tokens issued by Provider for Salt Edge PSD2 Compliance Solution.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImtpbmQiOiJyZXZva2VkIiwiZnJvbV9pZCI6MzAyLCJmcm9tX2RhdGUiOiIyMDE5LTA4LTIwVDE2OjA0OjQ5LjAyMVoiLCJwZXJfcGFnZSI6NTAsImN1c3RvbWVyX2lkIjo4MjF9LCJleHAiOjE3MzcyMjUxNDIsImlzcyI6InByaW9yYS5zYWx0ZWRnZS5jb20ifQ.mczktgshPtPmiP_AunI9sxzjmSZIaToqNO6GZCx-rZMrHfYWf_dDMKCQz_i45jZ7FsTpcdDg0pCLLgdPd3Yaz_o6I58WnNLJJ1mnDC76A6mMusGiNvr6Zn0FE0IaXC4_LL0lN6UU5nI4o3niF03zs4ht5c-iie3xtfOIzK8tOLNOtoxGI7owgQEcNBRblGhnIdxCT4NABW6_Y7dV9VsZu1wWQPqMKL4_708aIA0CIJCMiEFOreM8oLQKluH1tdHdtuHLu_VIZ_sUQL9Pjwd6o6tw2dlcFnyyyWwurbQVOqoyrLD6ld29IbdT8zZFYvu-HTWgQgmzSf41VZNK5VRRjg" \
-H "App-Id: G9SgwyF-RdxsjCu3f3mLnw" \
-H "App-Secret: Az6qAhT6pdezVjAex58qqQ" \
-X GET "/api/connectors/v2/tokens"
Example of request parameters
{"data":{"kind":"revoked","from_id":302,"from_date":"2019-08-20T16:04:49.021Z","per_page":50,"customer_id":821},"exp":1574093209}
Example of response
{"data":{"tokens":[{"id":132,"priora_customer_id":931,"request_id":"aSJFJA1a399","access":{"allPsd2":"allAccounts"},"status":"accepted","valid_until":"2019-11-18T16:04:49.001Z","provider_code":"nextgenpsd2_demobank","customer_id":13455,"created_at":"2019-11-10T16:04:49.001Z","updated_at":"2019-11-10T16:04:49.001Z"}]},"meta":{"next_id":303,"time":"2010-11-18T16:04:49.001Z"}}
Request
GET
/api/connectors/v2/tokens
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
AuthorizationMissing
|
App-Id
|
string, required |
Provider's app_id from connection details tab.
Can raise:
ProviderNotFound, ProviderDisabled, ConfigurationError
|
App-Secret
|
string, required |
Provider's app_secret from connection details tab.
|
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
ConfigurationError | 400 | Missing configurations in dashboard. |
AuthorizationMissing | 401 | Authorization header is missing. |
CustomerNotFound | 404 | PSU specified in request does not exist or cannot be retrieved. |
ProviderNotFound | 404 | Provider specified in request does not exist or cannot be retrieved. |
ProviderDisabled | 406 | Cooperation with specified Provider is impossible. |
Revoke
Revoke callback needs to be called any time a token is revoked on the Provider Connector side.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7fSwiZXhwIjoxNzM3MjI1MTQyLCJpc3MiOiJwcmlvcmEuc2FsdGVkZ2UuY29tIn0.FpPRaiQJgerJt8L6cQSpy8nFl6lbeoqibj83ZYtV5cDQnzMz-BpCVGW0oTXIYKDgD2qmaguJg2tEa9bLVYN2jFrpoxGF8BuE54JGlb_fI_PZa_8QNQDh8bh77ki682rm3SqYMw3Fy59ETrc88HoVQy4WJSy5PNyhHRWK-PnoPdyd7lUZv1SA5yLG5Q2Bnpe3Spxjaq35ZUaqah3wMmvATh7hjtKoSC0FsY207BefAJfYEdAuaVhFUrlCbmACA5bbnKy2s3Us04b8PFBYuMgonuQex55ZXVlVZlp0TS0wI4tuAVLdBuSP-wiBDFmNc6dI30RaaozJgwDcWvURc-h4IQ" \
-H "App-Id: cfOK5P9RVooLksNv8il3rw" \
-H "App-Secret: rwkTbW41SPT55uo1I_-UGQ" \
-H "Token: example_Token" \
-X PATCH "/api/connectors/v2/tokens/revoke"
Example of request parameters
{"data":{},"exp":1574093208}
Example of response
{"data":{"revoked":true},"meta":{"time":"2019-11-18T16:04:48.928Z"}}
Request
PATCH
/api/connectors/v2/tokens/revoke
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
AuthorizationMissing
|
App-Id
|
string, required |
Provider's app_id from connection details tab.
Can raise:
ProviderNotFound, ProviderDisabled, ConfigurationError
|
App-Secret
|
string, required |
Provider's app_secret from connection details tab.
|
Token
|
string, required | Token for which we are requesting info. Can raise: TokenNotFound, TokenMissing |
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
ConfigurationError | 400 | Missing configurations in dashboard. |
TokenMissing | 400 | This request cannot be performed without TOKEN header. |
AuthorizationMissing | 401 | Authorization header is missing. |
TokenNotFound | 401 | Token specified in request does not exist or cannot be retrieved. |
ProviderNotFound | 404 | Provider specified in request does not exist or cannot be retrieved. |
ProviderDisabled | 406 | Cooperation with specified Provider is impossible. |