Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.
Your webhook endpoint must be an HTTP address capable of processing event notifications. Ensure you implement verification to confirm that requests are coming from Gameball.
{ "event": "customer.notification.push", "client_id": "2155", "customer_id": "webhook-test", "gb_customer_id": 1234, "created_at": "2024-11-12T19:02:24.631Z", "data": [ { "local": "en", "icon": "https://example.com/image.webp", "body": "Your recent activities have been amazing! Keep up the great work and enjoy your rewards!", "title": "Well Done!" }, { "local": "fr", "icon": "https://example.com/image.webp", "body": "Félicitations pour vos réalisations récentes! Continuez comme ça et profitez de vos récompenses!", "title": "Bravo!" } ]}
Here’s how to verify a webhook signature using Node.js:
const crypto = require("crypto");function verifySignature(req) { const SECRET_KEY = process.env.SECRET_KEY; // Get the signature from the header const signature = req.headers["x-gb-signature"]; if (!signature) return false; // Compute the signature using the payload and secret key const payload = JSON.stringify(req.body); const computedSignature = crypto .createHash("sha1") .update(payload + ":" + SECRET_KEY) .digest("hex"); // Compare the signatures return computedSignature === signature;}
Always verify webhook signatures before processing the payload to ensure the security and authenticity of the requests.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Gameball Docs","colors":{"primary":"#FB5819","light":"#FFD800","dark":"#F5DB5B"},"logo":{"light":"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/light.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=aecb464405fc6a468704d3da3cedc5ae","dark":"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/dark.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=05dec1e7bb58ddf654926789347480f2"},"favicon":"https://mintcdn.com/gameball/DyB0l4Pe2M9HXiFz/favicon.svg?fit=max\u0026auto=format\u0026n=DyB0l4Pe2M9HXiFz\u0026q=85\u0026s=2159e3f87590969ecc17da52bd808257","api":{"playground":{"display":"interactive","proxy":true},"examples":{"languages":["curl","javascript","python","csharp","go","php","java"]}},"navbar":{"links":[{"href":"mailto:support@gameball.co","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.gameball.co/"}},"footer":{"socials":{"facebook":"https://www.facebook.com/Gameball.co","linkedin":"https://www.linkedin.com/company/gameball"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"global":{"anchors":[{"anchor":"Gameball Website","icon":"globe","href":"https://gameball.co/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.gameball.co/blog"},{"anchor":"Case Studies","icon":"briefcase","href":"https://www.gameball.co/case-study"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gameball","hasAudioNarration":false,"actualSubdomain":"gameball","customDomains":["docs.gameball.co"],"gitSource":{"type":"github","owner":"gameballers","repo":"gameball-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae77047d14d2161b5f1aa39","collectionId":"4ab5a5df-ae42-4575-80c1-b07b31f8cefa","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae77047d14d2161b5f1aa39"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae77047d14d2161b5f1aa39","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Product Docs","count":233},{"language":"default","tag":"Product Documentation","count":233},{"language":"default","tag":"Installation","count":130},{"language":"default","tag":"API reference","count":97},{"language":"default","tag":"API documentation","count":92},{"language":"default","tag":"Mobile Integration","count":85},{"language":"default","tag":"Technical Tutorials","count":55},{"language":"default","tag":"Rewards Campaigns","count":50},{"language":"default","tag":"Web \u0026 POS Integration","count":43},{"language":"default","tag":"Apps \u0026 Integrations","count":30}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".nav-logo,.nav-logo img{width:auto!important;height:40px!important;max-height:40px!important}.nav-logo img{object-fit:contain!important}.security-banner{display:flex;align-items:flex-start;gap:.75rem;background:rgba(239,68,68,.25);border:1px solid rgba(239,68,68,.5);border-left:4px solid #ef4444;padding:1rem;border-radius:.5rem;margin:1rem 0}.security-banner-icon{font-size:1.25rem;color:#ef4444;flex-shrink:0;line-height:1.5}.security-banner-content{flex:1;font-size:.9375rem;line-height:1.6;color:inherit}.security-banner-content strong{font-weight:600;color:inherit}.security-banner-content code{background:rgba(239,68,68,.15);color:#dc2626;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em;font-family:monospace}"}],"page":{"pagePath":"api-reference/webhooks/subscribing","slug":"/api-reference/webhooks/subscribing","pageMetadata":{"title":"Subscribing to Webhooks","description":"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.","href":"/api-reference/webhooks/subscribing"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`creating-an-endpoint-for-webhooks`,children:`Creating an Endpoint for Webhooks`}),`\n`,_jsx(_components.p,{children:`Your webhook endpoint must be an HTTP address capable of processing event notifications. Ensure you implement verification to confirm that requests are coming from Gameball.`}),`\n`,_jsx(Heading,{level:`3`,id:`configuring-webhooks`,children:`Configuring Webhooks`}),`\n`,_jsxs(_components.p,{children:[`To subscribe to webhooks through the `,_jsx(_components.strong,{children:`Gameball Dashboard`}),`, follow these steps:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Navigate to the Settings`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Admin Settings > Account Integration`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Edit the Webhooks Section`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Webhooks`}),` section, click `,_jsx(_components.strong,{children:`Edit`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enter the Endpoint URL`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Provide the URL where you want to receive event notifications.`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select the Webhook Version`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Choose `,_jsx(_components.strong,{children:`V4`}),` from the version dropdown.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://873157020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FElcuAgxn15Pk6F2fINKe%2Fuploads%2FOB3GyqZyoKENnAJMmEmt%2Fimage.png?alt=media\u0026token=bcb92a03-033e-4074-ae89-3a336503da3e`,alt:`Configuring Webhooks in Gameball Dashboard`}),`\n`,_jsx(Heading,{level:`3`,id:`receiving-a-webhook`,children:`Receiving a Webhook`}),`\n`,_jsx(_components.p,{children:`After registering your webhook URL, Gameball will send an HTTP POST request with JSON data to your specified endpoint whenever the event occurs.`}),`\n`,_jsx(Heading,{level:`4`,id:`example-webhook-payload`,children:`Example Webhook Payload:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`21`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"customer.notification.push\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"client_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2155\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"webhook-test\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"gb_customer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1234`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-11-12T19:02:24.631Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"local\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"icon\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/image.webp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"body\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Your recent activities have been amazing! Keep up the great work and enjoy your rewards!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Well Done!\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"local\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"fr\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"icon\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/image.webp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"body\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Félicitations pour vos réalisations récentes! Continuez comme ça et profitez de vos récompenses!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bravo!\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`verifying-webhooks`,children:`Verifying Webhooks`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`To ensure the webhook request is from Gameball, verify the `,_jsx(_components.code,{children:`X-GB-Signature`}),` header. This signature is a SHA1 hash of the payload and your `,_jsx(_components.strong,{children:`SecretKey`}),`.`]})}),`\n`,_jsx(_components.p,{children:`By comparing the computed hash with the signature header, you can confirm the request’s authenticity.`}),`\n`,_jsx(Heading,{level:`3`,id:`example-verification-code`,children:`Example Verification Code`}),`\n`,_jsx(_components.p,{children:`Here’s how to verify a webhook signature using Node.js:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` crypto`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` require`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"crypto\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` verifySignature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` SECRET_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`SECRET_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Get the signature from the header`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`headers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-gb-signature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`];`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`signature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`return`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Compute the signature using the payload and secret key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` payload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` computedSignature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` crypto`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createHash`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sha1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`update`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`payload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \":\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` SECRET_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`digest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hex\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Compare the signatures`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` computedSignature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` signature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Always verify webhook signatures before processing the payload to ensure the security and authenticity of the requests.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Subscribing to Webhooks","description":"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.","href":"/api-reference/webhooks/subscribing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Creating an Endpoint for Webhooks","slug":"creating-an-endpoint-for-webhooks","depth":2,"children":[{"title":"Configuring Webhooks","slug":"configuring-webhooks","depth":3,"children":[]},{"title":"Receiving a Webhook","slug":"receiving-a-webhook","depth":3,"children":[]},{"title":"Example Webhook Payload:","slug":"example-webhook-payload","depth":4,"children":[]}]},{"title":"Verifying Webhooks","slug":"verifying-webhooks","depth":2,"children":[{"title":"Example Verification Code","slug":"example-verification-code","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"gameball","siteName":"Gameball Docs","title":"Subscribing to Webhooks - Gameball Docs","navMaps":{"firstHrefInVersion":{"v4.0":{"href":"/api-reference/webhooks/subscribing","matchLevel":0},"v4.1":{"href":"/api-reference/introduction-v4.1","matchLevel":3},"SDK v3":{"href":"/installation-guides/v3","matchLevel":4},"SDK v2":{"href":"/installation-guides/v2/index","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-01-25T11:24:07.773Z","originalFileLocation":"api-reference/webhooks/subscribing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Gameball Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Subscribing to Webhooks - Gameball Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Gameball Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gameball.co/api-reference/webhooks/subscribing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gameball.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Subscribing+to+Webhooks\u0026amp;description=Webhooks+allow+your+app+to+receive+near-real-time+updates+about+events+happening+in+Gameball.+By+setting+up+a+webhook%2C+you+can+stay+informed+and+take+immediate+\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=47cfcb4a53a1da03aaa071123d3679a5369554b36efb71dfb5495861719fc677\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Subscribing to Webhooks - Gameball Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gameball.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Subscribing+to+Webhooks\u0026amp;description=Webhooks+allow+your+app+to+receive+near-real-time+updates+about+events+happening+in+Gameball.+By+setting+up+a+webhook%2C+you+can+stay+informed+and+take+immediate+\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=47cfcb4a53a1da03aaa071123d3679a5369554b36efb71dfb5495861719fc677\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Gameball Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FB5819\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gameball.co/api-reference/webhooks/subscribing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhooks/subscribing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gameball.co/#organization\",\"name\":\"Gameball Docs\",\"url\":\"https://docs.gameball.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/light.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=aecb464405fc6a468704d3da3cedc5ae\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gameball.co#website\",\"name\":\"Gameball Docs\",\"url\":\"https://docs.gameball.co\",\"publisher\":{\"@id\":\"https://docs.gameball.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gameball.co/api-reference/webhooks/subscribing#webpage\",\"url\":\"https://docs.gameball.co/api-reference/webhooks/subscribing\",\"name\":\"Subscribing to Webhooks\",\"description\":\"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\",\"dateModified\":\"2026-01-25T11:24:07.773Z\",\"isPartOf\":{\"@id\":\"https://docs.gameball.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gameball.co/api-reference/webhooks/subscribing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gameball.co/api-reference/webhooks/subscribing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Webhooks\",\"item\":\"https://docs.gameball.co/api-reference/webhooks/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Subscribing to Webhooks\",\"item\":\"https://docs.gameball.co/api-reference/webhooks/subscribing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.gameball.co/api-reference/webhooks/subscribing#article\",\"headline\":\"Subscribing to Webhooks\",\"name\":\"Subscribing to Webhooks\",\"description\":\"Webhooks allow your app to receive near-real-time updates about events happening in Gameball. By setting up a webhook, you can stay informed and take immediate action when specific events occur.\",\"url\":\"https://docs.gameball.co/api-reference/webhooks/subscribing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gameball.co/api-reference/webhooks/subscribing#webpage\"},\"dateModified\":\"2026-01-25T11:24:07.773Z\",\"publisher\":{\"@id\":\"https://docs.gameball.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gameball.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Gameball Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Gameball Docs","nav":{"global":{"anchors":[{"anchor":"Gameball Website","icon":"globe","href":"https://gameball.co/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.gameball.co/blog"},{"anchor":"Case Studies","icon":"briefcase","href":"https://www.gameball.co/case-study"}]},"tabs":[{"tab":"Product Docs","pages":[{"title":"Product Docs","href":"/product-documentation/getting-started/what-is-gameball"}]},{"tab":"Installation","versions":[{"version":"SDK v3","default":true,"groups":[{"group":"Overview","pages":[{"title":"Installation Guide (SDK v3)","href":"/installation-guides/v3"}]},{"group":"Web \u0026 POS Integration","pages":[{"group":"Web","pages":[{"title":"Web SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/web/index"},{"title":"How Do I Get Started with the Web SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/web/getting-started"},{"title":"How Do I Initialize the Customer Widget in the Web SDK (v3)?","sidebarTitle":"Initialize Gameball Customer Widget","href":"/installation-guides/v3/web/initialize-widget"},{"title":"How Do I Manage Customers with the Web SDK (v3)?","sidebarTitle":"Customer Management","href":"/installation-guides/v3/web/customer-management"},{"title":"How Do I Track Customer Events with the Web SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/web/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the Web SDK (v3)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v3/web/track-orders"},{"title":"How Do I Integrate Points Redemption with the Web SDK (v3)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v3/web/integrate-redemption"},{"title":"How Do I Track Referrals with the Web SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/web/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the Web SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/web/in-app-messaging"},{"title":"How Do I Complete the Go-Live Checklist for the Web SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/web/go-live-checklist"}]},{"group":"POS","pages":[{"title":"Gameball POS Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/pos/index"},{"title":"How Do I Get Started and Set Up the API for Gameball POS (v3)?","sidebarTitle":"Getting Started \u0026 API Setup","href":"/installation-guides/v3/pos/getting-started"},{"title":"How Do I Identify the Customer with Gameball POS (v3)?","sidebarTitle":"Identify the Customer","href":"/installation-guides/v3/pos/customer-management"},{"title":"How Do I Show the Customer Balance with Gameball POS (v3)?","sidebarTitle":"Show Customer Balance","href":"/installation-guides/v3/pos/customer-balance"},{"title":"How Do I Track Orders and Earn Points with Gameball POS (v3)?","sidebarTitle":"Track Orders \u0026 Earn Points","href":"/installation-guides/v3/pos/track-orders"},{"title":"How Do I Redeem Points at Checkout with Gameball POS (v3)?","sidebarTitle":"Redeem Points at Checkout","href":"/installation-guides/v3/pos/integrate-redemption"},{"title":"How Do I Refund an Order with Gameball POS (v3)?","sidebarTitle":"Refund Order","href":"/installation-guides/v3/pos/refund-order"},{"title":"How Do I Fetch Order Details with Gameball POS (v3)?","sidebarTitle":"Fetch Order Details","href":"/installation-guides/v3/pos/fetch-order-details"},{"title":"How Do I Track Events with Gameball POS (v3)?","sidebarTitle":"Track Events","href":"/installation-guides/v3/pos/track-events"},{"title":"How Do I Track Referrals with Gameball POS (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/pos/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for Gameball POS (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/pos/go-live-checklist"}]}]},{"group":"Mobile Integration","pages":[{"group":"iOS","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"iOS SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/ios/index"},{"title":"How Do I Get Started with the iOS SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/ios/getting-started"},{"title":"How Do I Initialize the iOS SDK (v3)?","sidebarTitle":"SDK Initialization","href":"/installation-guides/v3/ios/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the iOS SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/ios/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the iOS SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/ios/show-profile"},{"title":"How Do I Track Customer Events with the iOS SDK (v3)?","sidebarTitle":"Track Events","href":"/installation-guides/v3/ios/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Set Up Push Notifications in the iOS SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/ios/push-notifications"},{"title":"How Do I Track Referrals with the iOS SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/ios/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the iOS SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/ios/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the iOS SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/ios/go-live-checklist"},{"title":"How Do I Migrate to the iOS SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/ios/migration-notes"}]}]},{"group":"Android","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"Android SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/android/index"},{"title":"How Do I Get Started with the Android SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/android/getting-started"},{"title":"How Do I Initialize the Android SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/android/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the Android SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/android/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the Android SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/android/show-profile"},{"title":"How Do I Track Customer Events with the Android SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/android/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Set Up Push Notifications in the Android SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/android/push-notifications"},{"title":"How Do I Track Referrals with the Android SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/android/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the Android SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/android/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the Android SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/android/go-live-checklist"},{"title":"How Do I Migrate to the Android SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/android/migration-notes"}]}]},{"group":"Flutter","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"Flutter SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/flutter/index"},{"title":"How Do I Get Started with the Flutter SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/flutter/getting-started"},{"title":"How Do I Initialize the Flutter SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/flutter/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the Flutter SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/flutter/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the Flutter SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/flutter/show-profile"},{"title":"How Do I Track Customer Events with the Flutter SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/flutter/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Track Referrals with the Flutter SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/flutter/track-referrals"},{"title":"How Do I Set Up Push Notifications in the Flutter SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/flutter/push-notifications"},{"title":"How Do I Set Up In-App Messaging in the Flutter SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/flutter/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the Flutter SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/flutter/go-live-checklist"},{"title":"How Do I Migrate to the Flutter SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/flutter/migration-notes"}]}]},{"group":"React Native","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"React Native SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/react-native/index"},{"title":"How Do I Get Started with the React Native SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/react-native/getting-started"},{"title":"How Do I Initialize the React Native SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/react-native/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the React Native SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/react-native/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the React Native SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/react-native/show-profile"},{"title":"How Do I Track Customer Events with the React Native SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/react-native/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Track Referrals with the React Native SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/react-native/track-referrals"},{"title":"How Do I Set Up Push Notifications in the React Native SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/react-native/push-notifications"},{"title":"How Do I Set Up In-App Messaging in the React Native SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/react-native/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the React Native SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/react-native/go-live-checklist"},{"title":"How Do I Migrate to the React Native SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/react-native/migration-notes"}]}]}]}]},{"version":"SDK v2","pages":[{"title":"SDK v2","href":"/installation-guides/v2/index"}]}]},{"tab":"Technical Tutorials","pages":[{"title":"Technical Tutorials","href":"/tutorials/general/welcome"}]},{"tab":"API reference","versions":[{"version":"v4.0","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"group":"Overview","pages":[{"title":"What's New in V4.0","href":"/api-reference/overview/whats-new"},{"title":"Authentication","href":"/api-reference/overview/authentication"},{"title":"Rate Limiting","href":"/api-reference/overview/rate-limiting"},{"title":"Status and Error Codes","href":"/api-reference/overview/status-error-codes"}]},{"group":"Customers","pages":[{"title":null,"href":"/api-reference/customers/customers"},{"group":"Management","pages":[{"title":"Create/Update Customer","openapi":"POST /api/v4.0/integrations/customers","href":"/api-reference/customers/management/create-customer"},{"title":"Get Customer","openapi":"GET /api/v4.0/integrations/customers/{customerId}","href":"/api-reference/customers/management/get-customer"},{"title":"Get Customer Details","openapi":"GET /api/v4.0/integrations/customers/{customerId}/details","href":"/api-reference/customers/management/get-customer-details"},{"title":"Get Customer Coupons","openapi":"GET /api/v4.0/integrations/customers/{customerId}/coupons","href":"/api-reference/customers/management/get-customer-coupons"},{"title":"Update Customer Activation","openapi":"PUT /api/v4.0/integrations/customers/{customerId}/activate","href":"/api-reference/customers/management/update-customer-activation"},{"title":"Delete Customer","openapi":"DELETE /api/v4.0/integrations/customers/{customerId}","href":"/api-reference/customers/management/delete-customer"},{"title":"Get Customer Hash","openapi":"GET /api/v4.0/integrations/customers/{customerId}/hash","href":"/api-reference/customers/management/get-customer-hash"},{"title":"Validate Referrer Code","openapi":"GET /api/v4.0/integrations/referrals/validate","href":"/api-reference/customers/management/validate-referrer-code"},{"title":"Achieve Social Campaign","openapi":"POST /api/v4.0/integrations/customers/social-challenges","href":"/api-reference/customers/management/achieve-social-campaign"}]},{"group":"Progress","pages":[{"title":"Customer Balance","openapi":"GET /api/v4.0/integrations/customers/{customerId}/balance","href":"/api-reference/customers/progress/get-customer-balance"},{"title":"Customer Tier Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/tier-progress","href":"/api-reference/customers/progress/get-customer-progress"},{"title":"Customer Campaigns Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/reward-campaigns-progress","href":"/api-reference/customers/progress/get-customer-campaigns-progress"},{"title":"Customer Referrals","openapi":"GET /api/v4.0/integrations/customers/{customerId}/referrals","href":"/api-reference/customers/progress/get-customer-referrals"},{"title":"Customer Referrals Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/referrals/count","href":"/api-reference/customers/progress/get-customer-referrals-count"},{"title":"Customer Activities","openapi":"GET /api/v4.0/integrations/customers/{customerId}/activities","href":"/api-reference/customers/progress/get-customer-activities"},{"title":"Customer Activities Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/activities/count","href":"/api-reference/customers/progress/get-customer-activities-count"},{"title":"Customer Automation Campaigns","openapi":"GET /api/v4.0/integrations/customers/{customerId}/automation","href":"/api-reference/customers/progress/get-customer-automation-campaigns"},{"title":"Customer Stamps Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/stamps/{challengeId}","href":"/api-reference/customers/progress/get-customer-action-streak-progress"},{"title":"Customer Daily Streak Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/streaks/{campaignId}","href":"/api-reference/customers/progress/get-customer-daily-streak-progress"}]},{"group":"Tags","pages":[{"title":"Attach Customer Tags","openapi":"POST /api/v4.0/integrations/customers/{customerId}/tags","href":"/api-reference/customers/tags/attach-customer-tags"},{"title":"Remove Customer Tags","openapi":"DELETE /api/v4.0/integrations/customers/{customerId}/tags","href":"/api-reference/customers/tags/remove-customer-tag"}]},{"group":"Notifications","pages":[{"title":"Customer Notifications","openapi":"GET /api/v4.0/integrations/customers/{customerId}/notifications","href":"/api-reference/customers/notifications/list-customer-notifications"},{"title":"Customer Notifications Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/notifications/count","href":"/api-reference/customers/notifications/get-customer-notifications-count"},{"title":"Mark Notifications Read","openapi":"PUT /api/v4.0/integrations/customers/{customerId}/notifications/read","href":"/api-reference/customers/notifications/mark-notifications-read"}]}]},{"group":"Events","pages":[{"title":"Send Events","openapi":"POST /api/v4.0/integrations/events","href":"/api-reference/events/send-events"},{"title":"Preview Event Rewards","openapi":"POST /api/v4.0/integrations/events/reward-preview","href":"/api-reference/events/preview-event-rewards"}]},{"group":"Order","pages":[{"title":"Order","href":"/api-reference/order/order"},{"title":"Order Tracking","openapi":"POST /api/v4.0/integrations/orders","href":"/api-reference/order/order-tracking"},{"group":"Order Rewards \u0026 History","pages":[{"title":"Calculate Order Cashback","openapi":"POST /api/v4.0/integrations/orders/cashback","href":"/api-reference/order/calculate-order-cashback"},{"title":"Preview Order Rewards","openapi":"POST /api/v4.0/integrations/orders/reward-preview","href":"/api-reference/order/preview-order-rewards"},{"title":"Order Points Breakdown","openapi":"GET /api/v4.0/integrations/orders/{orderId}/points-breakdown","href":"/api-reference/order/order-points-breakdown"},{"title":"Order Transactions","openapi":"GET /api/v4.0/integrations/orders/{orderId}/transactions","href":"/api-reference/order/order-transactions"}]}]},{"group":"Payment","pages":[{"title":"Payment","href":"/api-reference/payment/payment"},{"title":"Payment Tracking","openapi":"POST /api/v4.0/integrations/payments","href":"/api-reference/payment/payment-tracking"},{"group":"Payment Rewards \u0026 History","pages":[{"title":"Calculate Payment Cashback","openapi":"POST /api/v4.0/integrations/payments/cashback","href":"/api-reference/payment/calculate-payment-cashback"}]}]},{"group":"Transactions","pages":[{"title":"Transactions","href":"/api-reference/transactions/transactions"},{"group":"Cashback \u0026 Redemptions","pages":[{"title":"Cashback \u0026 Redemptions","href":"/api-reference/transactions/cashback-and-redemptions/index"},{"title":"Redeem Points","openapi":"POST /api/v4.0/integrations/transactions/redeem","href":"/api-reference/transactions/cashback-and-redemptions/redeem"},{"title":"Cashback","openapi":"POST /api/v4.0/integrations/transactions/cashback","href":"/api-reference/transactions/cashback-and-redemptions/cashback"},{"title":"Refund","openapi":"POST /api/v4.0/integrations/transactions/refund","href":"/api-reference/transactions/cashback-and-redemptions/refund"}]},{"group":"Hold Management","pages":[{"title":"Hold Management","href":"/api-reference/transactions/hold-management/index"},{"title":"Hold Points","openapi":"POST /api/v4.0/integrations/transactions/hold","href":"/api-reference/transactions/hold-management/hold"},{"title":"Release Hold","openapi":"DELETE /api/v4.0/integrations/transactions/hold/{holdReferenceId}","href":"/api-reference/transactions/hold-management/release"},{"title":"Get Hold Details","openapi":"GET /api/v4.0/integrations/transactions/hold/{holdReferenceId}","href":"/api-reference/transactions/hold-management/get-hold"}]},{"group":"Transaction Management","pages":[{"title":"Transaction Management","href":"/api-reference/transactions/transaction-management/index"},{"title":"List Transactions","openapi":"GET /api/v4.0/integrations/transactions","href":"/api-reference/transactions/transaction-management/list-transactions"},{"title":"Transactions with Customer Data","openapi":"GET /api/v4.0/integrations/transactions/customer-view","href":"/api-reference/transactions/transaction-management/customer-view"},{"title":"Transaction Count","openapi":"GET /api/v4.0/integrations/transactions/count","href":"/api-reference/transactions/transaction-management/count"},{"title":"Add Manual Transaction","openapi":"POST /api/v4.0/integrations/transactions/manual","href":"/api-reference/transactions/transaction-management/manual-transaction"},{"title":"Activate Transaction","openapi":"PUT /api/v4.0/integrations/transactions/{transactionId}/activate","href":"/api-reference/transactions/transaction-management/activate"}]},{"group":"Transaction Validation","pages":[{"title":"Transaction Validation","href":"/api-reference/transactions/transaction-validation/index"},{"title":"Generate OTP","openapi":"POST /api/v4.0/integrations/transactions/otp","href":"/api-reference/transactions/transaction-validation/generate-otp"}]}]},{"group":"Coupons","pages":[{"title":"Coupons API","sidebarTitle":"Coupons","href":"/api-reference/coupons/coupons"},{"title":"Generate Coupon","openapi":"POST /api/v4.0/integrations/coupons/predefined","href":"/api-reference/coupons/generate-coupon"},{"title":"Validate Single Coupon","openapi":"POST /api/v4.0/integrations/coupons/{code}/validate","href":"/api-reference/coupons/validate-single-coupon"},{"title":"Validate Multiple Coupons","openapi":"POST /api/v4.0/integrations/coupons/validate","href":"/api-reference/coupons/validate-multiple-coupons"},{"title":"Burn Coupon","openapi":"POST /api/v4.0/integrations/coupons/burn","href":"/api-reference/coupons/burn-coupon"},{"title":"Release Coupons","openapi":"DELETE /api/v4.0/integrations/coupons/{lockReference}","href":"/api-reference/coupons/release-coupons"},{"title":"Automatic Coupons","openapi":"POST /api/v4.0/integrations/coupons/automatic","href":"/api-reference/coupons/automatic-coupons"}]},{"group":"Configurations","pages":[{"title":"Configurations","href":"/api-reference/configurations/configurations"},{"group":"Reward Configurations","pages":[{"title":"Reward Configurations","href":"/api-reference/configurations/reward-configurations/index"},{"title":"Cashback Configurations","openapi":"GET /api/v4.0/integrations/configurations/cashback","href":"/api-reference/configurations/reward-configurations/cashback-settings"},{"title":"Redemption Configurations","openapi":"GET /api/v4.0/integrations/configurations/redemption","href":"/api-reference/configurations/reward-configurations/redemption-settings"},{"title":"Coupon Configurations","openapi":"GET /api/v4.0/integrations/configurations/coupon","href":"/api-reference/configurations/reward-configurations/coupon-settings"},{"title":"Update Coupon Configurations","openapi":"PUT /api/v4.0/integrations/configurations/coupon","href":"/api-reference/configurations/reward-configurations/update-coupon-settings"}]},{"group":"Program Configurations","pages":[{"title":"Program Configurations","href":"/api-reference/configurations/program-configurations/index"},{"title":"Campaigns Configurations","openapi":"GET /api/v4.0/integrations/configurations/reward-campaigns","href":"/api-reference/configurations/program-configurations/campaigns"},{"title":"Tiers Configurations","openapi":"GET /api/v4.0/integrations/configurations/tiers","href":"/api-reference/configurations/program-configurations/vip-tiers"},{"title":"Referrals Configurations","openapi":"GET /api/v4.0/integrations/configurations/referrals","href":"/api-reference/configurations/program-configurations/referral-settings"}]},{"title":"Get Widget Configurations","openapi":"GET /api/v4.0/integrations/configurations/widget","href":"/api-reference/configurations/widget-configuration/index"}]},{"group":"Leaderboard","pages":[{"title":"Customer Leaderboard","openapi":"GET /api/v4.0/integrations/leaderboard","href":"/api-reference/leaderboard/customer-leaderboard"}]},{"group":"Batches","pages":[{"title":"Batches","href":"/api-reference/batches/batches"},{"group":"Batch Creation","pages":[{"title":"Batch Creation","href":"/api-reference/batches/batch-creation/index"},{"title":"Create Customers Batch Job","openapi":"POST /api/v4.0/integrations/batch/customers","href":"/api-reference/batches/batch-creation/customer-data"},{"title":"Track Orders Batch Job","openapi":"POST /api/v4.0/integrations/batch/orders","href":"/api-reference/batches/batch-creation/orders"},{"title":"Order Transactions Batch Job","openapi":"POST /api/v4.0/integrations/batch/orders/transactions","href":"/api-reference/batches/batch-creation/order-transactions"},{"title":"Balance Inquiry Batch Job","openapi":"POST /api/v4.0/integrations/batch/balance-inquiry","href":"/api-reference/batches/batch-creation/balance-inquiries"},{"title":"Balance Adjustment Batch Job","openapi":"POST /api/v4.0/integrations/batch/balance-adjustment","href":"/api-reference/batches/batch-creation/adjustments"},{"title":"Reward Cashback Batch Job","openapi":"POST /api/v4.0/integrations/batch/cashback","href":"/api-reference/batches/batch-creation/cashback-rewards"},{"title":"Redeem Batch Job","openapi":"POST /api/v4.0/integrations/batch/redeem","href":"/api-reference/batches/batch-creation/redemptions"},{"title":"Send Events Batch Job","openapi":"POST /api/v4.0/integrations/batch/events","href":"/api-reference/batches/batch-creation/events"}]},{"group":"Batch Management","pages":[{"title":"Batch Management","href":"/api-reference/batches/batch-management/index"},{"title":"Check Batch Status","openapi":"GET /api/v4.0/integrations/batches/{batchId}/status","href":"/api-reference/batches/batch-management/check-status"},{"title":"Stop Batch Execution","openapi":"POST /api/v4.0/integrations/batches/{batchId}/stop","href":"/api-reference/batches/batch-management/stop-execution"}]}]}]},{"group":"Webhooks","pages":[{"title":"Overview","description":"Learn how to use Gameball webhooks to receive real-time updates","href":"/api-reference/webhooks/overview"},{"title":"Subscribing to Webhooks","href":"/api-reference/webhooks/subscribing"},{"group":"Webhook Topics","pages":[{"title":"Webhook Topics","description":"Available webhook events to keep your systems updated in near-real-time","href":"/api-reference/webhooks/webhook-topics"},{"title":"Customer Notifications Webhook","sidebarTitle":"Customer Notifications","href":"/api-reference/webhooks/webhook-topics/notifications"},{"title":"Customer Profile Updates","href":"/api-reference/webhooks/webhook-topics/profile-updates"}]}]}]},{"version":"v4.1","pages":[{"title":"v4.1","href":"/api-reference/introduction-v4.1"}]}]},{"tab":"Updates","pages":[{"title":"Updates","href":"/changelog/updates"}]}]},"basePath":"","title":"Subscribing to Webhooks - Gameball Docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-eHyQ0tlO.js","lightbox-handle-r17bVUz3.js"]}