Channel Points API: Grantable Control of Third-Party Rewards
Based on the current channel points API, a client may only access/update rewards for their own custom rewards. However, for some moderation tools, I believe managing custom rewards created by other clients and/or the Channel Owner's Dashboard would be beneficial.
Take for example a reward such as "Hydrate!", where, after 10 minutes you want this cleared from the reward queue if it hasn't been actioned already. To do this with the current API, a channel owner would have to first delete the existing "Hydrate!" reward and then recreate it using the script client. Repeating this for every reward to be controlled.
A potential way to implement this is a new Channel Points Reward dashboard called "Permissions" where channel owners can select which rewards can be controlled by which third-party clients. This dashboard would consist of a list of integrations where each integration has it's own list of rewards that it can control.
Even so, some integrations may wish to designate that they should have exclusive read/update/remove control over their own rewards (as in the current API) where they are created as "private" or "super-private" rewards. (private locks read/update/remove control, super-private would also lock enabled/disabled control)
For example:
Sound Alert can access the following rewards:
* Wowza (private)
* REEE (private)
* [Assign new reward]
Most rewards could then be added/removed to other integrations as the channel owner desires. Private rewards can still be assigned to other integrations to control their enabled state.
XYZ can access the following rewards:
* Silence Sound Alert for 10m (private)
* Twitch: Hydrate! (read/update/enable) [Edit] [Remove]
* Twitch: Name a world! (read/update/enable) [Edit] [Remove]
* Twitch: Text-to-speech (read/update/enable) [Edit] [Remove]
* Sound Alert: Wowza (enable) [Edit] [Remove]
* Sound Alert: REEE (enable) [Edit] [Remove]
* [Assign new reward]
-
BarryCarlyon commented
> Currently, rewards that are made programmatically cannot have custom images, so users are even less inclined to make them through a third party system.
The creator/streamer can add/edit the images in the dashboard after they have been created.
After the clientID has made the reward the streamer can make as many changes as they want via the dashboard.
See also https://twitch.uservoice.com/forums/310213-developers/suggestions/41967358-create-custom-reward-can-t-provide-custom-image wrt images
-
IsaiahCreati commented
I too believe this restriction should be removed or changed. Instead of a full on dashboard, I was thinking of an additional required scope to edit all custom rewards. The current restriction severely hampers the ability to programmatically edit/change the rewards. Having to remove the old reward, then recreate it just to update the title, cost, is paused/resumed, enabled/disabled, etc. adds another step and feels redundant. Currently, rewards that are made programmatically cannot have custom images, so users are even less inclined to make them through a third party system.
Endpoint URL:
PATCH https://api.twitch.tv/helix/channel_points/custom_rewards