> For the complete documentation index, see [llms.txt](https://premium.gitbook.io/main/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://premium.gitbook.io/main/osnovnye-nastroiki/valyuty-i-napravleniya-obmena/kursy-valyut/parser-kursov-valyut-parsery-2.0.md).

# Парсер курсов валют (Парсеры 2.0)

{% embed url="<https://www.youtube.com/watch?v=KJieFpov2JE>" %}

{% hint style="warning" %}
Для автоматического обновления курсов валют **обязательно** создайте [задание Cron](https://premium.gitbook.io/rukovodstvo-polzovatelya/osnovnye-nastroiki/faq/kak-sozdat-zadanie-cron-na-servere) на сервере, используя ссылку из раздела "**Парсеры 2.0**" — "**Настройки**"

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-4310ea7c16ccafd6d9d29888fc12d7d4b426c837%2Fimage.png?alt=media" alt="" data-size="original">
{% endhint %}

{% hint style="warning" %}
Хеш для ссылки для задания cron задается в файле **`wp-content/plugins/premiumbox/userdata.php`**

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-935e984d375811d5d974e25070eb8374567d67b0%2Fimage.png?alt=media" alt="" data-size="original"><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-bbc1978fe037b04e25cbd12ba7bac87e51b2a462%2Fimage.png?alt=media" alt="" data-size="original">
{% endhint %}

В панели управления сайта в разделе "**Парсеры 2.0**" содержится список источников курсов валют, к которым можно привязать курс направления обмена на сайте, а также время последнего обновления курса валют из этих источников.

## Настройки парсера

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-7312abf5ad83a54b7c37c4615bd75b49a0d920fc%2Fimage.png?alt=media" alt="" width="527"><figcaption></figcaption></figure>

* Сортировка:\
  • **вручную** — ручная сортировка курсов согласно разделу "**Парсеры 2.0**" ➔ "**Сортировка курсов**"\
  • **по названию** — курсы будут отсортированы по названию автоматически
* **Тип парсера**:\
  • **многопоточный** — позволяет запустить несколько потоков выполнения, каждый из которых будет обрабатывать отдельный источник\
  • **CURL** — может получать данные только по одному запросу в каждый момент времени и может быть более удобным и простым в использовании для получения небольшого количества данных
* **Логирование парсинга**:\
  • **Нет** — парсинг курсов от источников не будет логироваться\
  • **Да** — будут логироваться все запросы и ответы от источников курсов\
  • **Только ошибки** — будут логироваться только ошибки получения курсов
* **Таймаут (сек.)** — это время в течение которого сайт ожидает ответа от стороннего сервиса. Если ответ не будет получен в заданное время, то сайт продолжит свою работу далее, оставшись без ответа. Если время не задано или равно 0, то действует стандартный таймаут в 20 секунд. Универсального значения для таймаута нет, потому что он зависит от скорости работы конкретного сервиса.
* **Дата обновления** — дата и время последнего обновления парсера
* **Удалять старые данные** — удалять старые курсы перед запуском парсера:\
  • **Нет**\
  • **Да**
* **Источники курсов** — все доступные источники для парсинга курсов

{% hint style="info" %}
При необходимости вы можете парсить собственный файл с курсами валют или xml-файл другого обменника для того, чтобы использовать эти курсы в других формулах.\
Для этого откройте раздел "**Парсеры 2.0**" ➔ "**Добавить сайт**" и в новом окне укажите ссылку на ваш XML-файл с курсами в поле "**Адрес XML файла**"\
![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-f980ff1a33036a00bea6a2f37ad7a77a3d0bf045%2Fimage.png?alt=media)\
После этого поставьте галочку напротив добавленного источника

![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-f0a0c6295484fba022f9f54bf1dc5a66245cec75%2Fimage.png?alt=media)\
Чтобы активировать работу парсера, в разделе "**Парсеры 2.0" → "Настройки"** установите галочки напротив названия источника, который вы хотите использовать. После этого запустите задачу Cron с этой же страницы.
{% endhint %}

При успешном обновлении курсов валют на открывшейся странице вы увидите слово "**Выполнено**".

Если этого не произошло или отображается другой текст — загляните в [раздел "**Лог парсеров**"](https://premium.gitbook.io/rukovodstvo-polzovatelya/navigaciya/nastroiki/logirovanie/logi-parserov-2.0) (пункт "**Логирование парсинга**" в общих настройках должен быть предварительно включен) и прочтите полученные логи.

{% hint style="warning" %}
Если по одному или нескольким источникам не обновляются курсы валют или парсер не работает изначально, проверьте доступ к источнику данных с IP-адреса вашего сервера.

Если вы используете ISP Manager — перейдите в раздел "**Shell-клиент".**

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-535739e79ce4cc5044d51e40ff418851808a674d%2Fimage.png?alt=media" alt="" data-size="original">

В открывшемся окне введите команду "`curl сылка для парсинга`".

В качестве примера проверим парсинг курсов от Garantex:

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-1c19cedf7b20e58afa94bef75ed4063092bfcb21%2Fimage.png?alt=media" alt="" data-size="original">

Если в ответе отображаются курсы валют, значит источник доступен для вашего сервера. ![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-533e996f28ce19714b3d78605d72aeb71d2062eb%2Fimage%20\(670\).png?alt=media)
{% endhint %}

{% hint style="info" %}
Для того, чтобы оперативно получать уведомления об ошибке парсинга курсов валют для устранения ошибки, вы можете настроить уведомления на [e-mail](https://premium.gitbook.io/rukovodstvo-polzovatelya/osnovnye-nastroiki/uvedomleniya-administratoram-i-polzovatelyam/uvedomleniya-po-e-mail) и в [Telegram](https://premium.gitbook.io/rukovodstvo-polzovatelya/osnovnye-nastroiki/uvedomleniya-administratoram-i-polzovatelyam/uvedomleniya-v-telegram).

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-e37291486d17921d9ed62d1ee0dc557640afffad%2Fimage.png?alt=media" alt="" data-size="original"><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-e37291486d17921d9ed62d1ee0dc557640afffad%2Fimage%20(1434).png?alt=media" alt="" data-size="original">
{% endhint %}

## Курсы источников

В этом разделе будут отображаться все курсы валют, полученные от источников. Вы можете использовать отображаемые шорткоды из столбца "**Код**" для создания сложных курсов в разделе "**Курсы**".

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-951c4bc7f5a264a2448eedb30013d48ce90b48d7%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

Для удобства поиска конкретных данных вы можете воспользоваться фильтром по 3 условиям:

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-0e7efd0b195af6b30a6ccc507f8bb0652e5dca53%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

* **Источник** — отображать курсы валют только от выбранного источника
* **Валюта Отдаю** — отображать только пары, где в валюте "**Отдаю**" используется указанная в поле валюта
* **Валюта Получаю** — отображать только пары, где в валюте "**Получаю**" используется указанная в поле валюта

## Курсы

{% hint style="warning" %}
Для использования курсов в направлениях обмена, **необходимо** перенести в этот раздел выбранные курсы из разделе "**Парсеры 2.0**" ➔ "**Курсы источников**".

Только после переноса курсов, они станут доступны к выбору на вкладке "**Автокорректировка курса**" в настройках направления обмена, а также для автокорректировки курсов в Bestchange парсере.
{% endhint %}

Также в этом разделе вы можете создавать новые пары курсов. Используйте пары по умолчанию в качестве примера.

Вы можете комбинировать между собой курсы из раздела "Курсы источников", использовать десятичные дроби в формулах, а также использовать математические действия:\
• умножение — `[cbr_usdrub] * [bitfinex_bchusd_last_price]`\
• деление — `1 / [exmo_bchbtc_last_trade]`\
• вычитание — `[ecb_eurrub] - [cbr_eurrub]`\
• сложение — `[index_support] + 2`

Нажатие кнопки "**Копировать**" создаст копию валюты, на строке которой была нажата кнопка.

{% hint style="info" %}
Если у какого-либо курса в столбце "**Курс для Отдаю**" или "**Курс для Получаю**" отображается 0, значит используемый в полях "**Формула курса для Отдаю**" или "**Формула курса для Получаю**" шорткод недействительный — замените его.
{% endhint %}

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-0c88684c6fe6671856eb0fac5a4725c9258637d8%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Если нужного курса нет в разделе "**Парсеры 2.0**" ➔ "**Курсы источников**", перенесите в раздел "**Курсы**" обратный курс и используйте формулу **`1/[курс_валют]`**— в этом случае вы получите требуемый курс.
{% endhint %}

{% hint style="success" %}

#### Модуль "Конвертер"

Для быстрого переноса курсов от конкретного источника из раздела "**Источники курсов**" в "**Курсы**" вы можете использовать модуль "**Конвертер**".

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-2e86e034404945714b0900381f994ee85bd525e1%2Fimage.png?alt=media" alt="" data-size="original">

Выберите из выпадающего списка источник курсов валют, а в поле "**Валюты**" укажите через запятую [коды валют](https://www.bestchange.ru/wiki/rates.html), для которых вы хотите создать валютные пары и нажмите "**Применить**"

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-347738691af9406f378c54982a7aeb2f6d892326%2Fimage.png?alt=media" alt="" data-size="original">

В разделе "**Курсы**" будут созданы пары, где перечисленные списком валюты будут находиться на стороне "**Отдаю**").

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-4606b1fbdb01083b380fa988cb9cf96402f421c8%2Fimage.png?alt=media" alt="" data-size="original">

Для того, чтобы создать все доступные курсы с перечисленными валютами — поставьте галочку "**Обратный курс**" перед нажатием "**Применить**".

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-8838c661081e20aeb11b0a741691bcff75be2517%2Fimage.png?alt=media" alt="" data-size="original">

Повторите действия для каждого источника, курсы которого вы хотите использовать.
{% endhint %}

## Пользовательские коэффициенты

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-1b8e203201334fb29f04bdeb100946292c4bbb82%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

В этом разделе вы можете добавлять коэффициенты, которые также можно применять в формулах в разделе "**Курсы**". Опция будет полезна тем, кто использует плавающие коэффициенты в нескольких направлениях — вместо указания конкретного значения вы можете использовать в формулах созданный шорткод и менять его значение без необходимости вносить правки в разделе "**Курсы**".

Начиная с версии 2.7, настройка пользовательских коэффициентов перенесена в отдельный раздел.

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-d89b4224b4737148cb21597bca44210d9d299cd8%2Fimage.png?alt=media" alt=""><figcaption><p>Раздел в сайдбаре</p></figcaption></figure>

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-43337197f352e5033a8016625830876caa780dff%2Fimage.png?alt=media" alt="" width="449"><figcaption><p>Настройки коэффициента</p></figcaption></figure>

Имя индекса — желаемое название, которое будет использоваться в формулах как шорткод\
Формула значения — в поле указывается число или математическая формула\
Значение индекса — значение для формулы, указанной выше (если указана формула)\
Тип индекса:\
• Подстановка формулы в курс

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-06027d158fb75495a1444f73528c68df10f12306%2Fimage.png?alt=media" alt=""><figcaption><p>Формула будет подставляться напрямую в курс без скобок, а затем вычисляться само значение курса</p></figcaption></figure>

• Значение индекса

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-20e2bc8dae36ccf63dc9154759dde5fe84291cc9%2Fimage.png?alt=media" alt=""><figcaption><p>Сначала будет вычислено значение коэффициента, а затем оно будет подставляться в курс</p></figcaption></figure>

Комментарий — поле для ваших заметок

## Сайты (парсинг xml-файлов)

Вы можете парсить открытые xml-файлы других обменников, если вам известен их url (часто это `https://домен/request-exportxml.xml`). Для использования опции активируйте модуль "**Парсинг XML файлов с курсами обменников**" в разделе "**Модули**".

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-52806afd2498ddeff232d50fb13d718693f22dbc%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

После этого добавьте новый источник в разделе "**Парсеры 2.0**" ➔ "**Добавить сайт**". В открывшемся окне укажите название источника на свое усмотрение и ссылку на файл с курсами.

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-7506f66459f441cc3616bbac94ad62b48b3a2bdf%2Fimage.png?alt=media" alt="" width="477"><figcaption></figcaption></figure>

После сохранения источника перейдите в раздел "**Парсеры 2.0**" ➔ "**Настройки**" и активируйте добавленный источник.

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-5ab4b96d2582ceb45197dc71dfab4e04122fa021%2Fimage.png?alt=media" alt="" width="435"><figcaption></figcaption></figure>

После этого данные от источника появятся в разделе "**Парсеры 2.0**" ➔ "**Курсы источников**"

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-35a3cea0bbb37bb61ddc3f0733fbca11f0bbd290%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

## Автоматическое обновление курсов

Для автоматического обновления курсов, необходимо настроить [планировщик задач (cron) на сервере](https://premium.gitbook.io/main/osnovnye-nastroiki/faq/kak-sozdat-zadanie-cron-na-servere). В разделе "**Парсеры 2.0"** ➔ **"Настройки**" в начале страницы выводится ссылка "**Cron URL для обновления курсов ЦБ и криптовалют**", которую необходимо добавить в планировщике задач (cron) на сервере.
