I've found a great way (hacky way - shopify admin use this), to make products visible via api on other sales channel. The trick is to find the channel id of your custom sales channel. To do this, first create a custom collection and then open the chrome developer console. And toggle the sales channel visibility and see the network tab to mark the channel id.
And finally using the api (I'm using nodejs api module). add this rule in any collection or products you want to visible :
Another way (and easy way to find channel id). On collection tab of shopify admin, open the chrome dev console and click on elements tab. Now search for `channel_id`, you'll see the form data like this:
<input type="hidden" name="collection[publications][channel_id]" id="collection_publications__channel_id" value="9174343">
... View more