Skip to main content

Requirements for product API

On this page, you will find basic information on how to integrate InTarget

Updated over a week ago

Preferred format is CSV (for large datasets), but JSON is also acceptable.

All timestamps must be in UTC timezone without any exceptions and must be formatted with ISO 8601 standard: https://en.wikipedia.org/wiki/ISO_8601.

Example: YYYY-MM-DD HH:MM:SS

Your web server must correctly see the space in the endpoint URL, which can be represented either by + or %20

Most endpoints receive from and to GET parameters and must respond with rows, whose last modify timestamp is within range >= from and < to (half-closed interval)

In each response, each row must contain the last modification timestamp. Timestamps can’t be decreased.

You can use any authorization method (md5 auth, signature, basic, OAuth, login+password). We only need examples or descriptions of how we can authorize.

Example

Here is an example of how InTarget gets users every hour (could be changed) from your product (Let's name it "SpaceVegas"):

  • At 2020-10-10 08:00:01 InTarget will request the URL: https://space-vegas.com/api/users?from=2020-10-10+07:00:00&to=2020-10-10+08:00:00

  • SpaceVegas must return all users that registered or changed something within this hour (from 07:00 to 08:00). Example:

id

registered_at

modified_at

birthday

email

58013

2020-10-06 02:02:14

2020-10-10 07:58:22

1985-07-10

51153

2020-10-06 11:43:43

2020-10-10 07:12:09

2002-09-06

86603

2017-05-09 02:32:24

2020-10-10 07:20:11

1985-05-27

28748

2016-08-07 18:37:52

2020-10-10 07:47:16

1983-07-07

58477

2020-10-10 07:40:04

2020-10-10 07:40:39

2002-10-10

32135

2019-04-27 11:04:22

2020-10-10 07:23:48

1990-06-22

58557

2020-10-10 07:11:32

2020-10-10 07:11:32

1996-03-12

58570

2020-10-07 19:34:10

2020-10-10 07:03:45

1994-09-07

53316

2020-06-09 04:31:30

2020-10-10 07:24:13

1983-07-02

58208

2020-10-01 07:45:19

2020-10-10 07:42:08

1988-02-19

  • InTarget will save these users (insert newly registered and update old ones)

  • In the next hour, InTarget will go for another batch of users with datetime modification between 2020-10-10 08:00:00 and 2020-10-10 09:00:00 using URL: https://space-vegas.com/api/users?from=2020-10-10+08:00:00&to=2020-10-10+09:00:00

  • InTarget will make the same requests for transactions, wallets, contacts, and game data from SpaceVegas every hour

List of endpoints

Players (Registration + Personal Info Update)

{
"id": "11ecc708-32d5-423b-bd59-7d114c26c979",
"first_name": "Aniyah",
"last_name": "Shanahan",
"gender": "male",
"country": "Liberia",
"city": "North Angusland",
"ip": "242.236.212.175",
"locale": "ro_MD",
"timezone": "Europe/London",
"birthday": "1974-10-17",
"registered_at": "2023-07-20 17:15:38",
"ref_code": "praesentium",
"traffic_source": "Tik-Tok",
"user_agent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.0; Trident/5.1)",
"modified_at": "2023-07-20 15:19:03",
"is_blocked": true,
"status": "Normal",
"self_excluded": false
}

  • id — player ID — required

  • first_name — optional

  • last_name — optional

  • gender — optional

  • country — optional

  • city — optional

  • ip — optional

  • locale — the user's preferred language with the country (en_US, es, etc.) Must be in ISO639 format. https://en.wikipedia.org/wiki/ISO_639 —optional

  • timezone - the user`s timezone according to IANA Time Zone Database

  • birthday — optional

  • registered_at — timestamp with a user registration date — required

  • ref_code —custom string for traffic source detection — optional

  • traffic_source — optional

  • user_agent — optional

  • modified_at — last modified date (must be updated every time the user changes something) — required

  • is_blocked — true if a user was blocked and can’t log in. false - otherwise — optional

  • self_excluded — true if a user should be unsubscribed from all types of communications. false - otherwise — optional

Custom Fields in the "Players" feed

If you have any additional information about your player, we can import them as custom fields with the following data types:

  • Integer

  • Fractional number with two decimal places

  • String

  • Date (YYYY-MM-DD HH:MM:SS)

  • Arrays (tag1, tag2, tag3, etc)

Contacts

{
"player_id": "ec6a17d4-cd16-4d47-a927-711653025f62",
"email": "[email protected]",
"email_confirmed_at": "2023-07-20 21:57:21",
"email_subscribe": false,
"phone": "1-646-244-1503",
"phone_subscribe": true,
"phone_confirmed_at": "2023-07-20 23:59:38",
"push_token": "u2rX45EyFM6zcgFCQCVUNG:V8-TE5bCsEkFxVTDfY2-HJRR9BB2-K8ABrQCrczREbtkGMdOFo_tXg6FytWQHuZNkmWDOLy8cl7QoTFbgZLRaUrnlU_RO7uPBGq53VQEhCVxqbw8CJ7CP6HVBqzKaocWmjWcBwqNqwTt",
"created_at": "2023-07-20 19:57:47",
"modified_at": "2023-07-20 23:27:49"
}
  • player_id — required

  • email — optional

  • email_confirmed_at — timestamp when the email address was confirmed — optional

  • email_subscribe — true if the email is subscribed to any communication, false — otherwise — optional

  • phone — optional

  • phone_subscribe — true if the phone number is subscribed to any communication, false — otherwise — optional

  • phone_confirmed_at — timestamp when the phone number was confirmed— optional

  • push_token — optional

  • created_at — required

  • modified_at — required

Transactions (Deposits, Withdrawals, Bonuses)

{
"id": "99a59fef-79ae-3be9-8517-0a3515b613fe",
"player_id": "0976dfcb-0110-4d5f-af4a-01664dc54f58",
"amount": 969,
"currency": "CVE",
"type": "normal",
"status": "Success",
"payment_system": "VISA",
"dir": "Out",
"ref_code": "odit",
"created_at": "2023-07-20 20:36:43",
"updated_at": "2023-07-20 20:36:43",
"wallet_id": "8BOfUkI3VLm6HoI2b6KnKd0pyim4X6D4",
"requisite": "4916-1553-9365-8",
"comment": "Ullam deserunt nam eos accusantium deserunt enim magnam. Adipisci cupiditate odio pariatur ipsum velit ea. Nostrum illum aut veniam eveniet quo non."
}
  • id — unique transaction identifier — required

  • player_id — required

  • amount — required

  • currency — original currency (USD, EUR, AUD, etc.) — required

  • type — operation type (Normal (Real Money), Prize(Bonus), Compensation, Cashback, Fake (Test), Other) — optional

  • status — transaction current status (New, Process, Success, Fail) — optional

  • payment_system — payment system name — optional

  • dir — balance change direction (IN or OUT) — required

  • ref_code — optional

  • created_at — timestamp when a transaction was created — required

  • updated_at — last modified timestamp (any change in the transaction must affect this date) — required

  • wallet_id — ID of the affected wallet — optional

  • requisite — requisite used in payment (mask card number, email, phone, external wallet, etc.) — optional

  • comment — optional

Logins

{
"id": "e3717c77-3798-3a3d-828c-af00604517b3",
"player_id": "2dc84cf0-bd9d-4415-80a4-c8d4a63f980b",
"ip": "71.35.116.25",
"created_at": "2023-07-20 16:54:01",
"ref_code": "odit",
"traffic_source": "Email",
"user_agent": "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/5.0)",
"host": "https://hessel.com/consequatur-id-quo-et-hic-sunt.html",
"is_success": true
}
  • id — unique login identifier — required

  • player_id — required

  • ip — optional

  • created_at — required

  • ref_code — custom string for referral code detection — optional

  • traffic_source — custom string for traffic source detection — optional

  • user_agent — optional

  • host — real hostname for possible mirrors — optional

  • is_success — 1 if the login was successful, 0 - otherwise — optional

Auto Logins

{
"player_id": "2dc84cf0-bd9d-4415-80a4-c8d4a63f980b",
"login_token": "c58ac9c3-85a9-44af-b3a1-2c49de51139b",
"updated_at": "2023-07-20 16:54:01"
}
  • id — unique login identifier — required

  • player_id — required

  • updated_at — required

How It Works

The Auto Login feed enables automatic authentication of users during message delivery or campaign steps.

When integrated, the system can include a personalized login URL (for example, within an email or push notification), allowing users to access the product instantly without entering credentials.

Wallets (Balances)

{
"id": "-N5xU-htd_BCgT1G-5xR1C5Zo-6POPHO",
"player_id": "b6334f88-16bf-48b5-bf28-171342ad8a04",
"type": "Real",
"balance": 574,
"currency": "UGX",
"created_at": "2023-07-21 00:00:01",
"modified_at": "2023-07-21 02:15:51"
}
  • id — unique wallet identifier — required

  • player_id — required

  • type — operation type, like in transactions (Normal (Real Money), Prize(Bonus), Other) — required

  • balance — balance sum — required

  • currency — the currency of the wallet — required

  • created_at — required

  • modified_at — last modified timestamp (any balance change must affect this date) — required

Bonus Assignments

{
"id": "-N5xU-htd_BCgT1G-5xR1C5Zo-2456",
"player_id": "b6334f88-16bf-48b5-bf28-171342ad8a04",
"bonus_id": "e3717c77-3798-3a3d-828c-af00604517b3",
"end_date": 2023-08-21 02:15:51,
"created_at": 2023-07-21 00:00:01,
"modified_at": 2023-07-21 02:15:51,
"active": 0,
"used": 0
}
  • id — unique bonus assignment identifier — required

  • player_id — unique identifier of the player — required

  • bonus_id — reference to the bonus from Bonus List

  • end_date — expiration date of the bonus assignment

  • created_at — assignment creation timestamp

  • modified_at — last modified timestamp

  • active — status of the assignment (1 = active, 0 = inactive)

  • used — usage flag (1 = already used, 0 = not used)

Bonus List

{
"id": "-N5xU-htd_BCgT1G-5xR1C5Zo-2456",
"name": "Welcome Bonus",
"created_at": 2023-07-21 00:00:01,
"modified_at": 2023-07-21 00:00:01,
}
  • id — unique bonus identifier — required

  • name — bonus name — required

  • created_at — bonus creation timestamp

  • modified_at — last modified timestamp

Casino Game Activity

Endpoint with game activity has its unique approach to fetch all game sessions. There are three steps of data composition:

  1. Find all game session IDs that have at least one action within the time range >=from and <to

  2. Find all past and future actions of this session IDs, disregarding time.

  3. Aggregate all data for each session. There must be one row in result data per one game session.

{
"player_id": "59a83d8c-edf9-461e-aa56-8887085d98a7",
"session_id": "6d13991f-f5ec-311a-9800-e18ad5df19e7",
"game_code": 5,
"game_name": "Lucky Lion",
"currency": "XAF",
"bet_count": 13,
"win_count": 5,
"bet_amount": 65,
"win_amount": 117,
"created_at": "2023-07-20 18:29:47",
"updated_at": "2023-07-20 18:29:47",
"game_vendor": "PARIPLAY",
"balance_type": "normal",
"ip": "223.102.23.37",
"user_agent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_8_6 rv:4.0; nl-NL) AppleWebKit/532.22.3 (KHTML, like Gecko) Version/4.1 Safari/532.22.3",
"ref_code": "qui"
}
  • player_id — required

  • session_id — unique session identifier — required

  • game_code — unique game identifier — optional

  • game_name — required

  • currency — required

  • bet_count — count of all bets in this game session — required

  • win_count — count of all wins in this game session — required

  • bet_amount — the amount of all bets in this game session — required

  • win_amount — the amount of all wins in this game session — required

  • created_at — first action in session timestamp — required

  • updated_at — last action in session timestamp — required

  • game_vendor — optional

  • balance_type — operation type, like in transactions (Normal (Real Money), Prize(Bonus), Other) — optional

  • ip — optional

  • user_agent — optional

  • ref_code — optional

Sports Betting

Sports Betting Tournaments

{
"id": "vlbl-fivb-mens-world-championship",
"name": "FIVB Men's World Championship",
"sport_id": "vlbl",
"sport_name": "Volleyball",
"country_code": "International",
"start_date": "2023-08-28 14:44:03",
"end_date": "2023-08-31 14:44:03"
}
  • id — required

  • name — required

  • sport_id — optional

  • sport_name — optional

  • country_code — optional

  • start_date — required

  • end_date — optional

Sports Betting Events

{
"id": "iihf-match-ice-hockey-world-championship",
"tournament_id": "iihf-ice-hockey-world-championship",
"title": "Bolivia - Peru",
"status": "cancelled",
"start_date": "2023-08-28 14:47:07",
"updated_at": "2023-08-28 15:47:07",
"type": "outright"
}
  • id — required

  • tournament_id — required

  • title — required

  • status — required (not_started, abandoned, suspended, live, ended, closed, delayed, cancelled, unknown, prematch)

  • start_date — required

  • updated_at — optional

  • type — required (match, outright)

Sports Betting Bets

{
"id": "2b2c4cd6-0631-3698-ba04-18dc2935eeca",
"player_id": "11ecc708-32d5-423b-bd59-7d114c26c979",
"status": "arbitrage_accepted",
"type": "single",
"stake": 490,
"win_amount": 442,
"currency": "CUC",
"ref_code": "odit",
"created_at": "2023-07-20 14:03:48",
"modified_at": "2023-07-20 21:10:44"
}
  • id — required

  • player_id — required

  • status — optional (accepted, declined, force_decline, rolled_back, unsettled, place_error, created, arbitrage_accepted, placed, win (won), lost, cashout)

  • type — required

  • stake — optional

  • win_amount — optional

  • currency — optional

  • ref_code — optional

  • created_at — required

  • modified_at— required

Sports Betting Odds

{
"id": "f29525c1-add5-3f7e-862e-a94e4d5ca0ef",
"bet_id": "2b2c4cd6-0631-3698-ba04-18dc2935eeca",
"event_id": "tns-match-europe-tournament",
"ratio": 3.6,
"status": "win",
"market": "Match Result",
"created_at": "2023-07-20 22:42:49",
"updated_at": "2023-07-20 22:42:49"
}
  • id — required

  • bet_id — required

  • event_id — required

  • ratio — optional

  • status — optional (win (won), not_resulted, running, refunded, lost, half_win, cancelled, rejected, half_loss)

  • market — required

  • created_at — required

  • updated_at — required

Supported Cryptocurrencies

Our system supports a specific set of cryptocurrencies:

• BTC (Bitcoin)

• ETH (Ethereum)

• USDT (Tether)

• BNB (Binance Coin)

• SOL (Solana)

• USDC (USD Coin)

• XRP (Ripple)

• DOGE (Dogecoin)

• TON (Toncoin)

• ADA (Cardano)

• SHIB (Shiba Inu)

• AVAX (Avalanche)

• TRX (TRON)

• DOT (Polkadot)

• LINK (Chainlink)

• BCH (Bitcoin Cash)

• UNI (Uniswap)

• MATIC (Polygon)

• LTC (Litecoin)

• NEAR (NEAR Protocol)

Please ensure that all transactions and operations are performed using one of the above-supported cryptocurrencies to avoid any issues.

If the cryptocurrency you need is not listed above, please contact our support team for assistance.

Did this answer your question?