Twitch Developer Day 2020: Introducing the Channel Points API, EventSub, and more
Twitch Developer Day is a unique moment each year when we celebrate our innovative developer community and present the latest enhancements for our third-party products and services. This year is no different; other than being completely virtual of course! We had plenty of new features to announce, so if you missed the keynote here are all of the details you need to know.
Introducing the Channel Points API
Over the last several months, we’ve seen Channel Points become a core part of how communities interact on Twitch. Rewards, especially custom rewards created by the streamer, are now an important way for communities to celebrate their unique culture and identity.
Today, we are announcing Twitch API access and webhook access to the ever-growing Channel Points experience. Twitch integrations will be able to manage and fulfill custom rewards with the following capabilities.
- Get Custom Rewards
- Create Custom Reward
- Update Custom Reward
- Delete Custom Reward
- Get Custom Reward Redemptions
- Update Redemption Status
We are launching these endpoints with a new product status known as “experimental.” This means that the product is beyond beta testing, generally available to everyone, and can be used in production environments. It’s continued availability will be based on the adoption and implementations the community builds over time, and we look forward to seeing novel integrations for streamers and viewers alike.
During the summer months, we shared these API endpoints with closed beta participants to hear a wide range of voices and perspectives to formulate the product being released today. The results have been fantastic. We’d love to share a few case studies that will benefit the Twitch community starting today.
During Twitch Developer Day, a number of developers will be joining us in the spotlight section to demonstrate how they have implemented the Channel Points API during the beta process.
- Warp World has added Channel Points to Crowd Control as an additional way to acquire coins to manipulate gameplay.
- Better Points has created a way for viewers to redeem Channel Points in a way that affects a broadcaster’s stream components directly in OBS.
- Mega Cat Studios has updated their game Bite the Bullet to allow viewers to spawn in-game items to help out the broadcaster.
- Spaceflower is launching Viewergames Arcade, a mini-games collection tailored for Twitch streamers for numerous viewers to play along and use Channel Points to manipulate the outcome for everyone.
There are also other well-known Twitch integrations that will provide Channel Points custom rewards in the latest version of their applications such as Sound Alerts and Gleam. Sound Alerts will now let broadcasters decided if their viewers can play sounds in their stream via Bits in Extensions or through Channel Points redemptions. Gleam’s Competitions platform will now allow broadcasters to reward their loyal viewers the ability to redeem Channel Points for entries into contests they run via Gleam, or even to assist with distributing game keys to their users that meet a certain engagement threshold.
We hope these API endpoints allow you to build awesome applications that bring your communities closer together. To get started, visit our documentation. If you have any questions, feel free to post in the developer forums.
Introducing EventSub for Real-Time Events
Amazing moments happen on Twitch and they all happen in real-time. For our developer community, it’s not always straightforward how to build Twitch integrations that enhance or create these moments. Sometimes event data isn’t available at all or it is only available as an endpoint, but not as a webhook or websocket. To avoid missing out on the excitement, our third-party developers have to juggle multiple transport-specific event products or poll our RESTful APIs to achieve their use case. We knew there had to be a better way, so we built EventSub.
Unlike Twitch Webhooks and PubSub, EventSub is a transport-neutral solution for event subscriptions. This approach places focus on defining the event types we deliver to developers and then adding transports (e.g. webhooks, websockets, etc), each of which can be used to access the same list of available events. We built EventSub for two main reasons; to make it faster and easier for us to make event types available to third parties and to make it easier for third-party developers to subscribe to event types using the transport method that makes sense for them. The first version of EventSub supports webhooks and eases many of the development pain points with Twitch Webhooks. In future versions of EventSub, we’ll expand to support more transport methods, like websockets, to unlock the potential for even more Twitch integrations.
EventSub is available today with support for 19 event types, including Cheers, Channel Points, Hype Trains, and Subscriptions, and we have plans for even more coming soon.
We’re excited about the possibilities EventSub unlocks for new Twitch integrations and we can’t wait to see what the developer community creates for Twitch broadcasters and viewers. From simply displaying subscriber notifications to triggering boss fights after Bits usage, there are an endless number of real-time event use cases for you to discover and build for the Twitch community. To get started with EventSub, check out the EventSub documentation.
Twitch API Updates
We’ve also made a few updates to the Twitch API to further assist with migrating applications from legacy versions of the API.
One of the most significant friction points we’re heard from developers directly and in our quarterly surveys is that OAuth scopes in v5 of the API did not map to scopes in the Twitch API. This meant that if you wanted to migrate your application to use the latest endpoints, you would be forced to re-authorize your users. We’re excited to announce that as of today, v5 OAuth scopes now automatically map to Helix OAuth scopes. For a full list of the scope mapping, see our v5 to Helix migration guide in the documentation.
Another convenience we’re pleased to add is a set of API response fields that have been highly requested for Twitch API endpoints. game_name is now included in the response for Get Streams, eliminating the need to make multiple API requests to retrieve this information.
All of today’s updates are the result of the feedback we’ve received from developers like yourself anecdotally or through our quarterly surveys, so thank you for making your voice heard and helping us deliver new products to empower the amazing integrations you contribute to the Twitch community.
Update Nov 18, 2020: Below are Highlights for each section of Developer day, or you can watch the entire Collection of videos in order.
- Twitch Developer Day Keynote with Travis Brown, Anushri Gupta, Eric Cressey, and James Sun
- Developer Spotlights hosted by Jon Bulava
- Warp World - Crowd Control with Jaku
- Better Scenes - Better Points with Rohan Richards
- Mega Cat Studios - Bite the Bullet with James Deighan and Nate Flynn
- Spaceflower - Viewergames Arcade with Michael Hengstmann
- StatsHelix - Twitch Extensions and SDK with Dana Kawar and Moritz Uehling
- Larian Studios - Baldur’s Gate 3 Twitch Extension with Octaff Fieremans and Thomas Tuts
- Rare Limited - Sea of Thieves Drops Campaigns with Jon McFarlane
- Open Forum for Twitch Staff Q&A with Travis Brown, Jamie Catton, Jordan Potter, Jameka March, Mike Chen, Adam Butterfoss, and Ilona Koren-Deutsch
- Live Coders hosted by Mike Chen
- Using the Channel Points API via comfy.js with Instafluff
- Chatbot integration and moderation controls using the Channel Points API with CSharpFritz
- Leveraging the Channel Points API in Minecraft with Dkamps18