UKGC Consents

This page outlines how the product specific consents look like. This is an extension of the existing User Consents endpoint.

Request:

GET /userconsents/:userid

Response

{
  "consents": [
    {
      "type": "email",
      "opted_in": false
    },
    {
      "type": "sms",
      "opted_in": true,
      "products": [
        "casino"
      ]
    },
    {
      "type": "siteNotification",
      "opted_in": true,
      "products": [
        "casino",
        "lottery",
        "sports"
      ]
    },
    {
      "type": "telephone",
      "opted_in": true
    },
    {
      "type": "postMail",
      "opted_in": true
    },
    {
      "type": "pushNotification",
      "opted_in": false
    }
  ]
}

opted_in = false = Total opt out of all comms opted_in = true + product = [x] = Player is opted in to channel for product x opted_in = true + product = [x,y] = Player is opted in to channel for product x and y

POST /userconsents/:userid

This endpoint allows you to update a player’s consent preferences for a specific communication channel. You can also optionally specify which products the consent applies to, using the same format as returned in the above endpoint. This endpoint will be used to support Fast Track's unsubscription solution.

{
  "consents": {
    "channel": "email",
    "opted_in": true,
    "products": [
      "casino",
      "sportsbook",
      "lottery"
    ]
  }
}

Overview

The Reconciliation API enables operators to retrieve and synchronize user consent preferences across different communication channels. This update introduces product-specific consents, providing greater flexibility while maintaining consistency with the existing reconciliation process.


✨ New Reconciliation Endpoint for Products

This endpoint needs to be implemented as an addition to the standard reconciliation endpoint as described here - https://www.fasttrack-solutions.com/en/resources/integration/operator-api/reconciliation. This endpoint is only used to update the state of the players in terms of product subscriptions. POST: /reconciliation/products

Body:

{
  "field": "email/sms/siteNotification"
}

Response:

{
  "timestamp": "2025-02-20T12:00:00Z",
  "users": {
    "12345": ["casino"],
    "4567": ["casino", "sports"],
    "8972": ["sports"],
    "125": ["casino", "sports", "lottery"]
  }
}

🚨 Error handling

Should an error occur while streaming the response, we expect you to still return status 200 OK but also include an error field in the response with further details.

Request

{
  "field": "blocked"
}

Response

{
   "error": "timeout"
}

In the case of receiving an unknown field in a request from us, we expect you to return a 501 not implemented.

Last updated

Was this helpful?