Поочередная отправка заявок на разные почтовые адреса
Для того, чтобы разные менеджеры получали разные заявки, и при этом была строгая очередность, нужен небольшой 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
- Менеджер 2
- Менеджер 3
- Менеджер 4
- Менеджер 1
- Менеджер 2
- И так далее
После этого нужно в личном кабинете настроить сценарии интеграций так, чтобы заявки с разным названием формы отправлялись разным менеджерам.