Цель учебного проекта, создание сервиса синхронизации email адресов.
Стек: php 7.4,MYSQL 8.0,beanstalkd.
Для создания/изменения схемы базы мы используем миграции phpmig
Для взаимодействия с базой используем ORM Eloquent
Для создания консольных команд Laminas CLI
Реализовано на mezzio.
Скачайте или выполните команду по клонирование проекта:
git clone https://github.com/jaygent/SyncAmoCRM_Unisender
Установка composer зависимостей
$ composer install
Запуск докер контейнеров
$ docker-compose up -d
Запуск миграций
$ vendor/bin/phpmig migrate
Контакты синхронизуются при первой установки интеграции в AmoCRM, так же модуль выполняет автоматическую подписку на веб-хук. Дальнейшее добавление,изменение,удаление контактов в AmoCRM, приводит к автоматической синхронизации данных в Unisendere. По дефолту сервис создает в Unisendere список Amo в который и происходит синхронизация.
Добавляет в сервис очередей сообщение с текущим временем
$ vendor/bin/laminas how-timeДобавляет в сервис очередей пользователей у которых срок действия токена исткает через N часов
$ vendor/bin/laminas update-token -t NЗапускает worker для вывода даты и времени из сервиса очередей
$ vendor/bin/laminas worker:timeЗапускает worker для обновления токенов из сервиса очередей
$ vendor/bin/laminas worker:update-tokenТак же имеется возможность обновлять токены по cron
$ crontab crontab