> 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/bestchange-api-parser-new-nachinaya-s-v2.6.md).

# Bestchange API парсер (new, начиная с v2.6)

Модуль доступен начиная с версии 2.6!

{% hint style="warning" %}
Переноса настроек из модуля Bestchange парсер невозможен по техническими причинам, поэтому для использования нового модуля понадобится настроить все курсы заново
{% endhint %}

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

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

Хэш для ссылки для задания 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-d08da14e3b5fe2fde51c1a8b93c01a4e324f85ec%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-935e984d375811d5d974e25070eb8374567d67b0%2Fimage.png?alt=media" alt="" data-size="original">
{% endhint %}

{% hint style="warning" %}
Обратите внимание, что использование Bestchange API парсера не гарантирует вам место в списке обменников на Bestchange, которое вы указываете в настройках парсера.

Модуль доступен для всех обменников, использующих скрипт Premium Exchanger — ваш конкурент может настроить парсер также как и вы, поэтому все обменники, которые используют парсер, будут находиться в борьбе за указанное место (чаще всего это 1-я позиция) в выбранном направлении обмена.

Единственный вариант гарантированного нахождения на первом месте — **постоянный демпинг**.

Также вы можете дополнительно настроить мин. и макс. курсы по этой инструкции, чтобы случайно не уйти в минус, если другой обменник также решил демпинговать (это потянет вас за ним, если выбрана привязка к первому месту и не настроена опция мин./макс. курсы)
{% endhint %}

{% hint style="danger" %}
Bestchange API парсер будет работать только в активном направлении обмена — при настройках парсера обязательно сделайте направление активным перед началом настройки

<img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-7d583d582b731c24b3f441f4b89626eca9b04de6%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-4cd246bda08f8b9d3ed3860389462deebaa99a55%2Fimage.png?alt=media" alt="" width="521"><figcaption></figcaption></figure>

**Домен** — укажите в поле один из доменов из списка под самим полем, если при пустом поле (когда парсер использует основной домен BC) парсер не работает (не отображаются валюты и города в списке ниже на этой же странице).

**Ключ API** — API ключ из ЛК на сайте Bestchange

{% hint style="warning" %}
Для получения API-ключа зарегистрируйтесь на [сайте Bestchange](https://www.bestchange.ru/partner/register.html)

![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2FA3dfnY1Hg0KgMMQCat1T%2Fimage.png?alt=media\&token=c818ae36-1771-4159-bc2d-9d5ee6ffb8e2)

и выпустите ключ в [личном кабинете](https://www.bestchange.ru/partner/profile.html).

![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2FhTATug0f4hy6oYlKnBk2%2Fimage.png?alt=media\&token=0bc504c5-7d95-4b00-af77-89e9abcc3dd0)
{% endhint %}

**Таймаут (сек.)** — время ожидания ответа от Bestchange (рекомендуемое значение — 20 секунд. Если указан 0, то также применяется значение в 20 секунд)

**Устройство** — языковая версия сайта Bestchange (en или ru)

**Логирование** — запись логов запросов к сайту Bestchange и ответов от него для проверки корректности парсинга

<figure><img src="https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2FBnslMAHL3IVO3BEzvrLO%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media&amp;token=79d94265-3409-4cbc-8348-d925b3eca077" alt=""><figcaption></figcaption></figure>

**Позиция:**\
**• Rate** — базовое значение курса (формула расчета: rate = from\_amount / to\_amount)\
**• Rankrate** — курс с примененными дополнительными комиссиями, рассчитанный для суммы обмена в $300. Этот курс выводится в Bestchange по умолчанию. Если нужно получить рейтинг обменников, отсортированный по курсу обмена как на Bestchange, то лучше использовать rankrate.

**Черный список ID обменников (через запятую)** — ID обменников, курсы которых будут игнорироваться при парсинге

<details>

<summary>Как узнать ID обменника?</summary>

Кликните на изображение ниже, чтобы увидеть, как найти ID обменника на сайте Bestchange.

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

</details>

**Белый список ID обменников (через запятую)** — ID обменников, курсы которых будут использоваться при парсинге (если указан хотя бы один ID — парсер будет использовать только курс этого источника, игнорируя остальные обменники)

**Удалять старые данные:**\
**• Да** — данные, полученные от парсера будут удаляться перед каждым новым обновлением курса (если курс по каким-либо причинам не будет обновлен, он будет отображаться как 0 = 0 до следующего успешного обновления курса)\
**• Нет** — данные, полученные от парсера не будут удаляться перед каждым новым обновлением курса (если курс по каким-либо причинам не будет обновлен, он будет отображать предыдущее полученное значение до следующего успешного обновления курса)

**Отключить защиту:**\
**• Да** — защита от скачков курса отключена\
**• Нет** — защита от скачка курса включена. Для защиты используются данные первых 5 мест в листинге Bestchange для расчета разницы между курсами — курс не может быть больше этой разницы

{% hint style="info" %}
**Описание механизма защиты**

Для предотвращения аномальных скачков мы используем данные, полученные от пяти обменников (они выделены подчеркиванием в таблице, открывающейся по кнопке "**Показать рейтинг**" в настройках Bestchange парсера в направлении обмена). Мы анализируем разницу между этими курсами и устанавливаем ограничение: курс не может превышать максимальную разницу, определенную на основе этих данных.

**Ключевые термины:**

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

На скриншоте письмо, отправляемое администратору, если включена защита и активирован e-mail шаблон "**Bestchange ошибка безопасности**"

• **First rate** — курс первой позиции среди пяти источников

• **Your rate** — ваш текущий курс

• **Min security rate** — минимальный курс, который считается безопасным по нашим расчетам

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

**Причины введения защиты**

В прошлом мы сталкивались с ситуациями, когда в Bestchange происходили резкие скачки курса из-за изменения формата представления курса (например, с 1 к XXX на XXX к 1). Для отслеживания таких аномалий была разработана данная защита.

**Условия работы защиты**

Данная защита будет эффективно работать, если вы добавляете небольшие значения к шагу, например, 0.0001. Если же вы добавляете более значительные значения, например, от 0.5% и выше, то курс уже будет считаться аномальным.
{% endhint %}

**Выберите валюты** — список доступных валют с Bestchange для парсинга (список будет отображаться только после указания валидного API ключа в настройках парсера)

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

**Выберите города** — список городов с Bestchange для парсинга (список будет отображаться только после указания валидного API ключа в настройках парсера)

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

## Настройки парсера в направлении обмена

В панели управления в разделе "**Направления обменов" → "Направления обменов"** перейдите к редактированию направления обмена.

На вкладке "**Автокорректировка курса**" и "**Bestchange парсер**" перед началом настройки BestChange API парсера отключите любые действующие автокорректировки курса, если такие настройки используются.

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

На вкладке "**BestChange API парсер**" вы увидите блок настроек. Выполните необходимые настройки:

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

**Включить парсер:**\
**• Да** — парсер включен в направлении обмена\
**• Нет** — парсер не используется

{% hint style="warning" %}
Для активации парсера обязательно требуется выбрать 2 валюты в полях "**Валюты (Отдаете)**" и "**Валюты (Получаете)**"
{% endhint %}

**Черный список ID обменников (через запятую)** — ID обменников, курсы которых будут игнорироваться при парсинге

**Белый список ID обменников (через запятую)** — ID обменников, курсы которых будут использоваться при парсинге (если указан хотя бы один ID — парсер будет использовать только курс этого источника, игнорируя остальные обменники)

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

Если в настройках направления обмена поля не заполнены, а общие заполнены, то для направления обмена будут применяться общие настройки.
{% endhint %}

**Город** — список городов, которые отмечены галочками в общих настройках парсера (город выбирается для направления обмена с наличными)

**Валюты (Отдаете)** — выбор валюты для стороны "**Отдаете**"

**Валюты (Получаете)** — выбор валюты для стороны "**Получаете**"

**Сторона курса**:\
**• Авто** — автовыбор стороны курса для значений в полях "**Мин.курс**" и "**Макс. курс**"\
**• 1 = XXX** — принудительная установка курса 1 к XXX\
**• XXX = 1** — принудительная установка курса XXX к 1

**Позиция** — позиция из рейтинга Bestchange для выбранного направления обмена (если поле не заполнено, используется 1-я позиция)

**Шаг** — корректировка курса, полученного от парсера (например 0.001). Система по умолчанию всегда делает ваш курс выгоднее курса указанного значения из поля "**Позиция**". Также шаг можно задать в виде процента (например 3%).

Значение шага со знаком "**-**" будет делать ваш курс хуже курса заданной позиции (-0.001 или -3%), также можно использовать умножение и деление (\*2 или /2, \*3% или /3%)

{% hint style="warning" %}
Обратите внимание, что указание значения в % будет работать только для уменьшения курса (вычитание или деление).
{% endhint %}

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

**Показать рейтинг** — страница с курсами валют из Bestchange и рекомендованным шагом

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

**Мин. курс** — предельное нижнее значение курса, до которого будет работать привязка к позиции. Если конкурент по заданной позиции выйдет за рамки минимального курса, то модуль сбросит ваш курс на стандартный (если опция включена).

{% hint style="warning" %}
Если для одной или всех опций ("**Минимальный курс**", "**Максимальный курс**", "**Стандартный курс**" курсы будут указаны как вручную, так и выбраны курсы в опции "**Автокорректировка курса**",\
![](https://2574066779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm9kqZXsNykrN6VyxxXBO%2Fuploads%2Fgit-blob-bffee55e603a08c6ce9ce00c74e798ff4dc53085%2Fimage.png?alt=media)\
то курс из поля "**Автокорректировка курса**" всегда будет более высокоприоритетным, именно он будет использоваться для работы парсера
{% endhint %}

**Автокорректировка мин. курса** — привязка минимального курса к выбранному источнику из раздела "**Парсеры 2.0**" -> "**Курсы**"\
**• Добавляем к курсу** — регулировка минимального курса, получаемого из источника (к примеру, прибавление 3% или вычитание -3%)

**Макс. курс** — предельное верхнее значение курса, до которого будет работать привязка к позиции. Если конкурент по заданной позиции выйдет за рамки максимального курса, то модуль сбросит ваш курс на стандартный (если опция включена).

**Автокорректировка макс. курса** — привязка максимального курса к выбранному источнику из раздела "**Парсеры 2.0**" -> "**Курсы**"\
**• Добавляем к курсу** — регулировка максимального курса, получаемого из источника (к примеру, прибавление 3% или вычитание -3%)

**Сбрасывать на стандартный курс:**\
**• Да** — включение опции сброса на стандартный курс при выходе из диапазона мин/макс\
**• Нет** — опция не используется

**Стандартный курс (Отдаете)** — ручное указание стандартного курса для стороны "**Отдаете**"

**Стандартный курс (Получаете)** — ручное указание стандартного курса для стороны "**Получаете**"

**Автокорректировка курса** — привязка стандартного курса к выбранному источнику из раздела "**Парсеры 2.0**" -> "**Курсы**"\
**• Добавляем к курсу (Отдаете)** — регулировка максимального курса, получаемого из источника (к примеру, прибавление 3% или вычитание -3%) для стороны "**Отдаете**"\
**• Добавляем к курсу (Получаете)** — регулировка максимального курса, получаемого из источника (к примеру, прибавление 3% или вычитание -3%) для стороны "**Получаете**"

**Преобразовать курс:**\
**• Да** — принудительное преобразование курса обмена к формату 1 к ХХХ\
**• Нет** — опция не используется
