One more update for AlterCPA v 3.0

Another update for version 3.0 of our platform has been released. In fact, small updates come out almost daily, but we are too lazy to write about each one of them.

Serious updates:
– Now you can move orders between companies with the transfer or reset of their processing history. Now, the leads that went the wrong way can be redirected to the right address in two clicks, even if they have already been processed.
– Blocking the company upon reaching the limit of funds in the account. There is no better motivation for your merchants to pay overdue bills than blocking access to orders and the integration mechanism.
– Your affiliates can now apply additional analytics systems in flows: VK and Facebook pixels, Google Tag Manager
– For convenience, we finally enabled automatic tracing of duplicate orders when added. This option is backward compatible with existing integration mechanisms, so you don’t have to bother your resellers.

Miscellaneous minor fixes:
– Analysis of traffic by GEO was added to the internal analytics tools too.
– Fixed error of determining GEO on landings. Only one line is added, and how many problems are left behind …
– We finally abandoned the stream links of the like ?12-34, since they do not work correctly in more than half of the cases.
– Improved the mechanism of the share distribution of incoming orders. The accuracy of the distribution increased. Now you can specify fractional percentages of the distribution. Why not, all of a sudden you have 10k leads every day?

Important! After updating the files, be sure to perform the following SQL query in the database, otherwise the dark side of the force won’t be able to bring you cookies:

ALTER TABLE `cpa_call` ADD `call_geo` CHAR(2) NOT NULL AFTER `call_cur`, ADD INDEX (`call_geo`);
UPDATE `cpa_call` SET call_geo = ( SELECT order_country FROM cpa_order WHERE cpa_order.order_id = cpa_call.order_id );
ALTER TABLE `cpa_call` ADD `call_delivery` TINYINT UNSIGNED NOT NULL AFTER `call_price`, ADD INDEX (`call_delivery`);
UPDATE `cpa_call` SET call_delivery = ( SELECT order_delivery FROM cpa_order WHERE cpa_order.order_id = cpa_call.order_id );
ALTER TABLE `cpa_flow` ADD `flow_fb` VARCHAR(100) NOT NULL AFTER `flow_mtrk`, ADD `flow_vk` VARCHAR(100) NOT NULL AFTER `flow_fb`, ADD `flow_ga` VARCHAR(100) NOT NULL AFTER `flow_vk`;
ALTER TABLE `cpa_cash` ADD `cash_uid` VARCHAR(32) NOT NULL AFTER `cash_time`, ADD INDEX (`cash_uid`);
ALTER TABLE `cpa_comp` ADD `comp_block` INT NOT NULL AFTER `comp_name`;