Here is some more information that may be useful around this subject:
You may use operators in request expression, depending on if you want to combine different values for a single argument or combine different arguments.
In my case, I use variables for filtering an argument named 'tags' in my collection to do a 'OR' for a same argument :
(|(tags=CONFIGURATION)(tags=EXPLOITATION))
which translates as
(%7C(tags%3DCONFIGURATION)(tags%3DEXPLOITATION))
In fact, I realize that your initial translation with %7C was correct, but you probably misused it (%3D corresponds to '=')
The other combination I suggested you is more related to a list of arguments that are to be excluded from the response and It seems to have the same usage (except that there is no argument mentioned, which is not a problem in my case, and yours).
My requests looks like this:
GET http:// .... /?filter={{filter}}&exclude={{exclude}}&expand={{expand}}
with
filter=(|(tags=CONFIGURATION)(tags=EXPLOITATION))
exclude=[{"key":"exclude","value":"href,metadata,name,arguments"}]
expand=id
and is translated, in cURL, like this:
'http: .... ?filter=(%7C(tags%3DCONFIGURATION)(tags%3DEXPLOITATION))&exclude=href%2Cmetadata%2Cname%2Carguments&expand=id' ....
to do a 'OR' you could probably try (|(channelCategory=News)(channelCategory=Movies))
with success though the other form (as a list) seem to fulfill your needs.