Задача:
На основе сервиса определения региона по ipv4 от dadata.ru сделать на сайте запуск разных сценариев коллтрекинга (по номерам) от roistat.com в зависимости от региона посетителя.
Как примерно оно должно работать:
В файле .js на стороне клиента (получает при загрузке сайта)
Смотрим есть ли у посетителя наша кука с ip, временем создания и данными по региону и городу.
Если куки нет, или она просрочена, или ip не совпадает, то отправляем ip на наш сервер, где лежит php скрипт, получаем от него регион и город и пишем в куку с прочей инфой (время, ip, регион, город). После чего переходим к определению номера используемого сценария роистат.
Если же кука есть, создана менее 3 дней назад и ip в куке совпадает с ip посетителя, то переходим к определению номера используемого сценария роистат.
Определение номера используемого сценария роистат (на стороне клиента с помощю нашего js скрипта):
Проверяем есть ли в заданном списке (находится в js файле) полученный регион. Если есть, то включаем соответствующий ему сценарий, а если нет, то запускаем сценарий по умолчанию.
Инструкция к роистат
В файле .php на сервере (обеспечить работу под php 7.1)
При получении ip от js скрипта идём сначала в кэш, а если там нет значения, идём на dadata.ru, получаем данные, отправляем в js и пишем в кэш. Ходим с помощью curl. Кэш можно писать в текстовый файл с очисткой записей старше 3 дней.
Инструкция к dadata