Формат экспортного файла курсов
На данной странице приведено описание стандарта для формирования экспортного файла курсов, поддерживаемого мониторингом обменных пунктов 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>
Возможно также использование знака%
для обозначения процентной комиссии;<minfee>
– минимальная комиссия, которая рассчитывается для разницы между отдаваемой суммой и эквивалентом получаемой валюты относительно среднего биржевого курса. Указывается абсолютное значение в валюте from. Процентное значение недоступно для данного вида комиссии.
Пример:<minfee>5</minfee>
Пожалуйста, имейте в виду, что к дополнительным комиссиям fromfee и tofee комиссия minfee не имеет отношения, минимальная комиссия для отдаваемой или получаемой комиссии на данный момент никак не учитывается нашей системой, избегайте подобного формирования курса. Смотрите примеры использования.
Примечание: дополнительная комиссия minfee имеет недостатки, в ближайшее время планируется удаление этого типа комиссии.<floating>
– для установки метки плавающего курса. Указывается время в минутах, на которое курс обмена будет фиксироваться. Указывается значение0
в случае отсутствия фиксации. Возможно также использование знака%
для обозначения фиксации курса обмена до момента изменения биржевого курса обмена на указанный процент;<delay>
– для установки метки задержки в проведении обмена. Указывается время в минутах, на которое обмен будет задержан;-
<param>
– данный элемент служит для указания дополнительных меток, таких как:manual
– для указания метки ручного обмена, которая должна присутствовать для направлений обмена, которые обрабатываются через оператора вручную, либо если обмен по направлению производится с задержками (не моментально);juridical
– обменный пункт производит переводы средств на банковский счет клиента со счета юридического лица или ИП. Данная метка актуальна к установке только в направлениях * —› Банковский счет;verifying
– при проведении обмена обменный пункт может требовать от клиента документы, удостоверяющие его личность;cardverify
– при проведении обмена обменный пункт может требовать от клиента верифицировать банковскую карту;otherin
– прием денежных средств от клиента производится на стороннюю платежную систему, а не на ту, что указана в поле from;otherout
– выплата денежных средств клиенту производится со сторонней платежной системы, а не с той, что указана в поле to;reg
– для проведения обмена пользователь обязательно должен зарегистрироваться на сайте обменного пункта;card2card
– обменный пункт принимает средства от пользователей переводами Card2Card (не через карточный мерчант). Данная метка актуальна к установке только в направлениях Visa/MasterCard —› *;delivery
– обменный пункт не имеет офиса в выбранном городе, оплата курьерской доставки включена в курс обмена или отображена посредством метки "Дополнительная комиссия".
Пример:<param>manual, reg</param>
-
<city>
– для указания города, в котором обменный пункт производит ввод/вывод электронных денег на наличные. Это поле имеет смысл указывать только для направлений с наличными. Экспортный файл может содержать направления обменов с разными указанными городами. Коды городов приведены в списке ниже.
Пример:<city>MSK</city>
Если условия по направлению обмена одинаковые в нескольких городах, разрешено указывать внутри одного элемента item несколько городов через запятую в одном элементе city.
Пример:<city>MSK, DUBAI, KIEV</city>
- Постоянные комиссии платежных систем не должны указываться в экспортном файле курсов. Наш мониторинг учитывает их самостоятельно.
Коды электронных валют
|
Коды городов
|
Пример
<?xml version="1.0"?> <rates> <item> <from>WMZ</from> <to>WMX</to> <in>1</in> <out>30.593562</out> <amount>572962.42</amount> <minamount>3</minamount> <maxamount>1000</maxamount> </item> <item> <from>ADVCUSD</from> <to>PMUSD</to> <in>1</in> <out>0.978</out> <amount>2921.42</amount> <minamount>2</minamount> <maxamount>2000</maxamount> <minfee>7</minfee> <param>manual</param> </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> <minfee>5</minfee> <city>ANKR</city> </item> </rates>
Ссылка на примерный экспортный файл курсов
FAQ по экспортным курсам
- Наш экспортный файл обновляется раз в минуту через Cron. Достаточно ли такой периодичности?
-
Нет, этого недостаточно. Cron в данном случае не годится. Наш мониторинг запрашивает файлы курсов каждые 5-8 секунд, поэтому для повышения точности передаваемых данных необходимо, чтобы обменный пункт имел экспортный файл, который в любой момент времени будет содержать информацию, соответствующую информации на сайте обменного пункта.
Подойдет один из следующих вариантов реализации экспорта:- Скрипт, который при каждом его запросе генерирует новые экспортные данные;
- Статичный экспортный файл, который будет программно пересоздан каждый раз, когда какое-либо изменение курсов/резервов/комиссий произойдет на сайте обменного пункта.
- Файл курсов не парсится, BestChange выдает ошибку. Что можно проверить?
- В случае наличия на вашем сайте защиты от DDoS, добавьте IP-адрес 54.37.161.241 нашего робота в белый список для предотвращения блокировки доступа к вашему файлу курсов. Также необходимо отключить кэширование отдаваемых файлов для IP-адресов нашего робота.
- Какие комиссии должны передаваться в экспортном файле?
-
В ваших курсах на мониторинге должны быть учтены:
- Все затраты, связанные с отправкой средств со стороны обменного пункта взимаемые с суммы, получаемой пользователем;
- Все затраты, связанные с отправкой средств со стороны клиента, за исключением комиссий, взимаемых ПС если оплата производится внутри этой ПС.
- Наш обменный пункт имеет ступенчатые курсы обмена, которые изменяются в зависимости от суммы обмена. Как указать это в экспорте?
- Мониторинг не поддерживает ступенчатые курсы. В данном случае, в экспорт должны передаваться курсы обмена с максимально возможным процентом.
- Наш обменный пункт имеет лимиты на максимальную дневную сумму обмена. Как указать это в экспорте?
-
Для этого нужно, в зависимости от размера установленного лимита, сделать автоматическую коррекцию резервов в тех направлениях, где есть лимиты.
Например: по направлению QIWI → WMZ установлен лимит на прием QIWI в 100 000 RUB максимум в день – в таком случае нужно для этого направления установить резерв 100000 RUB в валюте получения, т.е. сконвертировать 100000 RUB в USD.
Если установлен лимит равный нулю, то такие направления не должны передаваться в экспорт, либо резерв этих направлений также должен быть нулевым.
- Можно ли сделать, чтобы мы отображались в рейтинге с понедельника по субботу включительно, с 9:00 до 19:00, а в воскресенье чтобы не отображались?
-
Это можно сделать 2-я способами:
- Настроить скрипт генерации экспортных курсов так, чтобы файл курсов автоматически очищался (либо в нем обнулялись курсы или резервы) в то время, когда вы не работаете;
- Вручную каждый раз включать и выключать присутствие обменного пункта в мониторинге при помощи ссылки Включить/Выключить в вашем аккаунте на bestchange.org
Если у вас возникли вопросы, вы можете задать их, связавшись с нами одним из способов, указанных на странице контактов.