public function showChannels($limit = null, $offset = null, array $filter = null, array $order = null)
    {

        if ($limit!= null && $limit < 1) {
            throw new InvalidArgumentException(
                "Api::showChannels() limit must be a min 1 ");
        }
        if ($offset!= null && $offset < 0) {
            throw new InvalidArgumentException(
                "Api::showChannels() $offset must be a positive number,  min 0 ");
        }

        $filterHash = '';
        if($filter !== null){
            $filterHash = $this->associativeArrayToString($filter);
        }

        $orderHash = '';
        if($order !== null){
            $orderHash = $this->associativeArrayToString($order);
        }

        /** @var $command \Guzzle\Service\Command\AbstractCommand */
        $command = $this->client->getCommand(
            'GetChannels',
            array('limit' => $limit, 'offset' => $offset, 'filter' => $filterHash, 'order' => $orderHash)
        );

        return $this->executeCommand($command);
    }