Gezinmeye atla

Finansman Cüzdanı

Finansman Cüzdanı: Agent Java SDK v0.3.0 entegrasyonu, örnekler, parametreler ve yanıt semantiği.

Markdown olarak görüntüle

Bu kılavuz Agent Java SDK v0.3.0, Java 8+ ve etiketli kamu sözleşmesini hedefler. Örnekler, client başlatıldıktan sonra bir iş ortağı arka ucunda çalıştırılır. Hızlı Başlangıç.

Örnek önkoşullar

Java parçacıkları bu içe aktarmaları paylaşır. Hızlı Başlangıç’ı kullanarak client’ı başlatın ve kaydedilen bağlamadan platformUserId’i edinin. Örnek kullanıcı/sipariş kimlikleri kendi kalıcı değerlerinizle değiştirilmelidir.

import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;

Cüzdan sorguları ve transferleri

Üç cüzdanı ayırt edin

cüzdanDenge kaynağıkullanmak
Satıcının kendi kullanıcı cüzdanıSatıcının kendi muhasebe sistemiKullanıcının satıcı tarafındaki mevcut bakiyesi
Platform FinansmanıqueryUserAssets / fundingSaniye alım satım fonları ve Finansman/Sözleşme karşılıklı transferi
Platform SözleşmesiqueryUserAssets sözleşme varlığı alanıSürekli sözleşme marjı ve devredilebilir bakiye

queryAccount Satıcı kullanıcı cüzdanını değil, satıcı platformu marj hesabını sorgulayın. Bu arayüzde environment parametreler yoktur ve simüle edilmiş bir kullanıcı varlığı olarak sorgulanamaz.

Simüle edilmiş kullanıcıların iki platform cüzdanını sorgulayın:

QueryUserAssetsResponse assets = client.queryUserAssets(
QueryUserAssetsRequest.of(platformUserId)
.withFunding()
.withEnvironment(ExecutionEnvironment.SIMULATED));

Arayüz: POST /v1/agent/query-user-assets. Finansman yalnızca includeFunding=true olduğunda talep edilir; orijinal sözleşme varlığı sorgu semantiği varsayılan olarak kullanılır.

yanıt alanlarıAnlam
walletBalance, availableBalance, frozenMargin, usedMargin, isolatedMarginSözleşme cüzdanıyla ilgili tutarlar
funding.assetCodeŞu anda USDT
funding.availableAmount, heldAmount, totalAmountMevcut fon, dolu ve toplam tutar
funding.materializedFinansman hesabının hayata geçirilip geçirilmediği?
environmentBu alan, ortam açıkça iletildiğinde yankılanır; ortamı atlayan eski istekler bu alanı döndürmez.
isSimulatedUserHesap sınıflandırması; ticaret ortamı seçiminin yerini alamaz

Tutarlar, float/double olarak değil, dizeler veya BigDecimal olarak işlenir.

Finansman transferi talimatları

Oluşturun: POST /v1/agent/wallet-transfer, SDK walletTransfer.

directionFon akışıtransferAll
PARTNER_TO_FUNDINGTüccar → Platform FinansmanıYalnızca sabit tutar
FUNDING_TO_PARTNERPlatform Finansmanı → SatıcıYalnızca sabit tutar
FUNDING_TO_CONTRACTAynı ortam platformu Finansman → SözleşmeSabit tutarı veya çekilebilir tüm fonları destekler
CONTRACT_TO_FUNDINGAynı ortam platformu Sözleşme → FinansmanSabit tutarı veya çekilebilir tüm fonları destekler

Mevcut para birimi yalnızca USDT’ı desteklemektedir. Sabit tutar, en fazla 8 ondalık basamağa sahip pozitif bir dize olmalıdır ve bilimsel gösterim kullanılmamalıdır. transferAll=true olduğunda, amount’yi atlayın ve bunu son yanıt olarak kaydedin amount; “tümü” yalnızca çekilebilir fonları içerir.

Örnek: Satıcı, simüle edilmiş Finansmana 10 USDT aktarır. Öncelikle iş emrini ve ortamı üye işyeri sistemine kaydedin ve ardından talebi gönderin:

String fundingOrderNo = "SIM-FUNDING-20261010-000001";
WalletTransferResponse transfer = client.walletTransfer(
WalletTransferRequest.of(fundingOrderNo, "merchant-user-001",
"PARTNER_TO_FUNDING", "10.00000000", false)
.withEnvironment(ExecutionEnvironment.SIMULATED));

Finansman Simüle edilmiş Sözleşmeye aktarılabilecek tüm fonları aktarın:

WalletTransferResponse move = client.walletTransfer(
WalletTransferRequest.of("SIM-F2C-20261010-000001", "merchant-user-001",
"FUNDING_TO_CONTRACT", null, true)
.withEnvironment(ExecutionEnvironment.SIMULATED));

Aynı işlem orijinal agentOrderNo kullanmaya devam etmelidir; farklı işlemler ve farklı ortamlar farklı sipariş numaraları kullanır. Aynı sipariş numarası ile miktar, kullanıcı, yön veya ortam değişikliği yapılması reddedilecektir. Fon/Sözleşme transferleri yalnızca aynı ortamda gerçekleştirilebilir, simüle fonlar gerçek fonlara aktarılamaz.

Sonuç onayı ve bilinmeyen sonuç kurtarma

Finansman yanıtları status, SUCCESS, PROCESSING veya FAILED ile temsil edilir ve orderNo, direction, currency döndürülür, amount, resultCode, vb. code=0 yalnızca isteğin başarıyla işlendiği ve status yargılamasına devam etmeniz gerektiği anlamına gelir.

sonuçSatıcı işlemleri
SUCCESSGerçek tutara dayalı olarak yerel muhasebe işlemlerini tamamlayın
PROCESSINGOnay için yerel tutun ve orijinal siparişi kontrol edin
HTTP Zaman aşımı, ağ hatası, sonuç ayrıştırılamıyorSonuç bilinmiyor olarak kabul edilir ve orijinal sıra sorgulanır; doğrudan arıza olarak belirlenemez veya yeni bir sipariş oluşturulup tekrar denenemez.
Tanımlandı FAILEDNet arıza sonucuna göre yerel rezervasyonu iptal edin; işin yeniden başlatılması gerektiğinde yeni bir iş emri oluşturmak

Finansman sorgusu özel arayüzü POST /v1/agent/wallet-transfer-status kullanır:

WalletTransferResponse recovered = client.queryWalletTransfer(
WalletTransferQueryRequest.of(fundingOrderNo)
.withEnvironment(ExecutionEnvironment.SIMULATED));

Orijinal Finansman işlemini kurtarmak için bu özel uç noktayı kullanın; queryOrder onun yerini alamaz. Orijinal ortamı kaydedin ve kurtarma sırasında açıkça iletin. environment, wallet-transfer-status’den çıkarılırsa, sunucu, simüle edilmiş siparişler de dahil olmak üzere orijinal siparişte kaydedilen ortamı kullanır. Açıkça çakışan bir ortam, 102002 (order environment mismatch değerini döndürür. Arayan kişi ortamı atladığında, yanıt da environment atlar; bu, orijinal siparişin bir üretim siparişi olduğu anlamına gelmez.

Tüccarların yerel para yatırma ve çekme işlemleri değişmez; Kalıcı emirler ve bakiyeler, başlatmadan önce rezerve edilir ve sonuç bilinmediğinde onay için rezerve edilir. Finansman erişimi, nihai durumu doğrulamak için özel bir sorgu kullanır; eski sözleşme transferi Webhook veya iptal yöntemlerinin Finansmana otomatik olarak uygulanacağını varsaymayın.

Mevcut Sözleşme aktarım akışı

Orijinal transfer, transferAllOut, reverse, queryOrder, listOrders orijinal sözleşme aktarım sürecini işlemeye devam eder. queryOrder fon transferi emirlerini sorguluyor, listOrders bir transfer mutabakatı listesi; yerine, Sürekli sorgular Sürekli işlem emirleri için kullanılır.

Orijinal finansman yanıtında orderStatus kullanılır; Finansman yanıtında status kullanılıyor, bunları karıştırmayın. Orijinal aktarım Webhook, X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature kullanılarak doğrulanır ve orijinal imza metni timestamp + nonce + rawBody olur; orijinal istek gövdesi önce doğrulanır, ardından seri durumdan çıkarılır ve bağımsız hale getirilir. Açık simüle edilmiş ortam bildirimleri environment=SIMULATED içerir; üretim bildirimleri eski alanlarla uyumlu kalır. Yerel iş emriyle miktar, sipariş numarası, durum ve ortamın kontrol edilmesi gerekir.

Kaynak ve ilgili kılavuzlar

Finansman talebi alanları

AlanGerekliAnlam
agentOrderNoEvetGlobal olarak benzersiz iş ortağı sipariş numarası; Göndermeden önce ısrar edin.
agentUserId / platformUserIdBirBağlı kullanıcıyı tanımlayın; her ikisi de sağlanırsa eşleşmeleri gerekir.
directionEvetYukarıda belgelenen dört yönden biri.
currencyVarsayılan USDTYalnızca USDT desteklenir.
transferAllVarsayılan yanlışYalnızca Finansman/Sözleşme dahili transferleri true’yu destekler.
amountKoşulluSabit bir aktarım için pozitif ondalık dize; transferAll=true için atlayın.
environmentİsteğe bağlıYeni bir transfer için ihmal edildiğinde üretim; SIMULATED simüle edilmiş fonları seçer.

Finansman yanıt alanları

AlanAnlam
orderNoDöndürülen işlem tanımlayıcısı; Orijinal ortak sipariş numarasının yanında saklayın.
statusSUCCESS / PROCESSING / FAILED; işin tamamlanmasını belirler.
direction / currencyOnaylanmış transfer yönü ve varlık.
amountBir dize olarak aktarılan gerçek tutar.
transferAllBu operasyonun çekilebilir fonların tamamını talep edip etmediği.
agentUserId / platformUserIdDöndürülen kullanıcı kimliği; kaydedilen siparişle karşılaştırın.
resultCodeİşlem sonucu detayı; Uzlaşma ve destek için saklayın.
environmentArayan kişi bunu açıkça belirttiğinde yankılandı; yokluk, orijinal sipariş durumu sorgusu için üretimin kanıtı değildir.