Интеграция курсов валют

Начиная с версии 3.14.0 enterprise, можно производить синхронизацию курсов валют с использованием микросервиса интеграции.

Происходит все по следующей схеме (позже будут даны более подробные шаги):

  1. Зашедуленный execution для currency-rates синхронизации запускает по заданному в настройках крону.

  2. Получает данные из сервиса, предоставляющего валюты (url задается в настройках датасорса).

  3. Парсит данные в зависимости валюты, для которой происходит интеграция (сейчас доступны: рубль, гривна).

  4. Передает данные в CurrensyRateDAO в комьюнити, где происходит создание нод (если найдена запись по переданной дате+базовой валюте+конвертируемой валюте - обновляется, а не создается).

Инструкция для получения курсов валют с ЦБ РФ

1. Зайти в системные журналы → Data Sources. Создать URL Data Source со следующими данными: (с 3.14.1 (integrations 1.4.0) URL Data Source называется REST Data Source)

../_images/currency_1.png

(title и key произвольные)

2. Зайти в системные журналы → Синхронизация. Создать Currency rates со следующими данными:

../_images/currency_2.png

где

  • Cron expression - Cron выражение для шедулинга.

  • Main currency code - выбор реализации сервиса, ответственного за парсинг данных (тут - для рубля).

  • DataSouce key должен совпадать с ключем датасорса из предыдущей формы.

  • Currency date format - формат даты, в котором должна передаваться дата в удаленный сервис из которого мы получаем курсы.

  • Default start date - дата первой синхронизации (формат важен).

  • Additional currency codes - разделенные запятой курсы валют, для которых нужно на основании текущего курса так же производить относительный расчет их курса к другим валютам. Можно задать множество, разделенное запятой.

На этом моменте синхронизация начнет работать.