Extension Bits Transaction Create
The extension.bits_transaction.create subscription type sends a notification when a new transaction is created for a Twitch Extension.
This subscription type is only supported by Webhooks and Conduits, and cannot be used with WebSockets.
Subscription
- Type
extension.bits_transaction.create- Version
1
Authorization
Requires one of the following:
- An app access token.The OAuth token Client ID must match the Extension Client ID.
Subscription Request Body
typeStringRequiredThe subscription type name:extension.bits_transaction.create.versionStringRequiredThe subscription type version:1.conditionObjectRequiredSubscription-specific parameters. Pass in the Extension client ID you want to receive Bits transaction notifications for.Hide child attributesShow child attributes
condition.extension_client_idStringRequiredThe client ID of the extension.
transportObjectRequiredTransport-specific parameters.Hide child attributesShow child attributes
transport.methodStringRequiredThe transport method for EventSub.Possible values
webhookwebsocketconduit
transport.callbackStringThe callback URL where notifications are sent. The URL must use the HTTPS protocol and port 443. See Processing an Event.
Specify this field only if method is set to webhook.
NOTE: Redirects are not followed.
transport.secretStringThe secret used to verify the signature. The secret must be an ASCII string that's a minimum of 10 characters long and a maximum of 100 characters long. For information about how the secret is used, see Verifying the event message.
Specify this field only if the method is set to webhook.
transport.session_idStringAn ID that identifies the WebSocket to send notifications to. When you connect to EventSub using WebSockets, the server returns the ID in the Welcome message.
Specify this field only if the method is set to websocket.
transport.conduit_idStringAn ID that identifies the conduit to send this notification to. When you create a conduit, the server returns the ID in the API response.
Specify this field only if the method is set to conduit.
Event Payload
subscriptionObjectMetadata about the subscription.Hide child attributesShow child attributes
subscription.idStringThe Subscription ID of the subscription.subscription.typeStringThe notification's subscription type.subscription.versionStringThe version of the subscription.subscription.statusStringThe status of the subscription.subscription.costIntegerHow much the subscription counts against your limit. See Subscription Limits for more information.subscription.conditionObjectSubscription-specific parameters.Hide child attributesShow child attributes
subscription.condition.extension_client_idStringThe client ID of the extension.
subscription.created_atStringThe time the notification was created.subscription.transportObjectTransport-specific parameters.Hide child attributesShow child attributes
subscription.transport.methodStringThe transport method for EventSub.Possible values
webhookwebsocketconduit
subscription.transport.callbackStringThe callback URL where notifications are sent. The URL must use the HTTPS protocol and port 443. See Processing an Event.
Specify this field only if method is set to webhook.
NOTE: Redirects are not followed.
subscription.transport.secretStringThe secret used to verify the signature. The secret must be an ASCII string that's a minimum of 10 characters long and a maximum of 100 characters long. For information about how the secret is used, see Verifying the event message.
Specify this field only if the method is set to webhook.
subscription.transport.session_idStringAn ID that identifies the WebSocket to send notifications to. When you connect to EventSub using WebSockets, the server returns the ID in the Welcome message.
Specify this field only if the method is set to websocket.
subscription.transport.conduit_idStringAn ID that identifies the conduit to send this notification to. When you create a conduit, the server returns the ID in the API response.
Specify this field only if the method is set to conduit.
eventObjectThe event information.Hide child attributesShow child attributes
event.extension_client_idStringClient ID of the extension.event.idStringTransaction ID.event.broadcaster_user_idStringThe transaction's broadcaster ID.event.broadcaster_user_loginStringThe transaction's broadcaster login.event.broadcaster_user_nameStringThe transaction's broadcaster display name.event.user_idStringThe transaction's user ID.event.user_loginStringThe transaction's user login.event.user_nameStringThe transaction's user display name.event.productObjectAdditional extension product information.Hide child attributesShow child attributes
event.product.nameStringProduct name.event.product.bitsIntegerBits involved in the transaction.event.product.skuStringUnique identifier for the product acquired.event.product.in_developmentBooleanFlag indicating if the product is in development. Ifin_developmentis true,bitswill be 0.
{
"type": "extension.bits_transaction.create",
"version": "1",
"condition": {
"extension_client_id": "deadbeef"
},
"transport": {
"method": "webhook",
"callback": "https://example.com/webhooks/callback",
"secret": "s3cRe7"
}
}{
"type": "extension.bits_transaction.create",
"version": "1",
"condition": {
"extension_client_id": "deadbeef"
},
"transport": {
"method": "conduit",
"conduit_id": "bfcfc993-26b1-b876-44d9-afe75a379dac"
}
}{
"subscription": {
"id": "f1c2a387-161a-49f9-a165-0f21d7a4e1c4",
"type": "extension.bits_transaction.create",
"version": "1",
"status": "enabled",
"cost": 0,
"condition": {
"extension_client_id": "deadbeef"
},
"transport": {
"method": "webhook",
"callback": "https://example.com/webhooks/callback"
},
"created_at": "2019-11-16T10:11:12.634234626Z"
},
"event": {
"id": "bits-tx-id",
"extension_client_id": "deadbeef",
"broadcaster_user_id": "1337",
"broadcaster_user_login": "cool_user",
"broadcaster_user_name": "Cool_User",
"user_name": "Coolest_User",
"user_login": "coolest_user",
"user_id": "1236",
"product": {
"name": "great_product",
"sku": "skuskusku",
"bits": 1234,
"in_development": false
}
}
}