public function __construct(ClientException $exception)
{
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
$error = json_decode($response->getBody(true), true)['error'];
$errorCode = isset($error['code']) ? $error['code'] : null;
$errorType = isset($error['type']) ? $error['type'] : null;
$message = isset($error['message']) ? $error['message'] : null;
$missingParameter = isset($error['param']) ? $error['param'] : null;
$this->handleException($message, $statusCode, $errorType, $errorCode, $missingParameter);
}