Webhooks

Use our webhooks to subscribe to receive notifications for events in Gameball application.

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:

X-GB-Signature: d755uJWQ5U6S7LmgLbg3Fjx9q5MaBW=

Supported Webhook Events

You can retrieve data in JSON format. At the moment, webhooks are available for notification event, while we are working on supporting more events.

Events

Description

Event is sent whenever a new notification is generated for a player

Creating an Endpoint for Webhooks

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.

Configuring Webhooks

You can configure a webhook using Gameball admin dashboard by following the below steps:

  1. From your Gameball admin, go to Admin Settings > Account Integration.

  2. In the Webhooks section, click Edit.

  3. Enter the URL on which you want to receive notifications.

Receiving a Webhook

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.

Verifying Webhooks

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 webhook
else
    //non verified webhook

Check out our next article to learn more about notifications webhook.

Last updated