Поочередная отправка заявок на разные почтовые адреса

Для того, чтобы разные менеджеры получали разные заявки, и при этом была строгая очередность, нужен небольшой PHP-скрипт round-robin.php, размещенный на стороннем хостинге.

Вот его код:

<?php
$group = $_GET['group'];
$total = intval($_GET['total']);
$data = json_decode(file_get_contents('./round-robin.json'));
if (!isset($data->$group)) $data->$group = 1;
if ($_GET['next'] === 'true') {
if ($data->$group === $total) {
$data->$group = 1;
} else {
$data->$group += 1;
}
file_put_contents('./round-robin.json', json_encode($data));
}
print 'window._round_robin = ' . $data->$group;

Рядом со скриптом нужно создать файл round-robin.json с содержанием {"current":1}.

Далее на тех страницах, заявки с которых должны распределяться между менеджерами нужно добавить код:

<script>
cr.api(function (page) {
var url = 'https://example.com/round-robin.php?group=main&total=4';
(function reload() {
$.getScript(url, function () {
setTimeout(reload, 500);
});
})();
page.lazy('.cr-form', function (el) {
var form = page.getComponent(el);
setInterval(function () {
if (window._round_robin) {
form.setName('Менеджер ' + window._round_robin);
} else {
form.setName('Менеджер 1');
}
}, 100);
});
page.once('form-submit', function (event) {
$.getScript(url + '&next=true');
});
});
</script>

В коде нужно заменить example.com на ваш домен, куда вы поместили скрипт.

Этот скрипт меняет название формы после каждой успешной отправки, в следующей очередности:

  1. Менеджер 1
  2. Менеджер 2
  3. Менеджер 3
  4. Менеджер 4
  5. Менеджер 1
  6. Менеджер 2
  7. И так далее

После этого нужно в личном кабинете настроить сценарии интеграций так, чтобы заявки с разным названием формы отправлялись разным менеджерам.