API orchestration - Webhooks
You can configure your own webhooks that A-CUBE Open Banking API will call when an event happens. To manage your endpoints you can use the API or the dashboard.
Please note that a signature is included in each call to webhooks.
Here are the events that can occur in the platform.
connect
A-CUBE triggers this event when the consent for a connection has been correctly established or when this process has experienced any problem. The message can have two shapes. The first one is in case of success.
{
"fiscalId": "some_fiscal_id",
"success": true,
"updatedAccounts": [
"aSampleAccountID-001",
"aSampleAccountID-002",
"aSampleAccountID-003"
]
}
The second one will be generated in case of error:
{
"fiscalId": "some_fiscal_id",
"success": false,
"errorClass": "Timeout",
"errorMessage": "Some error message"
}
Types of errorClass
are:
Timeout
InvalidCredentials
AccessDenied
ProviderError
GenericError
reconnect
A-CUBE periodically will send this event when a Business Registry needs to renew the consent that is about to expire for one of its connections. Here is a sample message body.
{
"fiscalId": "some_fiscal_id",
"connectUrl": "The URL to invoke to start the reconnection process",
"providerName": "The name of the financial institution to renew consent for",
"consentExpiresAt": "2031-01-01T00:00:00+00:00",
"noticeLevel": 0
}
noticeLevel
can assume these values:
-
0
=> consent will expire in 20 days -
1
=> consent will expire in 10 days -
2
=> consent will expire in 0 days
payment
A-Cube will send notifications to webhooks about the progress of payment process. Here are samples of the messages you can receive.
In case of success you will receive a JSON payload containing the fiscal ID of Business Registry that initiated the process,
plus a payment
object describing the payment.
{
"fiscalId": "ABCD",
"success": true,
"payment": {
"uuid": "11ce6377-ff28-4c7c-842f-ba500fb94759",
"direction": "inbound",
"status": "accepted",
"system": "sepa",
"amount": "345.67",
"currencyCode": "EUR",
"description": "Order nr. 12345",
"endToEndId": "A+C000001",
"createdAt": "2023-03-30T07:51:34Z",
"debtorProviderName": "Mario Rossi",
"account": {
"uuid": "c83ea9a5-78aa-4bd8-9e9a-fe46827603f9",
"name": "ABCD123",
"nature": "account",
"providerName": "Commercial Bank Institute"
}
}
}
In case of failure, in addition to data we have already seen for the success event, you will also receive a description of the error.
{
"fiscalId": "ABCD",
"success": false,
"errorClass": "PaymentFailed",
"errorMessage": "Payment cancelled",
"payment": {
"uuid": "11ce6377-ff28-4c7c-842f-ba500fb94759",
"direction": "inbound",
"status": "failed",
"system": "sepa",
"amount": "345.67",
"currencyCode": "EUR",
"description": "Order nr. 12345",
"endToEndId": "A+C000001",
"createdAt": "2023-03-30T07:51:34Z",
"debtorProviderName": "Mario Rossi",
"account": {
"uuid": "c83ea9a5-78aa-4bd8-9e9a-fe46827603f9",
"name": "ABCD123",
"nature": "account",
"providerName": "Commercial Bank Institute"
}
}
}
Types of errorClass
are:
Timeout
InvalidCredentials
AccessDenied
ProviderError
PaymentFailed
GenericError