Кошелек для финансирования
Funding Wallet: интеграция с Agent Java SDK v0.3.0, примеры, параметры и семантика ответов.
Это руководство предназначено для Agent Java SDK v0.3.0, Java 8+ и помеченного публичного контракта. Примеры выполняются в серверной части партнера после инициализации client в Быстрый старт.
Пример предварительных условий
Фрагменты Java разделяют этот импорт. Инициализируйте client с помощью быстрого запуска и получите platformUserId из сохраненной привязки. Примеры идентификаторов пользователей/заказов необходимо заменить вашими собственными сохраненными значениями.
Запросы и переводы кошелька
Различаем три кошелька
queryAccount Запросите маржинальный счет торговой платформы, а не кошелек пользователя продавца. Этот интерфейс не имеет параметров environment и не может быть запрошен как имитируемый пользовательский актив.
Запросите два кошелька платформы симулированных пользователей:
Интерфейс: POST /v1/agent/query-user-assets. Финансирование запрашивается только тогда, когда includeFunding=true; по умолчанию используется исходная семантика запроса актива контракта.
Суммы обрабатываются как строки или BigDecimal, а не float/double.
Направления перевода средств
Создайте: POST /v1/agent/wallet-transfer, SDK walletTransfer.
Текущая валюта поддерживает только USDT. Фиксированная сумма должна представлять собой положительную строку длиной до 8 знаков после запятой и не может использовать экспоненциальное представление. Когда transferAll=true, опустите amount и запишите его как окончательный ответ amount; «все» включает только выводимые средства.
Пример: Продавец переводит 10 USDT в симулированное финансирование. Сначала сохраните бизнес-заказ и среду в системе мерчанта, а затем отправьте запрос:
Финансирование Переведите все средства, которые могут быть переведены в моделируемый Контракт:
Та же операция должна продолжать использовать исходный agentOrderNo; разные операции и разные среды используют разные номера заказа. Изменение суммы, пользователя, направления или среды с тем же номером заказа будет отклонено. Передача финансирования/контракта может осуществляться только в той же среде, а симулированные средства не могут быть переведены в реальные средства.
Подтверждение результата и восстановление неизвестного результата
Ответы о финансировании представлены в виде status, SUCCESS, PROCESSING или FAILED, и возвращаются orderNo, direction, currency, amount, resultCode и т. д. code=0 означает лишь то, что запрос обработан успешно и вам нужно продолжать судить status.
Запрос на финансирование использует выделенный интерфейс POST /v1/agent/wallet-transfer-status:
Используйте эту выделенную конечную точку для восстановления исходной операции финансирования; queryOrder не может заменить его. Сохраните исходную среду и явно передайте ее во время восстановления. Если environment опущено в wallet-transfer-status, сервер использует среду, сохраненную в исходном заказе, включая смоделированные заказы. Явно конфликтующая среда возвращает 102002 (order environment mismatch). Если вызывающая сторона опускает среду, в ответе также отсутствует environment; это не означает, что первоначальный заказ является производственным заказом.
Местные депозиты и снятие средств торговцев идемпотентны; постоянные заказы и балансы резервируются до инициации и резервируются для подтверждения, когда результат неизвестен. Доступ к финансированию использует специальный запрос для подтверждения окончательного статуса; не предполагайте, что старые методы передачи контракта Webhook или отмены автоматически применимы к Финансированию.
Поток передачи существующего контракта
Исходные transfer, transferAllOut, reverse, queryOrder, listOrders продолжают обрабатывать исходный процесс передачи контракта. queryOrder — запрос поручений на перевод средств, listOrders — список сверки переводов; вместо, Постоянные запросы используются для бессрочных торговых ордеров.
В исходном ответе на финансирование используется orderStatus; в ответе на финансирование используется status, не смешивайте их. Исходный перевод Webhook проверяется с помощью X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature, а исходный текст подписи — timestamp + nonce + rawBody; исходное тело запроса сначала проверяется, затем десериализуется и становится идемпотентным. Явные уведомления моделируемой среды содержат environment=SIMULATED, производственные уведомления остаются совместимыми со старыми полями. Сумма, номер заказа, статус и среда должны быть проверены в местном бизнес-заказе.