Скрипт парсер JSON по API в MySQL и обработчик в е-майл

Бюджет: по договоренности
Требуется создать 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 письмо и отправляем. Аларм скрипт будет запускаться после работы парсера (например раз в час).

Все нужно откомментировать, чтобы потом можно было менять, не вникая глубоко и не выискивая где что.

Сумму и сроки выполнения указывайте.
Опубликован 24.10.2017 в 16:12

Выберите способ верификации:

Обновите страницу после прохождения верификации.