You can use webhook subscriptions to receive notifications for particular events in Gameball. After you have subscribed to a webhook, your app can execute a specific code immediately after specific events occur in Gameball. Common webhook use cases include sending notifications to IM clients and pagers.
After you configure a webhook subscription, the events that you specified will trigger a webhook notification each time they occur. This notification contains a JSON payload, and HTTP headers that provide context. Webhook includes the following header with example value:
You can retrieve data in JSON format. At the moment, webhooks are available for notification event, while we are working on supporting more events.
Event is sent whenever a new notification is generated for a player
Your endpoint must be an HTTP webhook address that can correctly process event notifications as described. You must also implement verification to make sure webhook requests originate from Gameball.
You can configure a webhook using Gameball admin dashboard by following the below steps:
From your Gameball admin, go to Admin Settings > Account Integration.
In the Webhooks section, click Edit.
Enter the URL on which you want to receive notifications.
After you register a webhook URL, Gameball issues an HTTP POST request to the URL specified every time that event occurs. The request's POST parameters contain JSON data relevant to the event that triggered the request.
Webhooks are verified by calculating a digital signature. Each webhook request includes a base 64 encoded X-GB-Signature header, which is hashed using the TransactionsKey along with the data sent in the request. You can find more about base 64 encoding here, if you are unfamiliar.
To verify that the request came from Gameball, compute the SHA1 digest according to the following algorithm and compare it to the value in the X-GB-Signature header. If they match, then it is s verified webhook from Gameball.
calculated_sha1 = Base64.encode(sha1.ComputeHash(JSON_Payload+':'+TransactionsKey))if(calculated_sha1 == Headers['X-GB-Signature'])//verified webhookelse//non verified webhook
Check out our next article to learn more about notifications webhook.