Status of connections

Some connection status are defined to follow the activity of user provider connections.

Three fields are available in connection status result:

  • status
  • status_code
  • status_reason

Status

Status Description
finished Connection synchronization finished
pending Pending connection to synchronize
in progress Connection synchronization in progress
in background progress Connection synchronization in background progress
waiting user Waiting user interaction into a step
cancelled Synchronization cancelled
error Error
maintenance Provider in maintenance
scheduled Provider scheduled
unavailable Provider unavailable

Status codes and reasons

Status codes are regrouping in 4 categories :

  • 1xx: OK
  • 2xx: User action required
  • 3xx: Provider website error
  • 4xx: Internal error

1xx - OK status codes

Code Reason Description
100 OK Synchronization OK

2xx - User action status codes

Code Reason Description
201 Bad Credentials Bad credentials
201 Account Blocked User provider account is blocked
201 Password Expired User needs to change its password on provider website
202 User Action Required User action is required on provider website
203 Contract Error Contract of user on provider website is insufficient
205 Strong Authentication Strong authentication is required on provider website
206 Certificate Error Invalid or expired user certificates (EBICS)

3xx - Provider error status codes

Code Reason Description
300 Provider Error Provider error
301 Download Error Download error on provider website
302 Session Expired Expired session occurred on provider website
303 Case Error Unimplemented case encountered on the provider
304 Provider Action Required Provider action is required
305 Certificate Error Invalid or expired provider certificates (EBICS)

4xx - Internal error status codes

Code Reason Description
400 Internal Error Internal error
401 Balance Error Balance checking error
402 Import Error Import error

New status

We reserved us the right to add new status codes in the defined categories.

To be sure your application continue to give a correct message, check existent codes and add generic verification for the group number.

PHP example

/**
 * Get status reason.
 *
 * @param int $statusCode Status code
 *
 * @return string|null Message
 */
function getStatusReason(int $statusCode): ?string {
    // User action status codes
    if ($statusCode >= 100 && $statusCode < 200) {
        return null;
    }

    // User action status codes
    if ($statusCode >= 200) {
        switch ($statusCode) {
            // Login error
            case 201:
                return 'Incorrect login or password';
            // Generic error
            default:
                return 'An action is required on provider website';
        }
    }

    // ...

    return 'Unknown error';
}