WebHook receive status on subscription

Err no, to clarify, you make a HTTP post, to which you get a HTTP 204 Created, no body.
Twitch then sends a GET challenge request to you callback and then you reply to that callback with the challenge.

Then you will get body content posted to you when the state of the stream changes.

You can’t that’s would invalidate the description of the stream status topic, it sends data when it the stream changes.

  1. Use timestamp comparison.
  2. A webhook payload is a direct representation of the Helix endpoint of the same URL.

You subscribe to https://api.twitch.tv/helix/streams?user_id=foo when Twitch sends a webhook for that topic, then the helix response for that topic will be the same as what you just got POSTed, so there shouldn’t be such a condition.

And in my experience I’ve not seen this as most of my systems, use webhooks but still do backup helix/kraken long polls to compare and I’ve not seen a mismatch of what the webhook sends and my helix cache of the same topic.

Well you need the stream_id in order to account for the user renaming their twitch account. And ID’s are better overall for lookups to avoid snafu’s if users change their names.

But for me I usually have been oAuth authenticate before I start a (webhook) subscription, so I have their UserID in the response to authentication.