> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Χρήστες & Στοιχεία

Αυτός ο οδηγός στοχεύει **Agent Java SDK `v0.3.0`**, Java 8+ και τη δημόσια σύμβαση με ετικέτα. Τα παραδείγματα εκτελούνται σε ένα backend συνεργάτη μετά την προετοιμασία του `client` στο [Γρήγορη εκκίνηση](/el/sdk/agent-sdk/java/quick-start).

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

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

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

## Κανόνες User ID

Το `platformUserId` είναι το 6MM αναγνωριστικό εξωτερικού χρήστη. Αυτή τη στιγμή είναι ένας 10ψήφιος αριθμός
συμβολοσειρά, για παράδειγμα:

```text
1188041528
```

Κανόνες:

* Αποθηκεύστε το ως συμβολοσειρά, όχι ως ακέραιο.
* Μην δημιουργείτε, αποκωδικοποιείτε ή συνάγετε νόημα από αυτό.
* Χρησιμοποιήστε το δικό σας αναγνωριστικό χρήστη από την πλευρά του συνεργάτη ως `agentUserId`.
* Διατηρήστε τη σχέση μεταξύ `agentUserId`, `platformUserId` και `agentOrderNo`.

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

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

```java
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);
```

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

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

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

| Πεδίο             | Τύπος   | Περιγραφή                               |
| ----------------- | ------- | --------------------------------------- |
| `platformUserId`  | string  | 6MM αναγνωριστικό εξωτερικού χρήστη     |
| `bindStatus`      | string  | Συνήθως `BOUND`                         |
| `isSimulatedUser` | boolean | Είτε πρόκειται για προσομοιωμένο χρήστη |

## Ερώτηση λογαριασμού συνεργάτη

```java
import com.sixmm.agent.model.QueryAccountRequest;
import com.sixmm.agent.model.QueryAccountResponse;

QueryAccountResponse resp = client.queryAccount(QueryAccountRequest.of("USDT"));

System.out.println(resp.agentCode);
System.out.println(resp.agentStatus);
resp.assets.forEach(asset -> {
    System.out.println(asset.currency);
    System.out.println(asset.depositBalance);
});
```

Όταν το `currency` απουσιάζει, το SDK χρησιμοποιεί το `defaultCurrency`.

## Ερώτημα περιουσιακών στοιχείων χρήστη

```java
import com.sixmm.agent.model.QueryUserAssetsRequest;
import com.sixmm.agent.model.QueryUserAssetsResponse;

QueryUserAssetsResponse resp = client.queryUserAssets(
        QueryUserAssetsRequest.of("1188041528"));

System.out.println(resp.walletBalance);
System.out.println(resp.availableBalance);
System.out.println(resp.version);
```

Πεδία:

| Πεδίο              | Τύπος   | Περιγραφή                               |
| ------------------ | ------- | --------------------------------------- |
| `walletBalance`    | string  | Υπόλοιπο πορτοφολιού                    |
| `frozenMargin`     | string  | Παγωμένο περιθώριο                      |
| `usedMargin`       | string  | Χρησιμοποιημένο περιθώριο               |
| `availableBalance` | string  | Διαθέσιμο υπόλοιπο                      |
| `isolatedMargin`   | string  | Μεμονωμένο περιθώριο                    |
| `version`          | int64   | Έκδοση περιουσιακού στοιχείου           |
| `isSimulatedUser`  | boolean | Είτε πρόκειται για προσομοιωμένο χρήστη |

### Ξεχωρίστε τα τρία πορτοφόλια

| πορτοφόλι                       | Πηγή υπολοίπου                                                 | χρήση                                                                               |
| ------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Το πορτοφόλι χρήστη του εμπόρου | Το λογιστικό σύστημα του ίδιου του εμπόρου                     | Το διαθέσιμο υπόλοιπο του χρήστη από την πλευρά του εμπόρου                         |
| Χρηματοδότηση πλατφόρμας        | `queryUserAssets` από `funding`                                | Δευτερόλεπτα διαπραγμάτευση κεφαλαίων και αμοιβαία μεταφορά χρηματοδότησης/Σύμβασης |
| Συμβόλαιο πλατφόρμας            | Το πεδίο περιουσιακών στοιχείων της σύμβασης `queryUserAssets` | Περιθώριο αορίστου συμβολαίου και μεταβιβάσιμο υπόλοιπο                             |

`queryAccount` Υποβάλετε ερώτημα στον λογαριασμό περιθωρίου της πλατφόρμας εμπόρου και όχι στο πορτοφόλι χρήστη του εμπόρου. Αυτή η διεπαφή δεν έχει παραμέτρους `environment` και δεν μπορεί να αναζητηθεί ως προσομοιωμένο στοιχείο χρήστη.

Ρωτήστε τα δύο πορτοφόλια πλατφόρμας των προσομοιωμένων χρηστών:

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

Διεπαφή: `POST /v1/agent/query-user-assets`. Η χρηματοδότηση ζητείται μόνο όταν `includeFunding=true`; Η σημασιολογία ερωτήματος περιουσιακών στοιχείων του αρχικού συμβολαίου χρησιμοποιούνται από προεπιλογή.

| πεδία απόκρισης                                                                     | έννοια                                                                                                                                           |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `walletBalance`, `availableBalance`, `frozenMargin`, `usedMargin`, `isolatedMargin` | Ποσά που σχετίζονται με το πορτοφόλι συμβολαίου                                                                                                  |
| `funding.assetCode`                                                                 | Επί του παρόντος USDT                                                                                                                            |
| `funding.availableAmount`, `heldAmount`, `totalAmount`                              | Διαθέσιμη χρηματοδότηση, κατειλημμένο και συνολικό ποσό                                                                                          |
| `funding.materialized`                                                              | Εάν ο λογαριασμός Χρηματοδότησης έχει υλοποιηθεί;                                                                                                |
| `environment`                                                                       | Αυτό το πεδίο επαναλαμβάνεται όταν το περιβάλλον μεταβιβάζεται ρητά. παλιά αιτήματα που παραλείπουν το περιβάλλον δεν επιστρέφουν αυτό το πεδίο. |
| `isSimulatedUser`                                                                   | Ταξινόμηση λογαριασμού; δεν μπορεί να αντικαταστήσει την επιλογή περιβάλλοντος συναλλαγών                                                        |

Τα ποσά αντιμετωπίζονται ως συμβολοσειρές ή `BigDecimal`, όχι `float`/`double`.

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

* [Επίσημη πηγή έκδοσης 0.3.0](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Επισκόπηση ερωτήματος και σελιδοποίηση](/el/sdk/agent-sdk/java/perpetual-queries)
* [Πορτοφόλι χρηματοδότησης](/el/sdk/agent-sdk/java/funding-wallet)
* [Οδηγός αναβάθμισης](/el/sdk/agent-sdk/java/upgrade)