Резервы из файла
Раздел «Резервы из файла» используется для автоматического обновления резервов валют из внешнего текстового файла.
Путь в панели управления: «Основное» — «Резервы для валют» — «Резервы из файла»

Этот раздел работает вместе с обычными резервами: «Основное» — «Резервы для валют» — «Список резервов»

Важно: резервы из файла не заменяют обычные резервы. Это отдельный механизм, который берёт сумму из внешнего файла и передаёт её в обычный резерв только после ручной привязки.
Для чего нужны резервы из файла
Резерв из файла нужен, если вы хотите обновлять сумму резерва автоматически из внешнего источника.
Например, у вас есть файл:
Система может прочитать этот файл, найти нужные строки и обновить связанные резервы валют в админке.
Это удобно, если:
резерв рассчитывается во внешней системе;
резерв часто меняется;
не нужно обновлять сумму вручную;
один файл содержит несколько резервов;
нужно автоматически синхронизировать остатки по расписанию.
Как работает система
Логика работы простая:
Вы создаёте источник — ссылку на текстовый файл.
Система читает файл.
Каждая строка формата Название : сумма становится ключом файла.
В обычном резерве валюты вы выбираете нужный ключ.
После привязки обычный резерв получает сумму из файла.
При следующей синхронизации система снова читает файл и обновляет связанные резервы.
Пример: USDT TRC20 : 45000
Если обычный резерв USDT TRC20 привязан к этому ключу, его сумма станет: 45000
Если позже в файле будет: USDT TRC20 : 47000
после синхронизации обычный резерв тоже обновится до: 47000
Основные понятия
Формат файла
Файл должен быть обычным текстовым файлом.
Каждая рабочая строка должна быть в формате:
Слева указывается название ключа, справа — сумма резерва.
Разделитель между названием и суммой — двоеточие:
Пример правильного файла
Комментарии в файле
В файле можно оставлять комментарии.
Система пропускает пустые строки и строки, которые начинаются с:
Пример:
Комментарии не считаются резервами.
Требования к файлу
Файл должен соответствовать требованиям:
доступен по публичной HTTP или HTTPS-ссылке;
сохранён в кодировке UTF-8;
размер не больше 10 МБ;
не пустой;
содержит хотя бы одну корректную строку формата Название : сумма;
сумма указана положительным числом или нулём;
дробная часть указана через точку или запятую;
отрицательные значения не используются;
в строке обязательно есть разделитель :.
Как включить резервы из файла
Сначала нужно включить саму функцию.
Откройте: «Основное» — «Резервы для валют» — «Список резервов»

Нажмите «Настройки».
Включите параметр: Резерв из файла
Нажмите «Сохранить».
После этого в карточке обычного резерва появится поле «Резерв из файла».
Как создать источник
Откройте: «Основное» — «Резервы для валют» — «Резервы из файла»
Нажмите «Источники».
Создайте новый источник и заполните поля:
Пример:
После сохранения источник появится в списке.
Поля источника
Синхронизация источника
У каждого источника есть действие синхронизации.
При синхронизации система:
Открывает файл по ссылке.
Проверяет доступность файла.
Проверяет размер.
Проверяет кодировку UTF-8.
Разбирает строки формата Название : сумма.
Создаёт новые ключи, если они появились в файле.
Обновляет суммы существующих ключей.
Отмечает ключи, которые исчезли из файла.
Обновляет обычные резервы, которые привязаны к активным ключам.
После успешной синхронизации система показывает результат:
сколько ключей обновлено;
сколько обычных резервов обновлено;
сколько ключей отсутствует в файле.
Что происходит при изменениях в файле
Как привязать обычный резерв к файлу
Откройте: «Основное» — «Резервы для валют» — «Список резервов»

Далее:
Откройте нужный резерв.
Найдите поле «Резерв из файла».
Выберите нужный ключ.
Нажмите «Сохранить».
Пример варианта в списке:
После сохранения текущая сумма обычного резерва сразу заменится суммой из выбранного ключа.
Важное поведение при привязке
Если обычный резерв привязан к файловому ключу, ручная сумма перестаёт быть главным источником.
Пример:
После сохранения резерв станет:
Если позже в файле будет:
после синхронизации резерв станет:
Как отвязать резерв от файла
Откройте обычный резерв.
В поле «Резерв из файла» нажмите на крест.

Сохраните изменения.
После этого резерв больше не будет обновляться из файла. Его можно будет изменять вручную как обычный резерв.
Страница «Резервы из файла»
На основной странице раздела отображается список файловых ключей.
В таблице можно увидеть:
Ключ файла
Название строки из файла
Источник
Файл, из которого пришёл ключ
Резерв
Текущая сумма из файла
Статус
Включён или выключен ключ
Привязки
Сколько обычных резервов используют этот ключ
Найден в файле
Когда ключ последний раз был найден
Добавление ключа вручную
Обычно ключи создаются автоматически при синхронизации источника.
Но ключ можно добавить вручную.
Для этого нажмите «Добавить» и укажите:
источник;
название ключа;
количество знаков после запятой;
статус.
При вводе названия система выполняет предварительную проверку файла.
Если строка найдена, система покажет:
сумму из файла;
номер строки;
исходное значение.
Если ключ не найден, появится сообщение:
Редактирование ключа
При редактировании ключа можно изменить:
источник;
название ключа;
сумму;
количество знаков после запятой;
статус.
Важно: если вручную изменить сумму ключа, следующая успешная синхронизация снова запишет сумму из файла.
Ручное изменение суммы стоит использовать только как временную корректировку.
Знаков после запятой
Поле «Знаков после запятой» задаёт количество знаков после запятой для значения ключа.
Допустимый диапазон:
По умолчанию:
Для фиатных валют обычно достаточно 2 знаков. Для криптовалют можно использовать больше.
Удаление ключа
Файловый ключ можно удалить только если к нему не привязаны обычные резервы.
Если ключ используется обычным резервом, система не даст удалить его.
Чтобы удалить такой ключ:
Откройте обычные резервы, которые используют этот ключ.
Уберите привязку в поле «Резерв из файла».
Сохраните обычные резервы.
Вернитесь в «Резервы из файла».
Удалите ключ.
Удаление источника
Источник можно удалить только если его ключи не используются обычными резервами.
Если хотя бы один ключ источника привязан к обычному резерву, удаление будет заблокировано.
Это защищает обычные резервы от потери источника суммы.
Автоматическая синхронизация
Если функция резервов из файла включена, система обновляет активные источники по расписанию.
Команда синхронизации:
Обычно она запускается каждую минуту через Laravel Scheduler.
Если функция выключена в настройках, команда не будет обновлять данные и сообщит, что резервы из файла отключены.
Для корректной автоматической работы на сервере должен быть настроен CRON для Laravel Scheduler.
Ручная проверка через консоль
Если есть доступ к серверу, можно запустить синхронизацию вручную:
Синхронизация одного источника по ID:
Возможные ошибки
Ссылка на файл отклонена защитой
Система не разрешила использовать эту ссылку.
В production разрешены публичные HTTP/HTTPS-ссылки. Не используйте закрытые локальные адреса, внутренние IP и небезопасные ссылки.
Не удалось открыть файл резервов
Система не смогла получить файл.
Проверьте:
доступна ли ссылка в браузере;
нет ли авторизации;
не блокирует ли сервер запросы;
работает ли HTTPS;
не возвращает ли сервер ошибку.
Файл больше 10 МБ
Файл слишком большой.
Сократите его или используйте отдельный файл только с нужными резервами.
Как настроить всё с нуля
Рекомендации
Используйте понятные названия ключей.
Хорошо:
Плохо:
Не меняйте названия ключей без необходимости. Если переименовать строку в файле, система воспримет её как новый ключ, а старый ключ покажет ошибку.
Не удаляйте строки из файла, если они используются обычными резервами.
Перед удалением ключа сначала отвяжите его от обычного резерва.
Следите за статусом источника и ошибками последней синхронизации.
Для криптовалют используйте достаточное количество знаков после запятой.
Для важных резервов сначала проверьте синхронизацию вручную, а уже потом включайте автоматическое обновление.
Коротко
Резерв из файла — это механизм, который читает суммы резервов из внешнего текстового файла и обновляет обычные резервы валют.
Файл должен содержать строки:
Система создаёт ключи из строк файла. Затем вы вручную привязываете нужный ключ к обычному резерву.
После привязки обычный резерв обновляется из файла вручную через синхронизацию или автоматически по CRON.
Последнее обновление
Это было полезно?