IGT Lottery Platform

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).

📘

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:

EventTopicProperties
igtl_player_registrationCommandfirst_name, account_status, wallet_status, mobile_number, email, dob, registration_level, registration_date, state
igtl_player_depositCommandcurrent_account_balance, bonus_balance, last_deposit_date
igtl_player_upgradeCommandfirst_name, account_status, wallet_status, dob, registration_level, registration_upgrade_date, state
igtl_player_wagerCommandcurrent_account_balance, bonus_balance, bonus_bag_balance, last_wager_date
igtl_player_winCommandcurrent_account_balance, bonus_balance, bonus_bag_balance
igtl_player_withdrawalCommandcurrent_account_balance, bonus_balance
igtl_player_bonusCommandcurrent_account_balance, bonus_balance, bonus_bag_balance
igtl_player_kycCommandkyc_status, kyc_change_date, account_status, wallet_status
igtl_player_loginCommandlast_login_date, first_login_date
igtl_player_contact_verificationCommandaccount_status, mobile_number, email
igtl_player_change_contract_statusCommandaccount_status, wallet_status
igtl_player_update_notification_preferencesCommandnotification_preferences
igtl_player_unsubscribe_notification_preferencesCommandnotification_preferences
igtl_player_close_accountCommandaccount_status, wallet_status
igtl_player_logoutCommandlast_logout_date
igtl_player_opt-outCommand
igtl_player_updateCommandfirst_name, account_status, dob, state
igtl_player_updatePDPfirst_deposit_date, first_wager_date, lifetime_deposits, lifetime_wagers, lifetime_wins

🚧

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 NameTypeTopic
first_nameStringCommand
igtl_kyc_statusStringCommand
igtl_kyc_change_dateDateTimeCommand
igtl_account_statusStringCommand
igtl_wallet_statusStringCommand
igtl_dobStringCommand
igtl_registration_levelStringCommand
igtl_registration_dateDateTimeCommand
igtl_registration_upgrade_dateDateTimeCommand
igtl_stateStringCommand
igtl_last_login_dateDateTimeCommand
igtl_first_login_dateDateTimeCommand
igtl_current_account_balanceNumberCommand
igtl_bonus_balanceNumberCommand
igtl_bonus_bag_balanceNumberCommand
igtl_last_logout_dateDateTimeCommand
igtl_last_deposit_dateDateTimeCommand
igtl_last_wager_dateDateTimeCommand
igtl_first_deposit_dateDateTimePDP
igtl_first_wager_dateDateTimePDP
igtl_lifetime_depositsNumberPDP
igtl_lifetime_wagersNumberPDP
igtl_lifetime_winsNumberPDPD
igtl_linkTokenStringSecond Chance

👍

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.