Status of connections

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

Three fields are available in connection status result:

  • status
  • status_code
  • status_reason

Status

Status Description
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

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

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

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';
}