public function info(int $id): ?array
    {
        $this->checkConfig();

        $key = sprintf('smsgatewayme.info.%s', $id);

        if ($this->cache === true and Cache::has($key)) {
            $message = [
                'code'    => 200,
                'message' => 'OK',
                'data'    => Cache::get($key),
            ];
        } else {
            $response = Request::get($this->baseUrl.'message/'.$id);

            if ($response->code == 200) {
                Cache::put($key, $response->body, 3600 * 24);
            } else {
                if (!empty($response->body->message)) {
                    Log::error($response->body->message);
                }
            }

            $message = [
                'code'    => $response->code,
                'message' => ($response->code == 200) ? 'OK' : $response->body->message ?? '',
                'data'    => $response->body,
            ];
        }

        return $message;
    }