Формат экспортного файла
На данной странице приведено описание стандарта для формирования экспортного файла для передачи направлений обмена, поддерживаемого мониторингом обменных пунктов BestChange.
Для добавления обменного пункта, вместе с остальной информацией для включения, необходимо предоставить администрации BestChange ссылку на экспортный файл, размещенный на вашем сайте.
Пример содержимого подобного файла можно увидеть ниже.
Основные правила
- Экспортный файл формируется в XML-формате;
- Каждая запись идет с новой строки. Перенос осуществляется символом
\n; - Для числовых значений разделителем целой части является точка;
- Корневой элемент —
<rates>; - Каждое направление обмена описывается в элементе
<item>; -
Обязательные к указанию элементы для описания направления обмена внутри элемента item:
<from>— код валюты, которую обменный пункт принимает от клиента. Коды валют приведены в списке ниже;<to>— код валюты, которую обменный пункт отправляет клиенту. Коды валют приведены в списке ниже;<in>— для указания курса обмена, сколько валюты from должен отдать клиент;<out>— для указания курса обмена, сколько валюты to получит клиент;<amount>— размер резерва валюты to в обменном пункте, максимум, который может получить клиент;<minamount>— минимальная возможная к обмену сумма валюты, которую обменный пункт принимает от клиента. Указывается в валюте from.
Пример:<minamount>4.1</minamount>
Если ограничений по минимальной сумме несколько, например, отдельно на прием и на выплату, необходимо указывать в поле minamount максимальное значение такого ограничения, сконвертированное в валюту from. Если нет возможности выбрать максимальное значение из нескольких значений минимальных сумм, необходимо указать дополнительные поля minamount с отдельной минимальной суммой в каждом;<maxamount>— максимальная возможная к разовому обмену сумма валюты, которую обменный пункт принимает от клиента. Указывается в валюте from.
Пример:<maxamount>5000</maxamount>
Если ограничений по максимальной сумме несколько, например, отдельно на прием и на выплату, необходимо указывать в поле maxamount минимальное значение такого ограничения, сконвертированное в валюту from. Если нет возможности выбрать минимальное значение из нескольких значений максимальных сумм, необходимо указать дополнительные поля maxamount с отдельной максимальной суммой в каждом.
-
Дополнительные элементы для описания направления обмена внутри элемента item:
<fromfee>— дополнительная комиссия, не входящая в курс обмена и взимаемая с суммы, которую клиент переводит в обменный пункт. Указывается в валюте from.
Пример:<fromfee>2.15</fromfee>
Возможно также использование знака%для обозначения процентной комиссии;<tofee>— дополнительная комиссия, не входящая в курс обмена и взимаемая с суммы, которую обменный пункт переводит клиенту. Указывается в валюте to.
Пример:<tofee>0.01508</tofee>
Возможно также использование знака%для обозначения процентной комиссии;<floating>— для установки метки плавающего курса. Указывается время в минутах, на которое курс обмена будет фиксироваться. Указывается значение0в случае отсутствия фиксации. Возможно также использование знака%для обозначения фиксации курса обмена до момента изменения биржевого курса обмена на указанный процент;<delay>— для установки метки задержки в проведении обмена. Указывается время в минутах, на которое обмен будет задержан;-
<param>— данный элемент служит для указания дополнительных меток, таких как:manual— для указания метки ручного обмена, которая должна присутствовать для направлений обмена, которые обрабатываются через оператора вручную, либо если обмен по направлению производится с задержками (не моментально);juridical— обменный пункт производит переводы средств на банковский счет клиента со счета юридического лица или ИП. Данная метка актуальна к установке только в направлениях * —› Банковский счет;verifying— при проведении обмена обменный пункт может требовать от клиента документы, удостоверяющие его личность;cardverify— при проведении обмена обменный пункт может требовать от клиента верифицировать банковскую карту;otherin— прием денежных средств от клиента производится на стороннюю платежную систему, а не на ту, что указана в поле from;otherout— выплата денежных средств клиенту производится со сторонней платежной системы, а не с той, что указана в поле to;reg— для проведения обмена пользователь обязательно должен зарегистрироваться на сайте обменного пункта;card2card— обменный пункт принимает средства от пользователей переводами Card2Card (не через карточный мерчант). Данная метка актуальна к установке только в направлениях Visa/MasterCard —› *;delivery— обменный пункт не имеет офиса в выбранном городе, оплата курьерской доставки включена в курс обмена или отображена посредством метки "Дополнительная комиссия";atm— направление обмена обслуживается через криптомат, терминал установленный в заданном городе. Данная метка может использоваться в направлениях с наличными средствами.
Пример:<param>manual, reg</param> -
<city>— для указания города, в котором обменный пункт производит ввод/вывод электронных денег на наличные. Это поле имеет смысл указывать только для направлений с наличными. Экспортный файл может содержать направления обменов с разными указанными городами. Коды городов приведены в списке ниже.
Пример:<city>MSK</city>
Если условия по направлению обмена одинаковые в нескольких городах, разрешено указывать внутри одного элемента item несколько городов через запятую в одном элементе city.
Пример:<city>MSK, DUBAI, KIEV</city>
- Постоянные комиссии платежных систем не должны указываться в экспортном файле курсов. Наш мониторинг учитывает их самостоятельно.
Коды, применяемые в экспортном файле
Ниже вы можете найти коды для передачи в экспортном файле. Если вы не обнаружите необходимый код, пожалуйста, обратитесь в службу поддержки.
Коды электронных валют
|
Коды городов
|
Пример
<?xml version="1.0"?>
<rates>
<item>
<from>USDTTRC20</from>
<to>TRX</to>
<in>1</in>
<out>30.593562</out>
<amount>572962.42</amount>
<minamount>3</minamount>
<maxamount>1000</maxamount>
</item>
<item>
<from>CASHUSD</from>
<to>USDCERC20</to>
<in>1</in>
<out>0.978</out>
<amount>2921.42</amount>
<minamount>2</minamount>
<maxamount>2000</maxamount>
<city>ANKR, DUBAI</city>
</item>
<item>
<from>BTC</from>
<to>ETH</to>
<in>1</in>
<out>24.90782568</out>
<amount>673.10</amount>
<minamount>0.0001</minamount>
<maxamount>0.42341216</maxamount>
<tofee>1%</tofee>
<param>manual, reg</param>
</item>
<item>
<from>BTC</from>
<to>CASHUSD</to>
<in>1</in>
<out>4342.352344</out>
<amount>31.90343295</amount>
<minamount>1.5</minamount>
<maxamount>1000</maxamount>
<city>ANKR</city>
</item>
</rates>
Ссылка на примерный экспортный файл курсов
FAQ по экспортным курсам
- Наш экспортный файл обновляется раз в минуту через Cron. Достаточно ли такой периодичности?
-
Нет, этого недостаточно. Cron в данном случае не годится. Наш мониторинг запрашивает файлы курсов каждые 5-8 секунд, поэтому для повышения точности передаваемых данных необходимо, чтобы обменный пункт имел экспортный файл, который в любой момент времени будет содержать информацию, соответствующую информации на сайте обменного пункта.
Подойдет один из следующих вариантов реализации экспорта:- Скрипт, который при каждом его запросе генерирует новые экспортные данные;
- Статичный экспортный файл, который будет программно пересоздан каждый раз, когда какое-либо изменение курсов/резервов/комиссий произойдет на сайте обменного пункта.
- Файл курсов не парсится, BestChange выдает ошибку. Что можно проверить?
- В случае наличия на вашем сайте защиты от DDoS-атак для предотвращения блокировки доступа к вашему файлу курсов, пожалуйста, добавьте следующие IP-адреса в белый список: 178.32.48.31, 162.19.29.225, 88.99.97.146. Также необходимо отключить кэширование отдаваемых файлов для IP-адресов нашего робота.
- Какие комиссии должны передаваться в экспортном файле?
-
В ваших курсах на мониторинге должны быть учтены:
- Все затраты, связанные с отправкой средств со стороны обменного пункта взимаемые с суммы, получаемой пользователем;
- Все затраты, связанные с отправкой средств со стороны клиента, за исключением комиссий, взимаемых ПС если оплата производится внутри этой ПС.
- Наш обменный пункт имеет ступенчатые курсы обмена, которые изменяются в зависимости от суммы обмена. Как указать это в экспорте?
- Мониторинг не поддерживает ступенчатые курсы. В данном случае, в экспорт должны передаваться курсы обмена с максимально возможным процентом.
- Наш обменный пункт имеет лимиты на максимальную дневную сумму обмена. Как указать это в экспорте?
-
Для этого нужно, в зависимости от размера установленного лимита, сделать автоматическую коррекцию резервов в тех направлениях, где есть лимиты.
Например: по направлению QIWI → WMZ установлен лимит на прием QIWI в 100 000 RUB максимум в день — в таком случае нужно для этого направления установить резерв 100000 RUB в валюте получения, т.е. сконвертировать 100000 RUB в USD.
Если установлен лимит равный нулю, то такие направления не должны передаваться в экспорт, либо резерв этих направлений также должен быть нулевым.
- Можно ли сделать, чтобы мы отображались в рейтинге с понедельника по субботу включительно, с 9:00 до 19:00, а в воскресенье чтобы не отображались?
-
Это можно сделать 2-я способами:
- Настроить скрипт генерации экспортных курсов так, чтобы файл курсов автоматически очищался (либо в нем обнулялись курсы или резервы) в то время, когда вы не работаете;
- Вручную каждый раз включать и выключать присутствие обменного пункта в мониторинге при помощи ссылки Включить/Выключить в вашем аккаунте на bestchange.org
Если у вас возникли вопросы, вы можете задать их, связавшись с нами одним из способов, указанных на странице контактов.
