Gezinmeye atla

Saniye Ticaret Entegrasyonu

Saniye Ticaret Entegrasyonu: 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 ve Java 8+‘yi hedefler.

Kimlik, kimlik doğrulama ve fonları hazırlayın

Saniyelik ticaret, sürekli ticaretle aynı kullanıcı bağlama ve giriş kimlik doğrulamasını kullanır. Fonlama bakiyelerini kullanır; sürekli marj, Sözleşme bakiyelerini kullanır. Ön uç ürünü/modunu ve arka uç fon ortamını ayrı ayrı yapılandırın.

Kullanarak client’ı başlat Hızlı Başlangıç. Bağlı kullanıcı eşlemesini kaydedin ve kimliği doğrulanmış arka uç oturumundan ortak kullanıcı kimliğini alın.

Girişi yönlendir

import com.sixmm.agent.model.CreateEntryUrlRequest;
import com.sixmm.agent.model.CreateEntryUrlResponse;
CreateEntryUrlResponse entry = client.createEntryUrl(
CreateEntryUrlRequest.of("merchant-user-001")
.withRedirectPath("/zh-CN/up-down?tradingMode=demo")
.withReturnUrl("https://merchant.example/markets"));
String webUrl = entry.webUrl;

SDK, POST /v1/agent/create-entry-url’ı çağırır. webUrl’i iş ortağı ön ucuna döndürün ve hemen açın. expireAt Unix saniyelerini kullanır. Bilet kısa ömürlüdür ve tek seferliktir; Son kullanma tarihi geçtikten veya tüketildikten sonra başka bir tane edinin.

ÜrünÖrnek ön uç yoluCüzdan
Yukarı/Aşağı/zh-CN/up-down?tradingMode=real veya demoFinansman
Yüksek/Düşük/zh-CN/high-low?tradingMode=real veya demoFinansman
Izgara/zh-CN/grid-prediction?tradingMode=real veya demoFinansman
Sürekli vadeli işlemler/zh-CN/futures/BTCUSDT?tradingMode=real veya demoSözleşme

6MM tarafından sağlanan gerçek ön uç rotalarını kullanın. redirectPath, / ile başlayan göreceli bir platform yoludur; returnUrl mutlak bir ortaktır HTTP/HTTPS URL. Giriş bileti kullanıcının kimliğini doğrular ve bir aktarım gerçekleştirmez.

Gömülü giriş

Mevcut partner-token ve tokenProvider akışını kullanın. Tahmine özgü bir belirteç yoktur. İstediğiniz page ve tradingMode ile Widget’ı oluşturun ve iş ortağı arka ucunu çağırırken mevcut channelId öğesini kullanın.

import com.sixmm.agent.model.CreateEmbedTokenRequest;
import com.sixmm.agent.model.CreateEmbedTokenResponse;
String channelId = "tw_example_channel";
CreateEmbedTokenResponse auth = client.createEmbedToken(
CreateEmbedTokenRequest.of("merchant-user-001", channelId));
String embedToken = auth.embedToken;
long expireAt = auth.expireAt;

SDK, POST /v1/agent/create-embed-token’ı çağırır. symbol isteğe bağlıdır; saniye ticareti yapan bir ürün seçmez. Ürün seçimi ön uca aittir. Token bir fon ortamı seçmez veya bakiyeleri değiştirmez.

Tam ön uç örneği

Bu seçenekler, 2026-10-10 tarihinde genel Trading Widget 1.8.0 çalışma zamanına göre doğrulandı. Widget ve Agent Java SDK sürümleri bağımsızdır.

<div id="seconds-widget" style="width: 100%; height: 720px"></div>
<script src="https://app.6mm.com/sdk/trading-widget/v1/index.js"></script>
<script>
const page = 'up-down';
const tradingMode = 'demo';
const capabilities = TradingWidget.capabilities;
if (!capabilities?.partnerToken ||
!capabilities.pages?.includes(page) ||
!capabilities.tradingModes?.includes(tradingMode)) {
throw new Error('Trading Widget SDK does not support the requested page or mode');
}
const widget = TradingWidget.create('#seconds-widget', {
baseUrl: 'https://app.6mm.com',
page,
tradingMode,
theme: 'dark',
locale: 'zh-CN',
auth: {
mode: 'partner-token',
tokenProvider: async ({ channelId }) => {
// Partner-owned endpoint; derive the user from the backend session.
const response = await fetch('/api/seconds/embed-token', {
method: 'POST',
credentials: 'same-origin',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ channelId }),
});
if (!response.ok) {
throw new Error('Failed to request embed token');
}
const result = await response.json();
if (typeof result.embedToken !== 'string' || !result.embedToken.trim() ||
!Number.isFinite(result.expireAt) || result.channelId !== channelId) {
throw new Error('Invalid embed token response');
}
return {
embedToken: result.embedToken,
expireAt: result.expireAt,
channelId: result.channelId,
};
},
},
onReady() {
console.log('Trading widget ready');
},
onError(error) {
console.error('Trading widget error', error.code);
},
});
window.addEventListener('beforeunload', () => widget.destroy());
</script>
SeçenekDeğerlerAnlam
pageup-down, high-low, grid-predictionÜrün sayfası.
tradingModereal, demoVarsayılan olarak real; açıkça ayarlayın.
baseUrlhttps://app.6mm.comPlatform ön uç kökeni; Widget kendi yerleştirmesini URL oluşturur.

İş ortağı arka uç yanıtı

/api/seconds/embed-token iş ortağına ait bir uç noktadır, yeni bir 6MM API değildir. Oturumun kimliğini doğrulayın, agentUserId sunucu tarafını türetin ve createEmbedToken çağrısını yapın. Bu üst düzey yapıyı döndürün:

{
"embedToken": "short-one-time-token",
"expireAt": 1791590700,
"channelId": "tw_xxx"
}

Açıklayıcı değeri değil, Temsilci yanıtının gerçek expireAt değerini kullanın. Aracı yanıtı channelId içermiyor; arka ucunuz mevcut isteğin değerini yansıtır. Eğer API’iniz sonuçları data ile sarıyorsa, tokenProvider’den dönmeden önce o katmanın paketini açın. Geçersiz bir başarı nesnesi döndürmek yerine iş başarısızlıklarını reddedin.

Her başlatma veya yenileme, yeni bir belirteç elde eder. Aynı jetonu bir daha asla önbelleğe alıp değiştirmeyin veya URL içine yerleştirmeyin. Yenileme sırasında aynı örnek kanalını yeniden kullanın; örneği yeniden oluşturduktan sonra yeni kanalı kullanın.

Fon ortamını eşleştirin

Bir demo ön uç, environment=SIMULATED ile simüle edilmiş fon talepleri gerektirir. Bir real ön uç, üretim fonları gerektirir. Ne tradingMode ne de token oluşturma, arka uç fon hedefini değiştirmez.

Kullanıcıları veya ticaret modunu değiştirirken eski Widget’ı yok edin ve yeni bir örnek oluşturun. Kullanıcıyı fonlanmış olarak değerlendirmeden önce Fonlama bakiyelerini sorgulayın, fonları aktarın ve Finansmana özgü durum uç noktası aracılığıyla nihai sonucu onaylayın.

Görmek Finansman cüzdanı Ve Çevre kılavuzu.

Kaynak ve ilgili kılavuzlar