Требуется создать 2 скрипта для работы по CRON на обычном хостинге (скорее всего beget)
1. Планируемый интервал 1 час. Должен парсить по API весь перечень койнов в JSON со значениями с сайта
coinmarketcap.com/all/vie... .
Пример:
api.coinmarketcap.com/v1/... Документация у них есть.
Результат записывать в Таблицу БД coins. Поля БД = кол-во и название полей в отдаваемом файле. Каждый койн отдельная запись. Проверяем по id, name, symbol и обновляем значения, если не найдена создаем и записываем данные.
Дополнительно должны быть поля:
maxprice_usd каждую загрузку сравниваем, если текущая цена выше обновляем.
maxprice_date при изменении предыдущего поля ставим текущую дату
available_coins заполняется пользователем вручную кол-во койнов для расчета. Дефолтное пустое значение.
sum_coins_usd вычисляем каждую загрузку цена в USD на кол-во
sum_coins_rub вычисляем каждую загрузку sum_coins_usd на курс из таблицы настроек
max_sum_coins_usd вычисляем каждую загрузку maxprice_usd на кол-во
trigger_sum триггер для срабатывания в сумме в долларах. Дефолтное пустое поле. Если sum_coins_usd > trigger_sum, добавляем строку в е-майл аларм с указанием причины (помечаем саму ячейку).
trigger_price_usd триггер для срабатывания по цене в долларах. Дефолтное пустое поле. Если price_usd > trigger_price_usd, добавляем строку в е-майл аларм с указанием причины (помечаем саму ячейку).
trigger_price_btc триггер для срабатывания по цене в BTC. Дефолтное пустое поле. Если price_btc > trigger_price_btc, добавляем строку в е-майл аларм с указанием причины (помечаем саму ячейку).
trigger_percent_1h триггер для срабатывания в процентах. Дефолтное пустое поле. Если поле percent_change_1h > заданного в этой ячейке, добавляем строку в е-майл аларм с указанием причины (помечаем саму ячейку).
trigger_percent_24h аналогично предыдущему
trigger_percent_7d аналогично предыдущему
comment для комментариев
В случае ошибок отправлять описание ошибок на е-майл из таблицы настроек.
Таблица настроек:
kurs_USD курс USD заполняется и меняется вручную
email e-mail для отправки отчетов
2. Скрипт формирует таблицу (должна открываться в экселе, либо возможность копировать в него с экрана), включает:
для ежедневной рассылки только записи, содержащие отличные от нуля значения поля available_coins
3. Такой же, но для аларм рассылки высылает только записи, вызвавшие события. Собираем все в 1 письмо и отправляем. Аларм скрипт будет запускаться после работы парсера (например раз в час).
Все нужно откомментировать, чтобы потом можно было менять, не вникая глубоко и не выискивая где что.
Сумму и сроки выполнения указывайте.