Skip to content

Instantly share code, notes, and snippets.

@jperelli
Created December 3, 2025 12:40
Show Gist options
  • Select an option

  • Save jperelli/495e2b225b3640cfcda318c5edfd9cfb to your computer and use it in GitHub Desktop.

Select an option

Save jperelli/495e2b225b3640cfcda318c5edfd9cfb to your computer and use it in GitHub Desktop.
{
"$ref": "#/definitions/CloudEventEnvelopeRewardDelivered",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"Amount": {
"additionalProperties": false,
"properties": {
"currency": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"value",
"currency"
],
"type": "object"
},
"BonusDetails": {
"additionalProperties": false,
"properties": {
"bonusCategory": {
"enum": [
"cashBonus",
"amountBonus",
"freePlayBonus",
"freeSpinsBonus"
],
"type": "string"
},
"bonusId": {
"type": "number"
},
"bonusPublicName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/Settings"
}
},
"required": [
"bonusId",
"bonusPublicName",
"bonusCategory",
"settings"
],
"type": "object"
},
"BonusGranted": {
"properties": {
"bonusAmount": {
"$ref": "#/definitions/Amount"
},
"bonusDetails": {
"$ref": "#/definitions/BonusDetails"
},
"campaignDetails": {
"$ref": "#/definitions/CampaignDetail"
},
"comment": {
"type": "string"
},
"customerId": {
"type": "string"
},
"depositAmount": {
"$ref": "#/definitions/Amount"
},
"depositDetails": {
"$ref": "#/definitions/DepositDetails"
},
"eventDetails": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"eventType": {
"const": "level-up",
"type": "string"
},
"levelId": {
"type": "number"
},
"manualApprovalRewardId": {
"type": "string"
},
"manuallyApproved": {
"type": "boolean"
}
},
"required": [
"eventType",
"levelId"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"boostId": {
"type": "string"
},
"description": {
"type": "string"
},
"eventType": {
"const": "daily-races",
"type": "string"
},
"handle": {
"type": "number"
},
"rank": {
"type": "number"
},
"rewardDate": {
"type": "string"
},
"rewardOfferId": {
"type": "number"
},
"type": {
"const": "Daily Races",
"type": "string"
}
},
"required": [
"amount",
"boostId",
"description",
"eventType",
"handle",
"rank",
"rewardDate",
"rewardOfferId",
"type"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"boostId": {
"type": "string"
},
"description": {
"type": "string"
},
"eventType": {
"const": "click-claim",
"type": "string"
},
"rewardDate": {
"type": "string"
},
"rewardOfferId": {
"type": "number"
}
},
"required": [
"amount",
"description",
"rewardDate",
"boostId",
"rewardOfferId",
"eventType"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"bonusType": {
"$ref": "#/definitions/BonusType"
},
"campaignPublicName": {
"type": "string"
},
"eventType": {
"const": "deposit-bet-get",
"type": "string"
}
},
"required": [
"amount",
"bonusType",
"campaignPublicName",
"eventType"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"attemptNumber": {
"type": "number"
},
"currentClaimedAmount": {
"type": "number"
},
"eventType": {
"const": "reload",
"type": "string"
},
"numberOfClaims": {
"type": "number"
},
"totalAmount": {
"type": "number"
}
},
"required": [
"eventType",
"numberOfClaims",
"attemptNumber",
"totalAmount",
"currentClaimedAmount"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"eventType": {
"const": "iwinback",
"type": "string"
},
"queueId": {
"type": "string"
}
},
"required": [
"amount",
"eventType",
"queueId"
],
"type": "object"
}
]
},
"expirationDate": {
"type": "string"
},
"lockedAmount": {
"$ref": "#/definitions/Amount"
},
"requiredRollover": {
"$ref": "#/definitions/RequiredRollover"
},
"tenantId": {
"type": "number"
},
"transactionDate": {
"type": "string"
},
"transactionId": {
"type": "string"
},
"triggerDetails": {
"$ref": "#/definitions/TriggerDetails"
},
"userId": {
"type": "string"
}
},
"required": [
"transactionDate",
"customerId",
"bonusAmount",
"expirationDate",
"requiredRollover",
"campaignDetails",
"bonusDetails"
],
"type": "object"
},
"BonusType": {
"enum": [
"amountBonus",
"percentageDepositBonus",
"freeBetBonus",
"freePlayBonus",
"freeSpinsBonus",
"percentageDepositFreeBetBonus",
"percentageDepositFreePlayBonus",
"fixedDepositBonus",
"variableAmountBonus",
"variableAmountFreePlayBonus",
"cashBonus",
"variableAmountCashBonus",
"variableAmountFreeBetBonus"
],
"type": "string"
},
"CampaignDetail": {
"additionalProperties": false,
"properties": {
"campaignId": {
"type": "number"
},
"campaignPublicName": {
"type": "string"
},
"campaignTypeCode": {
"type": "string"
},
"productType": {
"type": "string"
},
"promotionDetails": {
"$ref": "#/definitions/PromotionDetails"
}
},
"required": [
"campaignId",
"campaignPublicName",
"campaignTypeCode",
"productType"
],
"type": "object"
},
"Casino": {
"additionalProperties": false,
"properties": {
"allowed": {
"type": "boolean"
},
"allowedGameCategories": {},
"allowedGamesByVendor": {
"items": {
"$ref": "#/definitions/GamesByVendor"
},
"type": "array"
},
"excludedGameCategories": {},
"excludedGamesByVendor": {
"items": {
"$ref": "#/definitions/GamesByVendor"
},
"type": "array"
}
},
"required": [
"allowed"
],
"type": "object"
},
"CloudEventEnvelopeRewardDelivered": {
"additionalProperties": false,
"properties": {
"data": {
"additionalProperties": false,
"properties": {
"campaignMatchedId": {
"type": "number"
},
"error": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"businessError": {
"type": "boolean"
},
"message": {
"type": "string"
},
"stack": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"businessError",
"type",
"stack",
"message"
],
"type": "object"
},
{
"type": "null"
}
]
},
"eventDetails": {
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"eventType": {
"type": "string"
}
},
"required": [
"amount",
"eventType"
],
"type": "object"
},
"reward": {
"$ref": "#/definitions/BonusGranted"
},
"success": {
"type": "boolean"
},
"walletResponse": {
"additionalProperties": false,
"properties": {
"isError": {
"type": "boolean"
},
"payload": {
"additionalProperties": false,
"properties": {
"bonusWalletID": {
"type": "number"
},
"message": {
"type": "string"
},
"rc": {
"type": "number"
}
},
"required": [
"bonusWalletID",
"rc",
"message"
],
"type": "object"
},
"status": {
"type": "number"
}
},
"required": [
"status",
"payload",
"isError"
],
"type": "object"
}
},
"required": [
"error",
"eventDetails",
"reward",
"success",
"walletResponse"
],
"type": "object"
},
"datacontenttype": {
"type": "string"
},
"eventbucket": {
"$ref": "#/definitions/EVENT_BUCKET"
},
"id": {
"type": "string"
},
"sagaversion": {
"type": "string"
},
"source": {
"anyOf": [
{
"$ref": "#/definitions/CloudEventSource"
},
{
"type": "string"
}
]
},
"specversion": {
"type": "string"
},
"subject": {
"anyOf": [
{
"$ref": "#/definitions/CloudEventSubject"
},
{
"type": "string"
},
{
"type": "null"
}
]
},
"time": {
"type": "string"
},
"triggerStatus": {
"$ref": "#/definitions/TRIGGER_STATUS"
},
"type": {
"const": "reward-delivered",
"type": "string"
}
},
"required": [
"id",
"source",
"specversion",
"type"
],
"type": "object"
},
"CloudEventSource": {
"enum": [
"internal",
"https://www.betonline.ag",
"string_not_internal/typescript_unsolved",
"origin",
"https://iwinback.itspty.com",
"svc://saga-casino-events",
"urn:bff:betonline"
],
"type": "string"
},
"CloudEventSubject": {
"enum": [
"Click Reward",
"Optin",
"Bet",
"Reload",
"IWinBack",
"Cash Drop Code"
],
"type": "string"
},
"DepositDetails": {
"additionalProperties": false,
"properties": {
"paymentReference": {
"type": "string"
}
},
"type": "object"
},
"EVENT_BUCKET": {
"enum": [
"massive",
"single"
],
"type": "string"
},
"GamesByVendor": {
"additionalProperties": false,
"properties": {
"games": {},
"vendorId": {
"type": "number"
}
},
"type": "object"
},
"ProductSetting": {
"additionalProperties": false,
"properties": {
"casino": {
"$ref": "#/definitions/Casino"
},
"sports": {
"$ref": "#/definitions/Sport"
}
},
"type": "object"
},
"PromotionDetails": {
"additionalProperties": false,
"properties": {
"promotionReference": {
"type": "string"
},
"promotionType": {
"type": "string"
}
},
"required": [
"promotionType",
"promotionReference"
],
"type": "object"
},
"RequiredRollover": {
"additionalProperties": false,
"properties": {
"currency": {
"type": "string"
},
"rolloverTimes": {
"type": "number"
},
"value": {
"type": "number"
}
},
"required": [
"currency",
"value"
],
"type": "object"
},
"Settings": {
"additionalProperties": false,
"properties": {
"freeSpinsDaysToExpire": {
"type": "number"
},
"maxBetAmount": {
"$ref": "#/definitions/Amount"
},
"maxReleaseAmount": {
"$ref": "#/definitions/Amount"
},
"productSettings": {
"$ref": "#/definitions/ProductSetting"
},
"spinsBrandId": {
"type": "number"
},
"templateId": {
"type": "number"
},
"totalSpins": {
"type": "number"
}
},
"required": [
"productSettings"
],
"type": "object"
},
"Sport": {
"additionalProperties": false,
"properties": {
"allowed": {}
},
"type": "object"
},
"TRIGGER_STATUS": {
"enum": [
"SENT",
"ERROR",
"PENDING",
"SENT_TO_DAPR_OK",
"SENT_TO_DAPR_ERROR",
"PENDING_SENT_TO_DAPR"
],
"type": "string"
},
"TriggerDetails": {
"additionalProperties": false,
"properties": {
"triggerReference": {
"type": "string"
},
"triggerType": {
"type": "string"
}
},
"required": [
"triggerReference",
"triggerType"
],
"type": "object"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment