Перейти к содержимому

iEXExchanger 11.6.6 — новый движок курсов на Go и масштабные улучшения системы

В версии 11.6.6 появился новый движок получения и расчёта курсов на Go. Доработали создание и пересчёт заявок, работу с резервами, платёжные интеграции и проверку реквизитов. Улучшили безопасность, антивирусную защиту, экспорт данных и инструменты админ-панели.

Новый движок курсов на Go

Добавили возможность использовать Go для получения и расчёта курсов. Новый движок работает с внешними источниками, формулами и BestChange, учитывает комиссии, правила округления, доступные резервы и ограничения направлений.

Параллельная обработка. Независимые задачи выполняются одновременно. Предусмотрены контроль актуальности курсов, ограничения времени запросов и обработка временной недоступности источников.

Выбор движка. В настройках обновления курсов можно выбрать PHP или Go. Переключение на Go выполняется после проверки готовности и сохранения настроек. Во время подготовки отображаются статус и время ожидания.

Контроль работы. Добавили просмотр состояния, историю операций и объяснения результатов расчёта. Доработали обновление движка и восстановление после прерывания.

Расчёты проверены на контрольном наборе: обе Linux-сборки выполнили 168 сценариев без расхождений с эталонными результатами.

Курсы, формулы и BestChange

Независимое обновление. Ошибка одной валютной пары больше не останавливает обновление исправных курсов. Недоступность источника затрагивает только связанные с ним направления.

Пересчёт после изменений. Исправили обновление формул после редактирования выражения, сохранения, включения курса и изменения точности, в том числе при массовых действиях.

Прямой и обратный курс. На страницах формул, источников и BestChange можно переключать отображение нажатием на курс — отдельно для каждой строки. Повторное нажатие возвращает исходный вид. Исправили лишнее округление и потерю цифр при отображении обратного курса.

Удобнее работать с формулами. Увеличили поле ввода, восстановили названия источников и упорядочили пояснения о расчёте и выборе курса. Исправили отображение чисел, процентов и длинных значений.

Файлы курсов для мониторингов

Доработали создание, обновление и публикацию файлов курсов.

  • Добавили восстановление отсутствующих и повреждённых файлов.
  • Проверка состояния выполняется даже без изменения курсов у источников.
  • Изменение настроек запускает подготовку обновлённого файла.
  • Ошибка расчёта не заменяет исправный файл неполными данными.
  • Устаревшие курсы после сбоя не сохраняются бессрочно.
  • Отключение публикации прекращает выдачу соответствующего файла.

Исправили работу нескольких профилей, переименование файлов и ситуации, когда ошибка одного адреса мешала проверке остальных.

Создание и обработка заявок

Защита от повторного создания. Если сервер сохранил заявку, но браузер потерял ответ, повторная отправка возвращает уже созданную заявку. Доработали восстановление после обновления страницы, подтверждения почты кодом и одновременной работы нескольких вкладок.

Статусы и резервы. Изменение статуса и связанного резерва выполняется согласованно. При ошибке изменения откатываются вместе. Усилили защиту от повторного удержания, возврата и зачисления резерва при одновременных действиях.

Загрузка чеков. Перед прикреплением файла повторно проверяются владелец, доступ и текущий статус заявки. Исправили обработку ошибок сохранения и удаление файлов, которые не удалось прикрепить.

Регистрация и уведомления. Доработали регистрацию из формы обмена и восстановление после ошибок. Уведомления отправляются после успешного сохранения данных, а сбой доставки не превращает созданную заявку в ошибку для клиента.

Пересчёт заявок

Исправили применение индивидуальных настроек валюты, условий роста и падения курса и ограничений пересчёта.

Первый пересчёт по проценту. Начальной точкой становится сохранённый курс заявки — предыдущий успешный пересчёт больше не требуется.

Корректное применение комиссий. Устранили повторное начисление комиссии при автоматическом пересчёте: расчёт начинается с исходной суммы.

Защита от одновременных изменений. Ручной пересчёт, фоновое задание и платёжный обработчик не перезаписывают результаты друг друга. Перед изменением повторно проверяются статус заявки и действующие запреты.

Понятная история. Пропуск, запрет или отсутствие изменений не записываются как успешный пересчёт. Оператор видит фактический результат операции.

При недоплате, если необходимый пересчёт запрещён, заявка требует проверки оператором вместо продолжения по прежней сумме выплаты.

Платёжные интеграции

001k. Добавили приём и выплату криптовалют: получение доступных валют и сетей, создание адреса для заявки и отслеживание операций. Отдельно подключили AML-проверки адресов и транзакций. Если отчёт ещё готовится, система продолжает ожидание без создания новой платной проверки.

CryptoWay. Исправили поиск и сверку выплат, обработку сумм и комиссий, получение сетей и некорректных ответов.

BestMerchant. Доработали создание платежей, получение способов оплаты и сохранение реквизитов. Исправили точность сумм и разделение данных разных аккаунтов.

ByDEX. Обновили адреса подключения, передачу телефона и суммы, восстановление ссылки на созданную оплату и проверку состояния операции.

В затронутых интеграциях улучшили обработку повторных уведомлений, задержек и потерянных ответов. Неопределённый результат операции не должен приводить к автоматической повторной отправке средств.

Проверка реквизитов и банковских карт

Криптовалютные адреса. Переработали проверку формата адреса и соответствия выбранной сети. Для кошельков, карт, телефонов и других реквизитов используются отдельные правила и понятные причины отказа.

Распределённые выплаты. Проверяются все фактические получатели. Доработали применение лимитов, чёрных списков и обязательных проверок.

Банковские ограничения. Исправили сохранение правил, одновременное редактирование и обработку ошибок загрузки. После изменения карты прежние сведения о банке больше не отображаются как актуальные.

Определение BIN предоставляет справочную информацию о банке и типе карты, но не подтверждает её существование или принадлежность клиенту.

Антивирусная защита

Улучшили проверку новых загрузок и фоновое сканирование изображений, документов верификации, чеков и вложений, включая облачное хранилище.

Проверка готовности. Учитываются работа служб ClamAV, настройки, актуальность базы угроз и способность сканера обнаружить тестовую угрозу.

Управление сканированием. Доработали отображение прогресса, паузу, продолжение, отмену и восстановление после временных сбоев. Повторную проверку можно выполнить только для заражённых, ошибочных, пропущенных и ещё не проверенных файлов.

Доступ к приватным файлам. Запрет на выдачу заражённого файла сохраняется после перезапуска. Доступ восстанавливается после подтверждённого чистого результата. Ограничение действует при защищённой выдаче через приложение и не перекрывает прямые публичные ссылки.

Управление доступом и безопасность

Права сотрудников. Выданные и отозванные разрешения отражаются в открытой админке без ручной перезагрузки. Согласовали проверки меню, прямых переходов и уже открытых страниц.

История авторизаций. Исправили запись попыток входа, распознавание устройств, определение местоположения и отображение событий. Обновление браузера и смена языка больше не вызывают лишних уведомлений о новом устройстве.

Блокировки пользователей. Доработали начало и завершение ограничений по сроку, взаимодействие ручных и автоматических блокировок и обработку одновременных действий.

Доверенные прокси. Защитили списки от неполного сохранения и перезаписи устаревшей формой. Улучшили восстановление состояния после ошибок применения настроек.

Также усилили хранение секретных настроек, маскирование чувствительных данных, защиту входа через внешние сервисы и обработку загружаемых файлов.

Публичный API

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

Отправку webhook перевели в фоновую обработку с повторными попытками и восстановлением зависших доставок. Медленный получатель больше не задерживает основную операцию.

Уточнили события и статусы: сообщение клиента «Я оплатил» не считается подтверждением поступления средств.

Улучшения экспорта данных

Доработали экспорт пользователей, заявок и истории заявок конкретного пользователя.

Упорядочили выбор колонок, периодов, статусов и фильтров. Улучшили подготовку файлов Excel, CSV и ODS, историю выгрузок и восстановление после обрыва связи.

В файл попадают все записи, соответствующие условиям, независимо от открытой страницы списка. Исправили зависшие задания, повторный запуск и сохранение точности денежных значений, телефонов, реквизитов и значимых нулей.

Посещаемость и расписание работы

Аналитика посещений. Разделили публичный трафик и активность администраторов. Исправили подсчёт уникальной аудитории за период, обработку часовых поясов и восстановление статистики. При недостаточной истории отображается отсутствие достоверных данных.

Расписание обменника. Исправили приоритеты правил, ночные интервалы, будущие даты начала и временное ручное переключение. Изменение срока ручного режима учитывается при следующей проверке рабочего статуса.

Удобство админ-панели

Фильтры. Исправили выборку по датам, проверку диапазонов и поиск по справочникам. Выбранные значения сохраняют понятные названия, в том числе при работе с большими списками.

Карточки пользователя и партнёра. Привели их к единому виду в списке заявок. Добавили отображение актуального реферального кода.

Иконки платёжных систем. Теперь изображение можно заменить нажатием на иконку — без открытия полной формы редактирования.

Статусы в Telegram. В настройках чата заявок появился переключатель «Отправлять статусы заявки в Telegram». Автоматические сообщения можно отключить, сохранив переписку с оператором.

Переводы. Исправили сохранение и очистку переводов комиссий, групп страниц, уведомлений и других форм.

Обновления системы. Доработали повторные проверки при недоступности службы и сообщения об ошибках.

Изменение редактора страниц

Удалили конструктор страниц из блоков. Создание и редактирование выполняются через стандартный редактор.

Обычные страницы с текстом и изображениями, переводы, группы и привычные ссылки сохраняются. Дополнительно исправили восстановление форм после ошибок загрузки и сохранения.