SQL: New advertiser rework
ALTER TABLE `advertisers` ADD `adve_affiliate_operator` VARCHAR(255) NULL DEFAULT NULL AFTER `adve_optional_id`; ALTER TABLE `advertisers` ADD INDEX(`adve_affiliate_operator`);
Branch: patch-2.0.6
New supported scripts
- Million.ro Partners
- Forza.Bet
- BetPanda
- Wolfbet
- Chipstars
- Affiliagency
- BetPartners.io
Minor improvements to 20+ scripts
Improvements to 20+ scripts to better retrieve data.
New advertiser rework
This patch prepares the server for webhooks & notifications.
Webhooks & notifications are currently not available for external clients.
ALTER TABLE `advertisers` ADD `adve_affiliate_operator` VARCHAR(255) NULL DEFAULT NULL AFTER `adve_optional_id`; ALTER TABLE `advertisers` ADD INDEX(`adve_affiliate_operator`);
Dynamic variables
Support for importing dynamic variables and viewing their stats
CREATE TABLE `dynamic_stats` ( `dyst_id` int(11) NOT NULL AUTO_INCREMENT, `dyst_fk_tracker_login` int(11) DEFAULT NULL, `dyst_date` date DEFAULT NULL, `dyst_var` varchar(255) DEFAULT '', `dyst_brand` varchar(100) DEFAULT '', `dyst_cur` varchar(10) DEFAULT '', `dyst_clicks` int(11) DEFAULT 0, `dyst_unique_clicks` int(11) DEFAULT 0, `dyst_signups` int(11) DEFAULT 0, `dyst_active_players` int(11) DEFAULT 0, `dyst_deposits` int(11) DEFAULT 0, `dyst_deposit_value` float DEFAULT 0, `dyst_bonus` float DEFAULT 0, `dyst_net_revenue` float DEFAULT 0, `dyst_revshare` float DEFAULT 0, `dyst_cpa` int(11) DEFAULT 0, `dyst_cpa_commission` float DEFAULT 0, `dyst_depositors` int(11) DEFAULT 0, `dyst_ftd` int(11) DEFAULT 0, `dyst_ndc` int(11) DEFAULT 0, `dyst_qndc` int(11) DEFAULT 0, `dyst_turnover` float DEFAULT 0, `dyst_gross_revenue` float DEFAULT 0, `dyst_extra_fee` float DEFAULT 0, PRIMARY KEY(dyst_id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
Webhooks & E-mail notifications
This patch enables webhooks to be set up and certain e-mail notifications.
Currently not available on external servers, but feel free to execute the query to avoid issues.
ALTER TABLE admins ADD `admi_super` INT NOT NULL DEFAULT '0' AFTER `admi_level`, ADD `admi_subscriptions` TEXT NOT NULL AFTER `admi_created`, ADD `admi_disable_subs` VARCHAR(100) NOT NULL AFTER `admi_created`;
CREATE TABLE IF NOT EXISTS webhooks (
webh_id int(11) NOT NULL AUTO_INCREMENT,
webh_name varchar(255) NOT NULL,
webh_url varchar(255) NOT NULL,
webh_type varchar(100) NOT NULL,
webh_scope varchar(100) NOT NULL,
webh_goal double NOT NULL,
webh_last_triggered date NOT NULL,
webh_recurring int(11) NOT NULL,
webh_column varchar(255) NOT NULL,
webh_error varchar(255) NOT NULL,
webh_http_code varchar(10) NOT NULL,
PRIMARY KEY (webh_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS webhook_links (
weli_id int(11) NOT NULL AUTO_INCREMENT,
weli_fk_webhook int(11) NOT NULL,
weli_fk_site int(11) DEFAULT NULL,
weli_fk_adve int(11) DEFAULT NULL,
weli_fk_login int(11) DEFAULT NULL,
weli_fk_campaign int(11) DEFAULT NULL,
PRIMARY KEY (weli_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS webhook_keys (
weke_id int(11) NOT NULL AUTO_INCREMENT,
weke_name varchar(255) NOT NULL,
weke_key varchar(255) NOT NULL,
PRIMARY KEY (weke_id),
UNIQUE KEY weke_name_unique (weke_name)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE `webhooks_triggered` (
`wetr_id` int(11) NOT NULL AUTO_INCREMENT,
`wetr_fk_webh` int(11) NOT NULL,
`wetr_fk_site` int(11) DEFAULT NULL,
`wetr_fk_adve` int(11) DEFAULT NULL,
`wetr_fk_login` int(11) DEFAULT NULL,
`wetr_fk_ckey` varchar(255) DEFAULT NULL,
`wetr_date` date NOT NULL DEFAULT current_timestamp(),
`wetr_column` varchar(100) NOT NULL,
PRIMARY KEY (wetr_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS custom_notifications (
cuno_id int(11) NOT NULL AUTO_INCREMENT,
cuno_fk_admin int(11) NOT NULL,
cuno_active int(11) NOT NULL DEFAULT 1,
cuno_name varchar(255) NOT NULL,
cuno_type varchar(100) NOT NULL,
cuno_column varchar(255) NOT NULL,
cuno_adveorsite varchar(255) DEFAULT NULL,
cuno_targetgoal double DEFAULT NULL,
cuno_goal_last_reached date DEFAULT NULL,
cuno_recurring int(11) NOT NULL,
cuno_enabled int(11) NOT NULL,
cuno_token varchar(100) NOT NULL,
PRIMARY KEY (cuno_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS custom_notifications_links (
culi_id int(11) NOT NULL AUTO_INCREMENT,
culi_fk_cuno int(11) NOT NULL,
culi_fk_site int(11) DEFAULT NULL,
culi_fk_adve int(11) DEFAULT NULL,
culi_fk_login int(11) DEFAULT NULL,
culi_fk_campaign int(11) DEFAULT NULL,
PRIMARY KEY (culi_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS custom_notifications_sent (
cuse_id int(11) NOT NULL AUTO_INCREMENT,
cuse_fk_cuno int(11) DEFAULT NULL,
cuse_fk_site int(11) DEFAULT NULL,
cuse_fk_adve int(11) DEFAULT NULL,
cuse_fk_login int(11) DEFAULT NULL,
cuse_fk_ckey varchar(255) DEFAULT NULL,
cuse_date date NOT NULL DEFAULT current_timestamp(),
cuse_column varchar(100) NOT NULL,
PRIMARY KEY (cuse_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
Branch: patch-2.0.5
Chained custom functions
Updated custom functions to include other functions in columns to calculate from.
ALTER TABLE `custom_column_functions` ADD `cucf_order` INT NOT NULL DEFAULT '0' AFTER `cucf_y`
Minor improvements to 25+ scripts
Improvements to 25+ scripts to better retrieve data.
Optimizations to reports and API
Optimizations to reports and API in order to decrease load times and provide better and more reliable data, mainly when looking at multiple months of reporting. Including a smoother scrolling in report tables.
API expansion for more CSV
Expansion to the API to provide further options when it comes to CSV downloads.
Campaigns optimizations for different encodings
Campaigns optimizations for different encodings to better present campaigns
Fixed login errors
Corrected issues with how login errors was showed or missing.
Branch: patch-2.0.4
Income Access fix
Fixes to Income Access to get keys in the new version. Includes improvements to activating the API.
Raven fixes
Fixes to Raven in order to import data more effectively.
API improvements
Improvements to the campaign APIs and fields available.
Dashboard improvements
Dashboard improvements to grahps for expected values
Fixes to existing scripts
20+ fixes to scripts across Voonix
Branch: patch-2.0.3
Cellxpert API initial testings
Cellxpert API initial testings
Branch: patch-2.0.2
Maintenance on general features in the system and API
Fixes to the general reports and minor expansions to API
New scripts
- Bitsler Partners
- 7K Partners
- Esportiva Bet Affiliates
- One Affiliate Club
- Traffikongs.com
- Bet and you partners
- Alanbase
- Mostbet
Fixes to existing scripts
20+ fixes to scripts across Voonix
Branch: patch-2.0.1
Data validation
Extend Data validation to include more data and optionally show it on accounts in earnings on Advertiser Login breakdown
ALTER TABLE `tracker_logins_columns` ADD `tlco_campaign_key` VARCHAR(255) NOT NULL AFTER `tlco_fk_login`, ADD `tlco_campaign_name` VARCHAR(255) NOT NULL AFTER `tlco_campaign_key`, ADD `tlco_brand` VARCHAR(255) NOT NULL AFTER `tlco_campaign_name`, ADD `tlco_product` VARCHAR(255) NOT NULL AFTER `tlco_brand`, ADD `tlco_date` VARCHAR(255) NOT NULL AFTER `tlco_product`;
New error code for identical login issues
New error code for identical login issues
INSERT INTO `error_codes` (`erro_key`, `erro_text`) VALUES ('invalid_credentials_identicals', 'Invalid credentials on an identical login');
20+ minor import script updates
We have made minor changes to 20+ import scripts to help get better data.
New affiliate systems supported
New affiliate systems now supported in Voonix:
Branch: patch-2.0.0
Large rework to imports
Important This update includes major updates to imports, we therefor encourage extra care when downloading this. Please make sure to check thoroughly after download to ensure it works. This includes automatic as well as manual imports. This is primarily technical in the background, for more information please have a look at our blog post here.
Handle larger API keys
Change API keys to handle 800 characters for Cloudbet
ALTER TABLE `tracker_logins` CHANGE `tlog_remote_key1` `tlog_remote_key1` VARCHAR(800) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, CHANGE `tlog_remote_key2` `tlog_remote_key2` VARCHAR(800) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;
Import queue & status improvements
Overhaul of the import queue with several new features. queueingmultiple imports and months.
ALTER TABLE `import_queue` ADD `impo_month` DATE NOT NULL AFTER `impo_instance`, ADD `impo_manual` INT NOT NULL AFTER `impo_month`, ADD `impo_fk_tlog` INT NULL AFTER `impo_fk_advertiser`, ADD `impo_data` INT NOT NULL AFTER `impo_manual`,ADD `impo_nodata` INT NOT NULL AFTER `impo_data`, ADD `impo_errors` INT NOT NULL AFTER `impo_nodata`, ADD `impo_paused` INT NOT NULL AFTER `impo_errors`, ADD `impo_fk_admin` INT NULL AFTER `impo_id`, ADD `impo_fk_status` INT NULL AFTER `impo_paused`, ADD `impo_success` INT NOT NULL AFTER `impo_paused`; ALTER TABLE `tracker_logins` ADD `tlog_rows_imported` INT NOT NULL AFTER `tlog_optional_id`; TRUNCATE TABLE import_queue;
Performance improvement
Summary stats to increase performance. New crontab required to "scripts/getUnlinkedCampaignsCount.php?run_script&folder=
CREATE TABLE summary_stats (`sust_id` INT NOT NULL AUTO_INCREMENT , `sust_unlinked_campaigns` INT NOT NULL , PRIMARY KEY (`sust_id`)) ENGINE = InnoDB;
Affiliate Markets functionality
We are slowly beginning to add functionality to the affiliate markets for advertisers. "iGaming" has been discarded, in favor of "All" and a few new markets are added and changed.
UPDATE `advertisers` SET `adve_affiliate_market` = 'All' WHERE `adve_affiliate_market` LIKE 'iGaming'
New currency TRY
We have added the currency TRY.
40+ minor import script updates
We have made minor changes to 40+ import scripts to help get better data.
Branch: patch-1.7.1
MyAffiliates revshare improvements
Improvements to MyAffiliates to get better revshare income for hybrid accounts. This includes languages and additional methods if original ones fail.
GVC Netrevenue improvements
Added GVC Netrevenue options to further improve stats.
New currency added (KES)
Added a new currency to Voonix, KES
1xPartners update
Due to changes in 1xPartners (and their similar whitelabels/brands) we have updated our script to try and better match the accurate data.
Minor updates to 25+ scripts
Minor updates to 25+ scripts
Branch: patch-1.7.0
Import Schedule range increase
The range for import schedule has been increased to stretch even further.
NEW SCRIPT: Bettilt partners
We have created a script for Bettilt Partners to be imported automatically.
MyAffiliates Hybrid change
We have updated MyAffiliates to hopefully work better with hybrid accounts that consists of CPA and REV only tables. If the table in MyAffiliates does not contain a percentage in the billing title/description the script will not assume that it's purely revshare, but rather expect it to be CPA directly. In this case you may see zero earnings in revshare compared to before. This is to avoid CPA income accidentally ending in revshare.
Quints multiple brand IDs (IF!)
If you are using lettered brand IDs you are now able to add multiple to brand ID. You can do so by comma separation like so "NG,BR,JBCL". Note: This does not apply to the numerical IDs in which case it wont work.
Additional note field
We have added an additional note field called extra note to logins. You can use this for anything you might need, if your existing note field is already occupied.
ALTER TABLE `tracker_logins` ADD `tlog_extra_note` TEXT NULL DEFAULT NULL AFTER `tlog_note`;
For any previous patches please visit the link below
We moved parts of the old patches in order to optimize this structure internally. They can all still be found below.
Patches 1 through 1.6 can be found here.