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

Java Γρήγορη εκκίνηση

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

Προβολή ως Markdown

Αυτός ο οδηγός στοχεύει Agent Java SDK v0.3.0, Java 8+ και τη δημόσια σύμβαση με ετικέτα. Εκκινήστε το client χρησιμοποιώντας τα βήματα εγκατάστασης και διαμόρφωσης σε αυτήν τη σελίδα. εκτελέστε τα παραδείγματα σε ένα backend συνεργάτη.

Παράδειγμα προαπαιτούμενα

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

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

Συντεταγμένες Maven

Τρέχουσες συντεταγμένες πηγής:

<dependency>
<groupId>com.sixmm.exchange.sdk</groupId>
<artifactId>agent</artifactId>
<version>0.3.0</version>
</dependency>

Το GitHub είναι φιλοξενία πηγής, όχι αποθετήριο εξαρτήσεων Maven. Εάν το SDK δεν έχει έχει δημοσιευτεί ακόμα σε ένα αποθετήριο Maven, εγκαταστήστε το στο τοπικό σας Maven αποθετήριο πρώτα:

git clone https://github.com/6mm-com/agent-java-sdk.git
cd agent-java-sdk
git checkout v0.3.0
mvn install

Μετά την τοπική εγκατάσταση, το επιχειρηματικό σας έργο μπορεί να επιλυθεί com.sixmm.exchange.sdk:agent:0.3.0 από το τοπικό αποθετήριο Maven.

Για ομαδικά build και δοκιμαστικά περιβάλλοντα, δημοσιεύστε το SDK σε ένα αποθετήριο Maven όπως Nexus, Artifactory, GitHub Packages, Maven Central ή χρήση GitHub βασισμένη υπηρεσία κατασκευής όπως το JitPack.

Για μια υπάρχουσα ενσωμάτωση, βλ SDK οδηγός αναβάθμισης. Χρησιμοποιήστε τη σταθερή ετικέτα πηγής v0.3.0 για να εγκαταστήσετε την SDK και να διαβάσετε την αντίστοιχη τεκμηρίωση ενσωμάτωσης.

Αρχικοποίηση πελάτη

Απλό Java

import com.sixmm.agent.AgentClient;
import com.sixmm.agent.AgentClientConfig;
AgentClient client = new AgentClient(AgentClientConfig.builder()
.baseUrl("https://agent-api.6mm.com")
.agentCode("AGENT001")
.apiSecret("your-api-secret")
.defaultCurrency("USDT")
.build());

Ανοιξιάτικη Μπότα

import com.sixmm.agent.AgentClient;
import com.sixmm.agent.AgentClientConfig;
import java.time.Duration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AgentSdkConfig {
@Bean
public AgentClient agentClient(AgentSdkProperties props) {
return new AgentClient(AgentClientConfig.builder()
.baseUrl(props.getBaseUrl())
.agentCode(props.getAgentCode())
.apiSecret(props.getApiSecret())
.defaultCurrency("USDT")
.timeout(Duration.ofSeconds(10))
.build());
}
}

Παραδείγματα ιδιοτήτων εφαρμογής:

agent.sdk.base-url=https://agent-api.6mm.com
agent.sdk.agent-code=AGENT001
agent.sdk.api-secret=${AGENT_API_SECRET}

Δέσμευση χρήστη

Το Bind δημιουργεί ή ανακτά τη σχέση μεταξύ ενός χρήστη συνεργάτη και ενός 6MM χρήστη της πλατφόρμας. Καλέστε το όταν ένας χρήστης εισέρχεται για πρώτη φορά στη ροή συναλλαγών ή πριν από το πρώτη μεταφορά στο 6MM.

import com.sixmm.agent.model.BindRequest;
import com.sixmm.agent.model.BindResponse;
BindResponse resp = client.bind(
BindRequest.of("agent-user-001")
.withUsername("alice")
.withExt("{\"source\":\"web\"}"));
System.out.println(resp.platformUserId);
System.out.println(resp.bindStatus);
System.out.println(resp.isSimulatedUser);

Πεδία αιτήματος:

ΠεδίοΤύποςΥποχρεούμαιΠεριγραφή
agentUserIdstringΝαίΜοναδικό αναγνωριστικό χρήστη από την πλευρά του συνεργάτη
usernamestringΟχιΕμφανιζόμενο όνομα από την πλευρά του συνεργάτη που χρησιμοποιείται ως ψευδώνυμο του χρήστη της πλατφόρμας
extstringΟχιΠεδίο επέκτασης. Συνιστάται η συμβολοσειρά JSON

Πεδία απόκρισης:

ΠεδίοΤύποςΠεριγραφή
platformUserIdstring6MM αναγνωριστικό εξωτερικού χρήστη
bindStatusstringΣυνήθως BOUND
isSimulatedUserbooleanΕίτε πρόκειται για προσομοιωμένο χρήστη

Προτεινόμενες επιχειρηματικές ροές

Πρώτη Είσοδος Συναλλαγών

1. User logs in to the partner site.
2. Partner backend calls bind with agentUserId.
3. Partner stores the agentUserId and platformUserId relationship.
4. User clicks the trading entry.
5. Redirect mode: call createEntryUrl and open webUrl in the browser.
6. Embed mode: Trading Widget calls tokenProvider, and partner backend calls createEmbedToken.

Κατάθεση σε 6MM

1. Partner creates a unique agentOrderNo.
2. Partner calls transfer(Direction.IN).
3. If SUCCESS is returned, mark the local order as successful.
4. If PROCESSING is returned, wait for webhook or poll queryOrder.
5. If FAILED is returned or AgentApiException is thrown, handle it as failed.

Απόσυρση Επιστροφή στον Συνεργάτη

1. Partner creates a unique agentOrderNo.
2. Fixed amount withdraw: call transfer(Direction.OUT).
3. Full withdraw: call transferAllOut.
4. Confirm the final result by orderStatus, webhook, or queryOrder.

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

Χειρισμός σφαλμάτων

SDK οι εξαιρέσεις χωρίζονται σε δύο κατηγορίες:

ΕξαίρεσηΣενάριοΠροτεινόμενος χειρισμός
AgentApiExceptionΗ κατάσταση HTTP δεν είναι 2xx ή η απόκριση αντιπροσώπου code != 0Διαβάστε τα getHttpStatus(), getCode() και getResponseBody() και αντιμετωπίστε το ως επιχειρηματική/API αποτυχία
AgentSdkExceptionΑποτυχία δικτύου, σειριοποίησης, διαμόρφωσης ή υπογραφήςΚαταγράψτε το και αντιμετωπίστε το ως εξαίρεση συστήματος

Παράδειγμα:

import com.sixmm.agent.AgentApiException;
import com.sixmm.agent.AgentSdkException;
try {
TransferResponse resp = client.transfer(TransferRequest.fixed(
"AGT-ORDER-1001", "agent-user-001", Direction.IN, "USDT", "10.00"));
// Update the local order according to resp.orderStatus.
} catch (AgentApiException e) {
// Business rejection or HTTP error.
log.warn("6mm agent api rejected request, httpStatus={}, code={}, body={}",
e.getHttpStatus(), e.getCode(), e.getResponseBody());
} catch (AgentSdkException e) {
// Local SDK error or network error.
log.error("6mm agent sdk request failed", e);
}

Λήψη Webhooks

Και οι τέσσερις τύποι συμβάντων μοιράζονται τη διαμορφωμένη επιστροφή κλήσης εμπόρου URL. αποστολή από το σώμα event. Επαληθεύστε τα αρχικά ληφθέντα byte και, στη συνέχεια, ελέγξτε το χρονικό παράθυρο, τον έμπορο και το περιβάλλον. Επιστρέψτε το HTTP 2xx μόνο μετά τη δέσμευση επιχειρηματικών δεδομένων και επιτυχών εγγραφών κατάργησης διπλότυπων ή την αξιόπιστη αποθήκευση μιας μόνιμης εργασίας.

Γεγονότα και προειδοποιήσεις εκκαθάρισης · Επαλήθευση υπογραφής, απαντήσεις και επαναλήψεις