IGT Lottery Platform

Prev Next

Link your IGTL account to Xtremepush

The International Game Technology Lottery (IGTL) integration gives Xtremepush users a way to link their IGTL account directly to their Xtremepush project, which enables the functionality of both platforms to work seamlessly together.

Can't see this option?

The IGT Lottery Platform integration isn't enabled by default. If you wish you enable it, please contact us.

This integration is based on Apache Kafka. IGTL exposes a stream of event and user profile data that Xtremepush can connect to in order to read the stream and use in functionality in the Xtremepush platform.

The main functionality available includes:

  • eDraw: winning numbers from daily draw updates

  • Second Chance: link token data for profiles qualifying for second chance campaigns

  • Command / PDP PAM: profile events containing attribute value changes

Integration approval

Once you create a new IGTL integration, you will need to contact us to get it approved. It will stay in an Awaiting Approval status until it gets approved by us.

Once the integration is created, it cannot be edited. To make changes to the integration, create a new integration from scratch.

Pre-requisites

The IGTL Platform integration uses the Xtremepush Subscription Preference functionality to keep the user's profile subscription preferences in sync with Command so that the data received via the Command Kafka stream can be stored in Xtremepush. Contact us to enable this feature.

eDraw

The eDraw integration can be connected independently of the Comand PAM and can be used solely as way to pull a daily summary of winning lottery numbers. Enter your IGTL account credentials as well as a name for the integration so you can easily find it later.

Once connected, the eDraw feed provides a single daily summary event containing the winning numbers from all the IGT Lottery draws from that day. For an example of the event payload see below:

{
    "summaryDay": 1696723200000,
    "drawSummaries": [
        {
            "nextDraw ": {
                "productId ": 8,
                "drawNumber ": 42,
                "drawSchedule ": {
                    "drawTime": 1696913234000,
                    "salesOpenTime": 1696654044000,
                    "salesCloseTime": 1696913174000
                }
            },
            "estimatedJackpot": 50000
        },
        {
            "productId ": 9,
            "prevDrawsResults ": [
                {
                    "draw ": {
                        "productId ": 9,
                        "drawNumber ": 198,
                        "drawName ": "EVENING ",
                        "drawSchedule ": {
                            "drawTime ": 1696727834000,
                            "salesCloseTime ": 1696727774000
                        }
                    },
                    "drawResultsSets ": [
                        {
                            "resultsSetId ": 1,
                            "mainNumbers ": [
                                9,
                                1,
                                2
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Triggering a campaign with the eDraw Event

To trigger a campaign in real-time when receiving the event from the eDraw feed, navigate to Settings > Integrations > Marketplace > Configured integrations and click on the IGTL card > Overview to map the event name to the API campaign you would like to trigger. This campaign will now be sent to any profiles who meet the segmentation on the selected campaign at the point of the event being received.

Using the eDraw event properties

The event passed with eDraw is in JSON format and can be iterated by using dynamic content within a campaign by using the {{ event.property }} syntax, going down as many nested levels as required in order to include the desired value. For more details review our dynamic content dedicated guide.

Second chance

The Second Chance integration is connected by default using the same credentials as eDraw and is available as soon as the eDraw integration has been done.

The system is responsible for updating a single attribute value against any profile which qualifies for the second chance on any given day. The profile attribute which is updated with the link token is igtl_linkToken and can be used in the content of a campaign to build a personalised link for every player.

Command & PDP details

The Command and PDP platform integrations are combined to provide a real-time sync between the Player Access Management (PAM) tools and Xtremepush. The sync passes events into Xtremepush as they happen. Each event contains a payload which Xtremepush maps to custom attributes against user profiles.

The Command & PDP sync is optional; if your player data is coming from elsewhere then you do not need to use the integration in order to use the eDraw and Second Change features.

To connect the Command account, check the box on the IGT Command Settings section and enter the required credentials.

When initially connecting to Command & PDP all the available events and attributes are automatically created in the Xtremepush project. This allows you to start setting up campaigns and selecting these values even before data starts to stream through the integration. Events and attributes are visible from the Data Manager page (accessible through Data > Data Manager).

You must configure either the E-Draw or the Command integration.

Command synced data

All events and attributes synchronised from the IGTL integration are prefixed with igtl\_ to visually separate them from other events and attributes.

IGT lottery synced data

The full list of events that can be received via the integration and the properties which are mapped to attributes are as follows:

Event

Topic

Properties

igtl_player_registration

Command

first_name, account_status, wallet_status, mobile_number, email, dob, registration_level, registration_date, state

igtl_player_deposit

Command

current_account_balance, bonus_balance, last_deposit_date

igtl_player_upgrade

Command

first_name, account_status, wallet_status, dob, registration_level, registration_upgrade_date, state

igtl_player_wager

Command

current_account_balance, bonus_balance, bonus_bag_balance, last_wager_date

igtl_player_win

Command

current_account_balance, bonus_balance, bonus_bag_balance

igtl_player_withdrawal

Command

current_account_balance, bonus_balance

igtl_player_bonus

Command

current_account_balance, bonus_balance, bonus_bag_balance

igtl_player_kyc

Command

kyc_status, kyc_change_date, account_status, wallet_status

igtl_player_login

Command

last_login_date, first_login_date

igtl_player_contact_verification

Command

account_status, mobile_number, email

igtl_player_change_contract_status

Command

account_status, wallet_status

igtl_player_update_notification_preferences

Command

notification_preferences

igtl_player_unsubscribe_notification_preferences

Command

notification_preferences

igtl_player_close_account

Command

account_status, wallet_status

igtl_player_logout

Command

last_logout_date

igtl_player_opt-out

Command

igtl_player_update

Command

first_name, account_status, dob, state

igtl_player_update

PDP

first_deposit_date, first_wager_date, lifetime_deposits, lifetime_wagers, lifetime_wins

igtl_player_self_exclusion

Command

igtl_player_self_exclusion_removal

Command

The igtl_player_update event can be received from both Command and PDP topics but it contains slightly different properties as described on the table.

All possible attributes which can be received across all events are as follows:

Attribute Name

Type

Topic

first_name

String

Command

igtl_kyc_status

String

Command

igtl_kyc_change_date

DateTime

Command

igtl_account_status

String

Command

igtl_wallet_status

String

Command

igtl_dob

String

Command

igtl_registration_level

String

Command

igtl_registration_date

DateTime

Command

igtl_registration_upgrade_date

DateTime

Command

igtl_state

String

Command

igtl_last_login_date

DateTime

Command

igtl_first_login_date

DateTime

Command

igtl_current_account_balance

Number

Command

igtl_bonus_balance

Number

Command

igtl_bonus_bag_balance

Number

Command

igtl_last_logout_date

DateTime

Command

igtl_last_deposit_date

DateTime

Command

igtl_last_wager_date

DateTime

Command

igtl_first_deposit_date

DateTime

PDP

igtl_first_wager_date

DateTime

PDP

igtl_lifetime_deposits

Number

PDP

igtl_lifetime_wagers

Number

PDP

igtl_lifetime_wins

Number

PDPD

igtl_linkToken

String

Second Chance

igtl_self_exclusion_expiry

DateTime

Command

Using IGT lottery platform for personalisation and segmentation

  • Event properties {{event.property}} or attribute values {{igtl_attribute}} can be used in message content.

  • Event properties and attribute values can be used in segmentation.

Adding new events and attributes to the feed

If new events become available from IGTL Command, then these are automatically created in the Xtremepush project, also prefixed withigtl\_.

However, if new attributes become available in Command, the Xtremepush team needs to add them. Contact us so that we can log a request with our development team to have the mappings added. Any attribute value received with an event not already known by the integration is ignored and not mapped.

Receiving preference data

When an event is received from Command it can optionally contain preference data for that profile. This typically is added only if there has been a change to one of the profiles' preferences. If at least one preference has changed then Command will send ALL subscription preferences to Xtremepush, which will then pick these up and update the preferences against the profile to match. If the profile didn't have a subscription preference then a new one will be created and set on receipt from Command.

Xtremepush will only update values against the profile if it has changed from the value we already have. This is to prevent an audit trail which shows lots of updates but no changes.

If the overall channel subscription status is set to unsubscribed when a preference for the same channel is received as true, then the overall subscription status will also be updated to subscribed so that messages to be sent on that channel can be targeted.