Passer à la navigation

Agent Java SDK

Agent Java SDK : Agent Java SDK intégration v0.3.0, exemples, paramètres et sémantique de réponse.

Afficher en Markdown

Ce guide cible Agent Java SDK v0.3.0, Java 8+ et le contrat public étiqueté. Exemples exécutés dans un backend partenaire après l’initialisation de client dans Démarrage rapide.

Base de référence de la documentation : SDK v0.3.0, commit 54aa3c1. Webhook les règles de réception suivent également WEBHOOKS.md à fa6c7b6; il s’agit d’une mise à jour de documentation uniquement, sans nouvel artefact SDK contenant des méthodes d’assistance d’avertissement.

Versions et installation

ArticleValeur
Balise source stablev0.3.0
JavaJava 8+
MavenMaven 3.9+
Coordonnéescom.sixmm.exchange.sdk:agent:0.3.0

GitHub héberge la source ; cela ne rend pas ces coordonnées résolubles à partir de Maven Central. Utilisez l’installation locale balisée ou votre référentiel d’artefacts approuvé.

Ce que couvre le SDK

CatégorieScénarioSDK APIDescription
Liaison utilisateurLier l’utilisateurbindCréer ou récupérer la liaison entre un utilisateur partenaire et un utilisateur de la plateforme 6MM
Requêtes d’actifsCompte partenaire de requêtequeryAccountInterroger la marge du partenaire ou le compte de financement
Requêtes d’actifsInterroger les ressources utilisateurqueryUserAssetsInterroger les actifs du contrat ; utilisez withFunding() pour inclure les soldes de financement
TransfertsVirement à montant fixetransferTransférer des fonds vers ou depuis 6MM
TransfertsTout transférertransferAllOutTransférez tout le solde utilisateur retirable vers la plateforme partenaire
TransfertsOrdre inversereverseAnnuler un transfert réussi lorsque le backend prend en charge un flux de compensation
TransfertsOrdre de requêtequeryOrderRechercher un ordre de transfert par numéro de commande partenaire
TransfertsListe des commandeslistOrdersFeuilleter les ordres de transfert pour le rapprochement
WebhookVérification des signaturesWebhookVerifier.verifyVérifier les organismes d’avertissement de fonds bruts et de liquidation ; le code marchand gère les contrôles de temps, de propriété et de déduplication persistante. Voir Webhook Événements et avertissements de liquidation.
Portefeuille de financementTransfert de fondswalletTransferPartenaire ↔ Financement ou Financement ↔ Contrat ; confirmer le statut renvoyé
Portefeuille de financementStatut du transfert de fondsqueryWalletTransferRécupérer une opération de financement en utilisant son numéro de commande partenaire d’origine
Entrée en bourseEntrée directe URLcreateEntryUrlCréez un SSO URL unique pour le mode de redirection.
Entrée en bourseIntégrer le jetoncreateEmbedTokenCréez un jeton de courte durée pour le mode Trading Widget tokenProvider
Données perpétuellesCommandes perpétuelles actuelleslistCurrentPerpetualOrdersInterroger les commandes NORMAL ou CONDITIONAL en cours
Données perpétuellesHistorique des commandes perpétuellistPerpetualOrderHistoryInterroger les commandes du terminal NORMAL ou CONDITIONAL
Données perpétuellesMétiers perpétuelslistPerpetualTradesRequête d’échange pour une liste de joueurs publique explicite
Données perpétuellesPositions perpétuelles actuelleslistCurrentPerpetualPositionsInterroger les postes actuels
Données perpétuellesHistorique perpétuel des positionslistPerpetualPositionHistoryInterroger les positions fermées
Données perpétuellesGrand livre de comptes perpétuellistPerpetualLedgerInterroger les enregistrements individuels de modification du solde du contrat
Tarifs de référence FiatListe des monnaies fiduciaires prises en chargelistSupportedFiatCurrenciesListe des monnaies fiduciaires actuellement convertibles en USDT
Tarifs de référence FiatInterroger les taux de référence FXqueryExchangeRatesInterrogez quotidiennement les ratios de référence fiat—USDT pour toutes les devises ou certaines devises.
Informations sur les servicesVersion des servicesversionInformations sur la version du service Agent de requête

Configuration

Obtenez les valeurs suivantes auprès de 6MM avant intégrant.

ArticleExempleDescription
baseUrlhttps://agent-api.6mm.comAgent API base URL, sans barre oblique finale
agentCodeAGENT001Code partenaire
apiSecretyour-api-secretAPI secret de signature. Gardez-le uniquement sur le backend
defaultCurrencyUSDTDevise par défaut, généralement USDT
webhookUrlhttps://partner.example.com/6mm/webhookRappel du commerçant URL partagé par les quatre types d’événements ; expédition par organisme event, sans avertissement distinct URL.

Recommandations de fabrication :

  • Utilisez HTTPS pour les points de terminaison de l’agent API et webhook.
  • Stockez apiSecret dans un gestionnaire de secrets, un centre de configuration ou une variable d’environnement.
  • Gardez l’heure du serveur synchronisée, de préférence avec NTP.
  • Conservez tous les numéros de commande des partenaires et conservez-les uniques au monde.
  • N’envoyez jamais apiSecret aux navigateurs, applications, mini-programmes ou code source frontend.

Champs de signature automatique

Pour les appels signés de l’agent API, le SDK injecte automatiquement :

ChampSourceDescription
agentCodeAgentClientConfig.agentCodeCode partenaire
timestampHorodatage Unix actuel UTCSecondes
nonceGénérateur aléatoire sécuriséProtection contre la relecture
signHMAC-SHA256Demander une signature
currencydefaultCurrencyRempli lorsque les demandes de transfert/compte omettent la devise

Règles de signature :

  1. Exclure sign.
  2. Excluez les valeurs vides.
  3. Triez les clés par ordre ASCII.
  4. Rejoignez-nous en tant que k=v&k2=v2.
  5. Calculez HMAC-SHA256 hexadécimal avec apiSecret.

Les valeurs du tableau sont sérialisées sous forme compacte JSON avant de rejoindre la charge utile de signature. Par exemple, platformUserIds signe comme ["1188041528"], donnant platformUserIds=["1188041528"] dans la charge utile k=v. Conservez l’ordre des éléments du tableau, les guillemets doubles et les ID de chaîne ; n’insérez pas d’espaces de formatage et n’utilisez pas Java List.toString() (comme [1188041528]). Le SDK gère automatiquement cette sérialisation.

Le code commercial normal ne doit pas calculer les signatures ni définir manuellement agentCode, timestamp, nonce ou sign.

Source et guides associés