Steamworks-dokumentaatio
TradeSetOwned/v0001
Tätä kutsutaan, kun Steam-talouden palvelimen on siirrettävä käyttäjän tavaraluetteloon sellainen esine tai valuuttaa, jota käyttäjä ei aiemmin omistanut. Elementtipalvelin vahvistaa, että elementin tai valuuttatyypin muutos on luvallinen. Palvelin tarkistaa, ettei kukaan omista elementtiä, elementti tai valuutta on vaihdettavissa ja pyydetty summa on saatavilla.

Pyyntö voi alun perin tarjota omistamattomien elementtien määrän, jos elementti tai valuutta on pinottavissa. Tässä tapauksessa tulee alentaa omistamattoman elementin tai valuutan määrää ja luoda uusi elementti.

Näin käy, jos kyseessä on pinottava esine, joka voidaan listata yhteisön kauppapaikalla. Jos joku laittaa esimerkiksi myyntiin kauppapaikalle ison määrän esineitä yhtenä listauksena, voidaan kuitenkin tehdä useita pieniä ostoksia.

Elementtipalvelin vastaanottaa yhden TradeSetUnowned-kutsun listausta tehdessä ja sen jälkeen yhden TradeSetOwned-kutsun jokaisesta ostoksesta. Kun joku tekee kauppapaikan listauksesta ensimmäisen ostoksen, TradeSetOwned-kutsun audit_reference-arvo vastaa TradeSetUnowned-kutsun audit_reference-arvoa. Myöhemmillä samasta listauksesta tehdyillä ostoilla on eri audit_reference-arvot, mutta ne viittaavat silti samaan assetid-tunnukseen. Jos listaus peruutetaan, audit_reference-arvo tuloksena olevassa TradeSetOwned-kutsussa on se, jota ei ole ennen käytetty missään muussa TradeSetOwned-kutsussa. Näin se ei välttämättä vastaa TradeSetUnowned-kutsun arvoa, jota käytettiin listausta luotaessa.

Kutsuja: Vaihtojärjestelmä

HTTP-metodi: POST

Parametrit:

NimiTyyppiPakollinenKuvaus
keystringTämä on elementtipalvelimen tunnus, jonka annoit sovelluksesi kumppanisivulla Steam-talouden asetuksissa.
appiduint3232-bittinen sovellustunnus (App ID) sovellukselle, joka liittyy elementteihin.
owneruint64Elementin tai valuutan uuden omistajan 64-bittinen Steam ID -tunnus.
contextiduint6464-bittinen tunnus kontekstille, jossa tämä elementti tai valuutta sijaitsee.
assetiduint64Siirrettävä 64-bittinen elementtitunnus. Joko elementti- tai valuuttatunnus määritetään osoittamaan, mikä kohde on määritettävä omistetuksi.
currencyiduint32Poistettava 32-bittinen valuuttatunnus. Joko elementti- tai valuuttatunnus määritetään osoittamaan, mikä kohde on määritettävä omistetuksi.
amountuint32Siirrettävän 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 omistetuksi.
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, omistettu 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ä omistetuksi, 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. Kun audit_action on 101 (vaihto lähetetty), käyttäjä on ostanut esineen. Kun audit_action on 102, käyttäjä peruuttaa kauppapaikan listauksensa tai esine palautetaan käyttäjälle, koska listaus on luotu väärin.

Paluuarvot

Metodin palautuksen tulisi olla koodattu JSON-muodossa.

Vastaus:
  • result
    • success – true (tosi), jos menetelmä toimi. Jos elementtipalvelin palauttaa arvon false (epätosi), sen on määritettävä merkkijonoon syyn ilmaiseva error.
    • error – merkkijono, joka kertoo syyn kutsun epäonnistumiselle. Viesti tallennetaan virhelokiin, joka on saatavana Steamworks-sivuston Talous-välilehdeltä.
    • new_assetid (valinnainen) – elementin omistamattoman version 64-bittinen tunnus. Tämä määritetään vain elementin siirroille. Tämä
      voi olla uusi elementtitunnus tai sama, pyynnössä määritetty elementtitunnus, jonka toteutus riippuu elementtipalvelimesta.
      Oletusarvo on sama kuin alkuperäinen elementtitunnus.

      Huomaa! Seurantatarkoituksia varten suosittelemme, että elementtipalvelimen toteutuksissa luodaan uusi kopio elementistä ja palautetaan uusi elementtitunnus TradeSetOwned-vastauksessa. Kun elementti poistetaan ja määritetään muuksi kuin omistetuksi, se pysyy siinä tilassa pysyvästi, mistä on apua virheiden ennaltaehkäisyssä. On myös hyödyllistä seurata uuden ja vanhan elementin välistä liitosta (esimerkiksi säilyttämällä joitakin "alkuperäisiä elementtitunnuksia", jotka syntyivät, kun elementti luotiin pelissä). Tämä ei ole pakollista, mutta se voi olla hyödyllistä.
    • new_contextid (valinnainen) – uuden, omistetun version elementin tai valuutan 64-bittinen kontekstitunnus. Kyseessä voi olla eri tai sama kontekstitunnus, joka määritettiin elementtipalvelun toteutuksen mukaisessa pyynnössä. Oletuksena 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 – tämä pyyntö on osa vaihtokaupan tekemistä. Vaihtotunnus on audit_reference.
  • 102 – Trade Rollback – tämä pyyntö on osa vaihtokaupan peruuttamista. Vaihtotunnus on audit_reference.