เอกสาร Steamworks
GetContextContents/v0001
จะคืนค่า Asset และสกุลเงินที่อยู่ในบริบทเฉพาะกลับมาให้แก่ผู้ใช้

ถูกเรียกโดย: Trading UI, Inventory UI

เมธอด HTTP: GET

พารามิเตอร์:

ชื่อประเภทที่ต้องการคำอธิบาย
keystringนี่คือ "คีย์เซิร์ฟเวอร์ทรัพยากรy" ที่คุณจัดไว้ให้ในการตั้งค่าระบบเศรษฐกิจของ Steam สำหรับแอปของคุณบนเว็บไซต์พันธมิตร
appiduint32ไอดีแอปประเภท 32 บิต ของแอปพลิเคชันที่เกี่ยวข้องกับทรัพยากรนั้น
steamiduint64ไอดี Steam ประเภท 64 บิตของผู้ใช้ที่จะคืนค่าทรัพยากรไปให้
contextiduint64ไอดีประเภท 64 บิตของบริบทที่จะคืนค่าทรัพยากรกลับไปให้

คืนค่า

เอาต์พุตจากเมธอดนี้ควรถูกเข้ารหัสไว้ในรูปแบบของ JSON

คำตอบ:
  • result
    • success - True หากเมธอดประสบความสำเร็จ หากเซิร์ฟเวอร์ Asset คืนค่า false กลับมา ก็จะตั้งค่า error เป็นสตริงเพื่ออธิบายเหตุผลว่าเกิดอะไรขึ้น
    • error - สตริงอธิบายสาเหตุที่การเรียกนี้ล้มเหลว ข้อความดังกล่าวจะถูกบันทึกไว้ในรายการบันทึกความผิดพลาด ซึ่งจะสามารถใช้งานได้ใน แท็บระบบเศรษฐกิจ ในเว็บไซต์ของ Steamworks
    • assets - อาร์เรย์ของ Asset ที่เป็นลูก (children) ของบริบทที่ได้ระบุไว้
      • id - ID ประเภท 64 บิตของ Asset
      • class - อาร์เรย์ของตัวระบุคลาสของ Asset ที่ได้นิยามค่าเอาไว้ตามเกม โดยเกมจะกำหนด
        ตัวระบุเหล่านั้นเองว่าจะให้เป็นอะไร โดยจะต้องเตรียมข้อมูลไว้ให้เพียงพอในการสร้างข้อมูลของ Asset ซ้ำอีกครั้ง
        (ซึ่งในที่นี้คือ การลงรายละเอียดว่าไอเท็มดังกล่าวเป็นไอเท็มประเภทอะไร) ในเวลาที่ตัวระบุได้ถูกส่งกลับเข้าไปใน GetAssetClassInfo/v0001 ตัวระบุแต่ละตัวควรจะประกอบไปด้วยช่องข้อมุลต่าง ๆ ดังต่อไปนี้:
        • name - ชื่อของส่วนประกอบส่วนนี้ของตัวระบุคลาส
        • value - ค่าเป็นสตริงของส่วนประกอบส่วนนี้ของตัวระบุคลาส
        • instance - หากเป็นค่า true จะถือว่าตัวระบุคลาสเป็น "ข้อมูลอินสแตนซ์ ", ซึ่งหมายความว่า
          โดยทั่วไปแล้วก็จะไม่ส่งเข้าไปพร้อมกับไอเท็มในเวลาแลกเปลี่ยน ดังนั้นจึงไม่เข้าไปเป็นส่วนหนึ่งของมูลค่าการแลกเปลี่ยนของไอเท็มดังกล่าว
          (ค่าเริ่มต้น: false)
          หมายเหตุ: คุณสมบัติคลาสของ Asset ที่สุดท้ายแล้วจะมีผลต่อ market_hash_nameไอเท็มใน GetAssetClassInfo/v0001 การตอบสนองนั้น ไม่ควรถูกคำนึงว่าเป็นข้อมูลอินสแตนซ์ โดยตลาดชุมชนจะต้องใช้คุณสมบัติของอินสแตนซ์ที่ไม่มีผลต่อ market_hash_name
        เพื่อเป็นการใช้งานข้อมูลคำอธิบายที่ Steam สามารถจะเก็บแคชไว้ให้ได้มากที่สุด ตัวระบุคลาสควรจะรับข้อมูลทั่วไปและสามารถใช้ซ้ำได้ให้มากที่สุดเท่าที่จะเป็นไปได้ ตัวอย่างเช่น ให้พยายามหลีกเลี่ยงคลาสที่มีคุณสมบัติเพียงค่าเดียวที่มาพร้อมกับชื่อ เช่น itemid และมีค่าที่เป็นไอดีประเภท 64 บิตของ Asset แต่ให้ทำเช่นนี้แทน คือ ให้อธิบายประเภทของไอเท็มในลักษณะที่ให้ข้อมูลมากพอที่จะเขียนคำอธิบาย ยกตัวอย่าง คลาสของ Asset ที่มี type = sword และ rarity = common จะให้ข้อมูลที่เพียงพอแก่คุณในการเขียนคำอธิบายไอเท็ม โดยไม่จำเป็นจะต้องรู้อย่างแน่ชัดว่าอินสแตนซ์ของไอเท็มนั้นคืออะไร
      • amount (ตัวเลือกเสริม) - จำนวนสแต็กของ Asset นี้ ผู้ใช้จะสามารถแลกเปลี่ยนได้จนกระทั่งจำนวนการแลกมีค่าตามที่ได้ระบุไว้ในสแต็กนี้ (ค่าเริ่มต้นคือ: 1)
    • currency0> (ตัวเลือกเสริม) - อาร์เรย์ของประเภทของสกุลเงินที่บริบทนี้จะบรรจุไว้ หากผู้ใช้ไม่มีสกุลเงินดังที่กำหนดไว้ ควรใส่ไว้ที่นี่ก็ต่อเมื่อจะให้มองเห็นบน UI ในเกมเท่านั้น การแสดงผลสกุลเงินนั้นจะเหมือนกับการแสดงผล Asset มาก เพราะฉะนั้นช่องข้อมูลใดก็ตามสำหรับ Asset ที่ได้ระบุเอาไว้ข้างต้นก็จะถูกใช้งานกับสกุลเงินด้วย ยกเว้นช่องข้อมูล class และ id รวมทั้งยังจะต้องใช้ช่องข้อมูลดังต่อไปนี้อีก 2 ช่องนอกเหนือจากช่องข้อมูล Asset อื่น ๆ ให้แก่สกุลเงินด้วย:
      • id - ID ประเภท 32 บิตแบบไม่มีเครื่องหมายบวกลบ ที่ได้กำหนดเอาไว้ให้แก่สกุลเงินประเภทนี้ ไอดีนี้จะต้องไม่ซ้ำกันในเกมนี้โดยรวม
      • amount - จำนวนเต็มประเภท 64 บิตที่จะแจ้งถึงจำนวนเงินในสกุลเงินประเภทนี้ที่ผู้ใช้ครอบครองอยู่

ข้อมูลเอาต์พุตตัวอย่าง

{ "result": { "assets": [ { "id": 131363189, "class": [ { "name": "def_index", "value": "128" }, { "name": "quality", "value": "3" } ] }, { "id": 131412933, "class": [ { "name": "def_index", "value": "155" }, { "name": "quality", "value": "3" } ] }, { "id": 556669733, "class": [ { "name": "def_index", "value": "583" }, { "name": "flags", "value": "1" }, { "name": "origin", "value": "1", "instance": true } ] }, ] , "success": true } }