Steamworks-dokumentaatio
TradeSetUnowned/v0001
Tätä kutsutaan, kun Steam-talouspalvelin poistaa elementin tai valuuttamäärän käyttäjältä ja muuttaa sen omistamattomaan tilaan. Elementtipalvelin vahvistaa, että elementin tai valuuttatyypin muutos on luvallinen. Palvelin tarkistaa, että elementin omistajuus vastaa määritettyä omistajaa, elementti on vaihtokelpoinen ja sitä pyydetty määrä on saatavana.

Kutsuja: Vaihtojärjestelmä

HTTP-metodi: POST

Parametrit:

NimiTyyppiPakollinenKuvaus
keystringTämä on elementtipalvelimen tunnus, jonka annoit sovelluksesi kumppanisivulla Steam-talouden asetuksissa.
appiduint3232-bittinen sovellustunnus (AppID) sovellukselle, joka liittyy elementteihin.
owneruint64Elementin tai valuutan nykyisen omistajan 64-bittinen SteamID-tunnus.
contextiduint6464-bittinen tunnus kontekstille, jossa tämä elementti tai valuutta sijaitsee.
assetiduint64Poistettava 64-bittinen elementtitunnus. Joko elementti- tai valuuttatunnus määritetään osoittamaan, mikä kohde on spesifioitava muuksi kuin omistetuksi.
currencyiduint32Poistettava 32-bittinen valuuttatunnus. Joko elementti- tai valuuttatunnus määritetään osoittamaan, mikä kohde on spesifioitava muuksi kuin omistetuksi.
amountuint32Poistettavan elementin tai valuutan määrä. Tämä luku on aina 1 elementeille, joita ei voi pinota.
Se on aina pienempi tai yhtä suuri kuin määrä, jonka Steam-talouden palvelin olettaa olevan saatavilla tämän kontekstin elementille/valuutalle. Oletus on 1.
trade_start_timeuint32Vaihtoistunnon aloitusaika, joka ilmaistaan sekunteina 1.1.1970 lähtien.
audit_actionuint3232-bittinen luku, joka kertoo, minkä tyyppinen toiminto määrittää elementin tai valuutan omistamattomaksi.
audit_referenceuint6464-bittinen luku, joka kertoo, mihin tapahtumaan toiminto liittyy. Elementtipalvelin saattaa kirjata tämän luvun seurantaa ja vianetsintää varten.
leave_originalboolJos tämä totuusarvomuuttuja on 1 ("true" eli tosi), elementtipalvelinta pyydetään luomaan esineestä kaksoiskappale ja uusi, omistamaton esine, joka on määritetyn elementin kopio. Tämä on "true" (tosi) vain yksipuolisille vaihdon kumoamisille, jotka voidaan tehdä Steamin tuessa. Oletuksena on 0 (false eli epätosi).
request_repeatedboolJos tämä on 1 (true eli tosi), Steam-talouden palvelin osoittaa, että se on tehnyt aiemmin samanlaisen pyynnön, joka ei onnistunut täysin tai epäonnistui. Jos näyttää siltä, että elementti tai valuutta on jo määritetty samoissa audit_action- ja audit_reference -pyynnöissä omistamattomaksi, elementtipalvelimen on palautettava onnistunut pyyntö ja sen tulee määrittää new_assetid ja new_contextid ensimmäisen pyynnön palautuksina.
is_marketboolJos tämä on 1 (true eli tosi), pyyntö suoritetaan vastauksena johonkin Steamin kauppapaikan toimintoon.

Paluuarvot:

Metodin palautuksen tulisi olla koodattu JSON-muodossa.

Vastaus:
  • result
    • success – True (tosi), jos metodi onnistui. Jos elementtipalvelin palauttaa false (epätosi), sen on määritettävä virheilmoitus error syyn kertovalle merkkijonolle.

      HUOM! Jos success-kohtaan on määritetty false (epätosi) tai jos vastaus on virheellinen tai aikakatkaistu, Steam toistaa TradeSetUnowned-pyyntöä niin pitkään, kunnes se onnistuu. Jos virhe on pysyvä (esim. jos esinettä ei ole enää saatavana), määritä should_retry-arvoksi 0.
    • should_retry – Steam toistaa oletusarvoisesti TradeSetUnowned-kutsua, kunnes se onnistuu. Se varmistaa näin, että esine on pysyvässä tilassa, ennen kuin se päättää seuraavasta toiminnosta. Jos virhe on pysyvä eivätkä uudelleenyritykset muuta vastausta (esimerkiksi esinettä ei enää ole), voit määrittää kentän arvoksi 0.

      Voit asettaa myös arvon 1, jos haluat ilmoittaa Steamille, että virhe on tilapäinen (jos et pysty esimerkiksi tarkistamaan/muokkaamaan tietokantaa).

      Tämä kenttä on pakollinen, koska joissakin skenaarioissa elementtipalvelin voi vastaanottaa kaksi erilaista TradeSetUnowned-pyyntöä samalle assetid-tunnukselle, mutta eri audit_reference-arvoilla. Käyttäjä voi esimerkiksi yrittää vaihtaa esineen ja listata sen yhteisön kauppapaikalle samaan aikaan.
      Elementtipalvelimen on hyväksyttävä ensimmäinen TradeSetUnowned-pyyntö mutta hylättävä toinen, koska käyttäjä ei enää omista esinettä. Tässä esimerkissä toisen pyynnön vastauksen tulee määrittää should_retry-arvoksi 0, koska toinen pyyntö ei onnistunut eikä tule onnistumaan.

      Tärkeää! Kun tämä arvo on 0, Steam olettaa, että elementtipalvelimesi ei ole koskaan muokannut elementtiä TradeSetUnowned-pyynnön vastauksena.
      On tärkeää, että määrität tämän kentän arvoksi 0 vain siinä tapauksessa, kun olet varma, ettei TradeSetUnowne-pyyntöä ole koskaan käsitelty. Jos se on väärin, käyttäjät voivat menettää esineitä.
      Jos ohjelmistosi käsittelee esimerkiksi duplikaattipyyntöjä ja pystyy tarkistamaan elementin saatavuuden, duplikaattipyynnöt tulisi käsitellä ensin. Muutoin pyynnön toistuessa elementtipalvelin palauttaa tiedon siitä, ettei esinettä ole enää saatavilla ja kieltää Steamiä tekemästä uusintayrityksiä aiemman kutsun tulosten palauttamisen sijaan.
    • error – Merkkijono, joka kertoo syyn kutsun epäonnistumiselle. Viesti tallennetaan virhelokiin, joka on saatavilla Steamworks-sivuston Talous-välilehdellä.
    • new_assetid (valinnainen) – Elementin omistamattoman version 64-bittinen tunnus. Tämä määritetään vain elementin siirroille. Se voi olla uusi tai sama elementtitunnus, joka on määritetty elementtipalvelutoteutuksen mukaisessa pyynnössä.
      Oletusarvona on vastaanotettu elementtitunnus.
    • new_contextid (valinnainen) – Elementin tai valuutan omistamattoman version 64-bittinen kontekstitunnus. Kyseessä voi olla eri tai sama kontekstitunnus, joka määritettiin elementtipalvelun toteutuksen mukaisessa pyynnössä. Oletusarvona on vastaanotettu kontekstitunnus.

Auditointitoiminnot

Tässä on auditointitoimenpiteiden lista, joka voidaan lähettää tämän metodin yhteydessä. Uusia auditointityyppejä voidaan lisätä listaan milloin tahansa. Elementtipalvelimen tulee pystyä käsittelemään mitä tahansa etumerkittömiä, 32-bittisiä numeroita auditointitoimenpiteenä.
  • 101 – Trade Commit – Pyyntö on osa vaihtokaupan harjoittamista. Vaihtotunnuksena on audit_reference.
  • 102 – Trade Rollback – Pyyntö on osa vaihdon peruuttamista. Vaihtotunnuksena on audit_reference.