Wird aufgerufen, wenn der Steam-Economy-Server ein Element oder eine Währungsmenge, welche(s) bisher als „unowned“ gekennzeichnet war, in das Inventar eines Benutzers übertragen muss. Der Asset-Server muss nun entscheiden, ob diese Änderung zulässig ist. Er sollte überprüfen, dass das Element oder die Währungsmenge tatsächlich auf „unowned“ gesetzt ist sowie, dass es/sie handelbar und in der angeforderten Quantität vorhanden ist.
Bei stapelbaren Elementen und Währungsmengen ist es möglich, dass weniger als die vorhandene „unowned“-Anzahl bereitgestellt wird. In diesem Fall muss die Anzahl der als „unowned“ gekennzeichneten Elemente bzw. Währungsmengen reduziert und ein neues Element bzw. Währungsmenge erstellt werden.
Besonders häufig ist dies der Fall bei stapelbaren Gegenständen, die im Communitymarkt gelistet werden können. Wenn jemand beispielsweise einen großen Artikelstapel auflistet, kann es durchaus sein, dass die einzelnen Gegenstände in mehreren kleinen Transaktionen gekauft werden.
Der Asset-Server erhält bei Erstellung der Liste einen Aufruf von
TradeSetUnowned und anschließend einen Aufruf von
TradeSetOwned
für jeden einzelnen Kauf. Beim ersten Kauf eines Gegenstands aus der Liste stimmt der Wert
audit_reference
im Aufruf
TradeSetOwned
mit dem Wert
audit_reference
aus dem Aufruf
TradeSetUnowned
überein. Bei darauffolgenden Käufen aus der Liste weist
audit_reference
jeweils unterschiedliche Werte auf, bezieht sich aber auf denselben
assetid
. Im Falle einer Stornierung der Liste, ist der Wert für
audit_reference
im resultierenden Aufruf von
TradeSetOwned
ein Wert, der bisher in keinem anderen Aufruf von
TradeSetOwned
verwendet wurde und von dem daher nicht mit Sicherheit gesagt werden kann, dass er dem Wert entspricht, der im Aufruf
TradeSetUnowned
beim Erstellen der Liste verwendet wurde.
Aufgerufen von: Handelssystem
HTTP-Methode: POST
Parameter:
Name | Typ | Erforderlich? | Beschreibung |
key | string | ✔ | Dies ist der „Asset-Server-Schlüssel“, den Sie in den Steam-Wirtschaftseinstellungen Ihrer Anwendung auf der Partnerseite angegeben haben. |
appid | uint32 | ✔ | Die 32-Bit-App-ID der Anwendung, auf die sich das Element bezieht. |
owner | uint64 | ✔ | Die 64-Bit-Steam-ID des neuen Eigentümers des Elements bzw. der Währungsmenge. |
contextid | uint64 | ✔ | Die 64-Bit-ID des Kontexts, in dem das Element bzw. die Währungsmenge enthalten ist. |
assetid | uint64 | | Die übertragene 64-Bit-Asset-ID. Es wird entweder die Element- oder die Währungs-ID eingestellt und angegeben, welche Art von Objekt als „owned“ markiert werden soll. |
currencyid | uint32 | | Die 32-Bit-Währungs-ID, die entfernt wird. Es wird entweder die Element- oder die Währungs-ID eingestellt und angegeben, welche Art von Objekt als „owned“ markiert werden soll. |
amount | uint32 | | Die Anzahl der Elemente bzw. Währungseinheiten, die übertragen werden sollen. Bei nicht stapelbaren Elementen ist diese Zahl immer 1. Außerdem ist die Zahl immer kleiner als oder höchstens gleich der Menge, die nach Einschätzung des Steam-Economy-Servers für dieses Element bzw. diese Währung in diesem Kontext vorhanden ist. Standardwert: 1. |
trade_start_time | uint32 | ✔ | Der Zeitpunkt, zu dem die für diese Aktion verantwortliche Handelssitzung gestartet wurde, ausgedrückt in Sekunden seit dem 1. Januar 1970. |
audit_action | uint32 | ✔ | Eine 32-Bit-Zahl, die die Art der Aktion angibt, die das Element bzw. die Währungsmenge als „owned“ kennzeichnet. |
audit_reference | uint64 | ✔ | Eine 64-Bit-Zahl zur Identifizierung des Ereignisses, auf das sich die Aktion bezieht. Es wird empfohlen, diese Zahl zu Audit- und Debugging-Zwecken vom Asset-Server aufzeichnen zu lassen. |
leave_original | bool | ✔ | Wenn dieser Boolesche Parameter auf 1 gesetzt ist (= true), wird der Asset-Server aufgefordert, den Gegenstand zu duplizieren und eine als „owned“ gekennzeichnete Kopie des angegebenen Elements zu erstellen. Dies ist nur „true“ wenn ein Handelsgeschäft allein durch einen Supportmitarbeiter rückgängig gemacht wird. Standardwert: 0 (false). |
request_repeated | bool | ✔ | Wenn dies auf 1 gesetzt ist (= true), gibt der Steam-Economy-Server an, dass er bereits früher einmal eine identische Anfrage geschickt hat, aber keine eindeutige Erfolgs- oder Fehlermeldung zur Antwort bekommen hat. Wenn es den Anschein hat, dass dieses Element bzw. diese Währungsmenge für dieselbe audit_action und dieselbe audit_reference bereits auf „owned“ gesetzt wurde, sollte der Asset-Server eine Erfolgsmeldung zurückgeben und new_assetid sowie new_contextid auf den Wert setzen, der bei der ersten Anfrage zurückgegeben wurde. |
is_market | bool | ✔ | Wenn dies auf 1 gesetzt ist (= true), ist die Anfrage eine Antwort auf irgendeine Aktivität im Steam-Communitymarkt. Wenn audit_action 101 lautet (Handels-Abschluss), bedeutet das, dass der Benutzer den Gegenstand gekauft hat. Wenn audit_action 102 lautet, bedeutet das, dass der Benutzer seine Marktliste storniert oder dass der Gegenstand aufgrund eines Fehlers beim Erstellen der Liste an den Benutzer zurückgegeben wird. |
Rückgabewert
Die Ausgabe dieser Methode sollte im JSON-Format kodiert sein.
Antwort: -
result
-
success
: Gibt den Wert „true“ aus, wenn die Methode erfolgreich war. Wenn der Asset-Server „false“ zurückgibt, sollte error
auf einen String eingestellt werden, der den Grund dafür erklärt.
-
error
: Dieser String beschreibt, warum dieser Aufruf fehlgeschlagen ist. Diese Nachricht wird im Fehlerprotokoll aufgezeichnet, das im Tab „Wirtschaft“ auf der Webseite von Steamworks verfügbar ist.
-
new_assetid
(optional): Die 64-Bit-Element-ID der „unowned“-Version des Elements. Wird nur für Elementübertragungen eingestellt. Dies
kann je nach Implementierung auf dem Asset-Server eine neue Element-ID oder die gleiche wie in der Anfrage sein.
In der Standardeinstellung ist es die gleiche Element-ID wie in der ursprünglichen Anfrage.
HINWEIS: Für Prüfungszwecke wird empfohlen, dass die Implementierungen auf dem Asset-Server eine Kopie des Elements erstellen und die neue Element-ID in der Antwort auf TradeSetOwned zurückgeben. Dies hilft unserer Erfahrung nach auch bei der Vermeidung von Fehlern, da ein einmal gelöschtes oder auf „unowned“ gesetztes Element für immer in diesem Status bleibt. Es kann auch hilfreich sein, eine Verbindung zwischen dem neuen und dem alten Element aufrechtzuerhalten (indem beispielsweise Teile der ursprünglichen Element-ID aus der ersten Erstellung des Elements in Ihrem Spiel beibehalten werden). Dies sind keine erforderlichen Maßnahmen, sondern lediglich Empfehlungen aus unserer Erfahrung.
-
new_contextid
(optional): Die 64-Bit-Kontext-ID der neuen „owned“-Version des Elements oder der Währungsmenge. Kann je nach Implementierung auf dem Asset-Server eine neue Kontext-ID oder die gleiche wie in der Anfrage sein. In der Standardeinstellung ist es die gleiche Kontext-ID wie in der ursprünglichen Anfrage.
Audit-Aktionen
Das ist die aktuelle Liste der Audit-Aktionen, die mit dieser Methode übergeben werden können. Dieser Liste können jederzeit neue Audit-Typen hinzugefügt werden. Die Asset-Server sollten daher in der Lage sein, sämtliche 32-Bit-Zahlen ohne Vorzeichen als Audit-Aktionen zu interpretieren.
- 101 – Handels-Abschluss: Diese Anfrage ist Teil des Prozesses zum Abschluss eines Handelsgeschäfts. audit_reference ist eine Handels-ID.
- 102 – Handels-Rückabwicklung: Diese Anfrage ist Teil des Prozesses zur Rückabwicklung eines Handelsgeschäfts. audit_reference ist eine Handels-ID.