public function build(callable $callback): array
    {
        $data = [];

        foreach (['includes', 'excludes'] as $key) {
            if (! empty($this->{$key})) {
                $data[$key] = \implode(',', $this->{$key});
            }
        }

        if (! \is_null($this->timezone)) {
            $data['timezone'] = $this->timezone;
        }

        if (\is_int($this->page) && $this->page > 0) {
            $data['page'] = $this->page;

            if (\is_int($this->perPage) && $this->perPage > 5) {
                $data['per_page'] = $this->perPage;
            }
        }

        return \call_user_func($callback, $data, $this->customs);
    }