Μετάβαση στην πλοήγηση

Ενοποίηση συναλλαγών δευτερολέπτων

Ενοποίηση συναλλαγών δευτερολέπτων: Agent Java SDK Ενσωμάτωση v0.3.0, παραδείγματα, παράμετροι και σημασιολογία απόκρισης.

Προβολή ως Markdown

Αυτός ο οδηγός στοχεύει Agent Java SDK v0.3.0 και Java 8+.

Προετοιμάστε ταυτότητα, έλεγχο ταυτότητας και κεφάλαια

Η διαπραγμάτευση δευτερολέπτων χρησιμοποιεί την ίδια δέσμευση χρήστη και έλεγχο ταυτότητας εισόδου με τη διαρκή συναλλαγή. Χρησιμοποιεί υπόλοιπα χρηματοδότησης. διαρκές περιθώριο χρήσης Υπόλοιπα συμβολαίου. Διαμορφώστε τις παραμέτρους του προϊόντος/λειτουργίας διεπαφής και του περιβάλλοντος κεφαλαίων υποστήριξης χωριστά.

Αρχικοποιήστε το client χρησιμοποιώντας Γρήγορη εκκίνηση. Αποθηκεύστε την αντιστοίχιση δεσμευμένου χρήστη και αποκτήστε το αναγνωριστικό χρήστη συνεργάτη από την επαληθευμένη περίοδο λειτουργίας υποστήριξης.

Ανακατεύθυνση καταχώρισης

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. Επιστρέψτε το webUrl στη διεπαφή συνεργάτη και ανοίξτε το αμέσως. Το expireAt χρησιμοποιεί δευτερόλεπτα Unix. Ένα εισιτήριο είναι βραχύβιο και εφάπαξ. αποκτήστε άλλο μετά τη λήξη ή την κατανάλωση.

ΠροϊόνΠαράδειγμα διαδρομής frontendΠορτοφόλι
Πάνω/Κάτω/zh-CN/up-down?tradingMode=real ή demoΧρηματοδότηση
Υψηλό/Χαμηλό/zh-CN/high-low?tradingMode=real ή demoΧρηματοδότηση
Πλέγμα/zh-CN/grid-prediction?tradingMode=real ή demoΧρηματοδότηση
Διαρκή μέλλοντα/zh-CN/futures/BTCUSDT?tradingMode=real ή demoΣύμβαση

Χρησιμοποιήστε τις πραγματικές διαδρομές frontend που παρέχονται από το 6MM. Το redirectPath είναι μια σχετική διαδρομή πλατφόρμας που ξεκινά με /. returnUrl είναι απόλυτος συνεργάτης HTTP/HTTPS URL. Ένα εισιτήριο εισόδου πιστοποιεί την ταυτότητα του χρήστη και δεν εκτελεί μεταφορά.

Ενσωματωμένη καταχώρηση

Χρησιμοποιήστε την υπάρχουσα ροή partner-token και tokenProvider. Δεν υπάρχει διακριτικό συγκεκριμένο για την πρόβλεψη. Δημιουργήστε το Widget με τα επιθυμητά page και tradingMode και χρησιμοποιήστε το τρέχον channelId όταν καλείτε το backend συνεργάτη.

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. Το symbol είναι προαιρετικό. δεν επιλέγει προϊόν διαπραγμάτευσης δευτερολέπτων. Η επιλογή προϊόντων ανήκει στο frontend. Το διακριτικό δεν επιλέγει περιβάλλον κεφαλαίων ούτε αλλάζει τα υπόλοιπα.

Πλήρες παράδειγμα frontend

Αυτές οι επιλογές επαληθεύτηκαν έναντι του δημόσιου χρόνου εκτέλεσης Trading Widget 1.8.0 στις 10-10-2026. Το widget και οι εκδόσεις Agent Java SDK είναι ανεξάρτητες.

<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>
ΕπιλογήΑξίεςΕννοια
pageup-down, high-low, grid-predictionΣελίδα προϊόντος.
tradingModereal, demoΠροεπιλογές σε real; ορίζεται ρητά.
baseUrlhttps://app.6mm.comΠροέλευση frontend πλατφόρμας. το Widget δημιουργεί την ενσωμάτωσή του URL.

Απόκριση υποστήριξης συνεργάτη

Το /api/seconds/embed-token είναι ένα τελικό σημείο που ανήκει σε συνεργάτη, όχι ένα νέο 6MM API. Πραγματοποιήστε έλεγχο ταυτότητας της συνεδρίας, εξάγετε το agentUserId από την πλευρά του διακομιστή και καλέστε το createEmbedToken. Επιστρέψτε αυτήν τη δομή ανώτατου επιπέδου:

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

Χρησιμοποιήστε την πραγματική expireAt της απόκρισης Agent, όχι την ενδεικτική τιμή. Η απάντηση Agent δεν περιέχει channelId. Το backend σας αντηχεί την τιμή του τρέχοντος αιτήματος. Εάν το API σας αναδιπλώνεται σε data, ξετυλίξτε αυτό το στρώμα πριν επιστρέψετε από το tokenProvider. Απορρίψτε επιχειρηματικές αποτυχίες αντί να επιστρέψετε ένα μη έγκυρο αντικείμενο επιτυχίας.

Κάθε αρχικοποίηση ή ανανέωση αποκτά ένα νέο διακριτικό. Ποτέ μην αποθηκεύετε και μην ανταλλάξετε ξανά το ίδιο διακριτικό ή τοποθετήστε το σε URL. Χρησιμοποιήστε ξανά το ίδιο κανάλι παρουσίας κατά την ανανέωση. χρησιμοποιήστε το νέο κανάλι μετά τη δημιουργία του στιγμιότυπου.

Αντιστοιχίστε το περιβάλλον των ταμείων

Μια διεπαφή demo απαιτεί αιτήματα προσομοίωσης κεφαλαίων με environment=SIMULATED. Ένα real frontend απαιτεί κεφάλαια παραγωγής. Ούτε το tradingMode ούτε η δημιουργία διακριτικού αλλάζουν τον στόχο των κεφαλαίων υποστήριξης.

Κατά την εναλλαγή χρηστών ή λειτουργίας συναλλαγών, καταστρέψτε το παλιό Widget και δημιουργήστε μια νέα παρουσία. Ζητήστε τα υπόλοιπα χρηματοδότησης, μεταφέρετε κεφάλαια και επιβεβαιώστε το τελικό αποτέλεσμα μέσω του καταληκτικού σημείου κατάστασης συγκεκριμένης χρηματοδότησης προτού αντιμετωπίσετε τον χρήστη ως χρηματοδοτούμενο.

Βλέπω Πορτοφόλι χρηματοδότησης και Οδηγός περιβάλλοντος.

Πηγή και σχετικοί οδηγοί