code = $code; $this->rawResponse = $rawResponse; if (json_validate($rawResponse)) { $this->decodedResponse = json_decode($rawResponse, true); } } public function getHttpCode(): int { return $this->code; } public function getResponse(): array { return $this->decodedResponse; } public function getRawResponse(): string { return $this->rawResponse; } public function wasSuccessful(): bool { return $this->decodedResponse && !$this->decodedResponse['error']; } public function getError(): string { $message = $this->decodedResponse['error']['message'] ?? 'None'; $code = $this->decodedResponse['error']['code'] ?? 0; return "$message (Error code $code)"; } public function getResult(): mixed { return $this->decodedResponse['result'] ?? ''; } }