เอกสาร Steamworks
GetAssetClassInfo/v0001
จะคืนรายละเอียดที่จำเป็นในการแสดงคลาสของ Asset ให้แก่ผู้ใช้ จะต้องเรียกเมธอดนี้อย่างน้อย 1 ครั้งต่อแต่ละ Asset ที่ปรากฏอยู่ในช่องเก็บของผู้ใช้ ซึ่งเมธอดนี้จะถูกแคชเป็นปริมาณมาก เพราะฉะนั้นก็ควรจะเรียกน้อยกว่า 1 ครั้งต่อการดู Asset 1 ครั้ง ถ้าคุณต้องการที่จะล้างแคชไม่ว่าจะด้วยเหตุผลใดก็ตาม คุณสามารถเปลี่ยนเวอร์ชันของคลาสของ Asset ได้ในแท็บระบบเศรษฐกิจของรายละเอียดทางเทคนิคสำหรับแอปของคุณ

โดยทั่วไปแล้ว เกมจะนิยามตัวระบุคลาสทั้งหมดที่มี Asset ดังกล่าวนั้นอยู่ ยกเว้นว่าเป็นสกุลเงิน เซิร์ฟเวอร์ระบบเศรษฐกิจของ Steam อาจจะเรียก GetAssetClassInfo พร้อมกับตัวระบุเพียงตัวเดียวที่เรียกว่า currencyid ที่มีค่าเท่ากันกับไอดีของสกุลเงินที่จะต้องค้นหา ในกรณีนี้ เซิร์ฟเวอร์ Asset ก็ควรจะส่งคืนค่ารายละเอียดการแสดงผลสกุลเงิน แทนที่จะส่งคืนค่ารายละเอียดการแสดงผล Asset

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

เมธอด HTTP: GET

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

ชื่อประเภทที่ต้องการคำอธิบาย
keystringนี่คือ "คีย์เซิร์ฟเวอร์ทรัพยากรy" ที่คุณจัดไว้ให้ในการตั้งค่าระบบเศรษฐกิจของ Steam สำหรับแอปของคุณบนเว็บไซต์พันธมิตร
appiduint32ไอดีแอปประเภท 32 บิต ของแอปพลิเคชันที่เกี่ยวข้องกับทรัพยากรนั้น
class_countuint32จำนวนของตัวระบุคลาสที่ระบุไว้
class_name#stringชื่อของตัวระบุ หนึ่งในพารามิเตอร์เหล่านี้มีไว้เพื่อใช้กับแต่ละหมายเลขระหว่าง 0 ถึง class_count-1 (เช่น class_name0, class_name1, class_name2)
class_value#stringค่าของตัวระบุ หนึ่งในพารามิเตอร์เหล่านี้มีไว้เพื่อใช้กับแต่ละหมายเลขระหว่าง 0 ถึง class_count-1 (เช่น class_value0, class_value1, class_value2)
languagestringรหัสภาษาประเภท ISO639-1 พร้อมด้วยรหัสประเทศประเภท ISO 3166-1 alpha 2 ของภาษาที่จะส่งค่าสตริงกลับคืน ยกตัวอย่างเช่น en_US, de_DE, zh_CN และ ko_KR ค่าเริ่มต้น: en_US

คืนค่า

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

คำตอบ:
  • result
    • success - True หากเมธอดประสบความสำเร็จ หากเซิร์ฟเวอร์ Asset คืนค่า false กลับมา ก็จะตั้งค่า error เป็นสตริงเพื่ออธิบายเหตุผลว่าเกิดอะไรขึ้น
    • error - สตริงอธิบายสาเหตุที่การเรียกนี้ล้มเหลว ข้อความดังกล่าวจะถูกบันทึกไว้ในรายการบันทึกความผิดพลาด ซึ่งจะสามารถใช้งานได้ใน แท็บระบบเศรษฐกิจ ในเว็บไซต์ของ Steamworks
    • asset - ออบเจ็กต์ที่บรรจุรายละเอียดการแสดงผลให้แก่ตัวระบุคลาสของ Asset ที่ได้กำหนดไว้

รายละเอียดการแสดงผล:

  • background_color - ค่าสี RGB เป็นเลขฐาน 16 ที่อยู่ในรูปแบบของสตริง
  • icon_url - ไอคอนที่จะใช้สำหรับ Asset นี้ รูปภาพนี้ควรจะอยู่ในรูปแบบของไฟล์ JPEG, GIF หรือ PNG
    ซึ่งจะนิยมใช้ PNG หรือ GIF มากกว่าเพราะว่าทั้งสองรูปแบบนี้ให้การรองรับความโปร่งแสงของภาพ ตัวเกมจะสามารถให้ไอคอนที่มีขนาดเดียวผ่านทางช่องข้อมูลนี้ได้ และ Steam จะปรับขนาดให้พอดีกับ UI ตามเหมาะสม โดยไอคอนนี้จะต้องมีขนาดขั้นต่ำ 200x200 พิกเซล Steam จะให้บริการการแจกจำหน่ายข้อมูลผ่านทาง CDN ให้แก่รูปภาพทุกรูปในเวลาที่รูปภาพเหล่านั้นได้รับการแสดงผลให้แก่ผู้ใช้ เพราะฉะนั้นจำนวนฮิตที่จะเข้ามายัง URL นี้ก็จะมีค่าที่ค่อนข้างต่ำ
  • icon_url_large (ตัวเลือกเสริม) - ไอคอนขนาดใหญ่ที่เกี่ยวข้องกับคำอธิบาย ซึ่งจะบังคับใช้กฎรูปแบบของภาพแบบเดียวกันกับ icon_url
    โดยไอคอนขนาดใหญ่นี้จะต้องมีขนาดขั้นต่ำ 330x192 พิกเซล หากไม่ได้ให้ icon_url_large เอาไว้ icon_url ก็จะถูกใช้แทน
    Steam จะให้บริการการแจกจำหน่ายข้อมูลผ่านทาง CDN ให้แก่รูปภาพทุกรูปในเวลาที่รูปภาพเหล่านั้นได้รับการแสดงผลให้แก่ผู้ใช้ เพราะฉะนั้นจำนวนฮิตที่จะเข้ามายัง URL นี้ก็จะมีค่าที่ค่อนข้างต่ำ
  • descriptions - อาร์เรย์ของคำอธิบายที่จะแสดงผลให้แก่ Asset โดยจะได้รับการแสดงผลตามลำดับก่อนหลัง
    ที่อยู่ในอาร์เรย์ในคำอธิบาย tooltips และคำอธิบายไอเท็มอย่างละเอียด
    • type (ตัวเลือกเสริม) - ช่องข้อมูล type จะควบคุมว่าจะแสดงผลช่องข้อมูล value อย่างไร
      สามารถเป็นค่าใดค่าหนึ่งตามรายละเอียดดังต่อไปนี้ได้:
      • text - เป็นค่าที่จะถูกตีความว่าเป็นข้อความแปลแบบ raw ในภาษาที่กำหนด ตัวอักษรบางตัว (เช่น สัญลักษณ์น้อยกว่า สัญลักษณ์มากกว่า ฯลฯ) ก็จะถูกแปลงให้เป็นเอนทิตีของ HTML เพื่อไม่ให้ถูกตีความว่าเป็นแท็ก รวมทั้งจะแปลงตัวอักษร linefeed ทุกตัวให้กลายเป็น <br>.
        ควรใช้ประเภทข้อมูลนี้แก่ข้อมูลที่ให้มาโดยผู้ใช้ โดย text จะเป็นประเภทข้อมูลเริ่มต้นหากไม่มีการระบุประเภทข้อมูล
      • html - ควรจะบรรจุค่านี้ไว้ในเพจว่าเป็น HTML ที่มีแท็กติดมาครบถ้วน
    • image - ค่าคือ URL ของรูปภาพที่จะแสดงให้แก่คำอธิบายนี้ Steam จะวาง CDN เอาไว้หน้ารูปภาพ เพราะฉะนั้นจำนวนฮิตที่จะเข้ามายัง URL นี้ก็จะมีค่าที่ค่อนข้างต่ำ
    • value - สตริงที่แปลแล้วที่จะแสดงผลให้แก่คำอธิบายนี้
    • color (ตัวเลือกเสริม) - รหัสสี RGB เป็นเลขฐาน 16 ที่จะใช้งานกับค่านี้ สามารถเลือกสีอะไรก็ได้ให้แก่ข้อมูลนี้ที่จะไปปรากฏอยู่ใน UI ในเกม ช่องข้อมูลนี้ใช้งานแต่เพียงกับค่าของประเภทข้อมูล text
    • label (ตัวเลือกเสริม) - หากมีช่องข้อมูลนี้อยู่ในคำอธิบายก็จะนำป้ายกำกับนี้มาใส่ข้างหน้าค่า
  • tags (ตัวเลือกเสริม) - อาร์เรย์ของแท็กที่จะใช้งานกับ Asset การแสดงผลเป็นตัวเลือกการกรองให้แก่ผู้ใช้ในสถานที่ต่างๆ ของ UI ซึ่งรวมถึงตลาดชุมชน (Community Market) และช่องเก็บของของผู้ใช้
    • internal_name - ชื่อที่จะใช้ระบุแท็กดังกล่าวนี้ เป็นชื่อที่ใช้เป็นการภายในไม่แสดงให้ผู้ใช้เห็น ไม่ ใช้ช่องว่าง ตัวอักษรที่ไม่ใช่ ASCII หรือที่ไม่สามารถพิมพ์ได้ใน internal_name
    • name - ชื่อที่ได้รับการแปลของแท็กนี้ จะแสดงให้ผู้ใช้ได้เห็น
    • category - หมวดหมู่ที่จะจัดวางแท็กนี้ จะใช้เพื่อการจัดกลุ่มเป็นการภายในและจะไม่แสดงให้ผู้ใช้เห็น ไม่ ใช้ช่องว่าง ตัวอักษรที่ไม่ใช่ ASCII หรือที่ไม่สามารถพิมพ์ได้ใน หมวดหมู่
    • category_name - ชื่อที่ได้รับการแปลของหมวดหมู่นี้ จะแสดงให้ผู้ใช้ได้เห็น
    • color (ตัวเลือกเสริม) - รหัสสี RGB เป็นเลขฐาน 16 ที่จะใช้งานเวลาแสดงผลชื่อของแท็กนี้
  • tradable (ตัวเลือกเสริม) - หากมีค่าเป็น true ไอเท็มจะปรากฏขึ้นมาใน UI การแลกเปลี่ยน (ค่าเริ่มต้นจะมีค่าเป็น: false)
  • marketable (ตัวเลือกเสริม) - หากมีค่าเป็น true ไอเท็มจะสามารถถูกขายได้ใน ตลาดชุมชน Steam (ค่าเริ่มต้นจะมีค่าเป็น: false)

    หมายเหตุ: ยังไม่สามารถทดสอบการใช้งานการวางไอเท็มในตลาดชุมชนได้ในขณะนี้ การวางไอเท็มในตลาดชุมชนจะเปิดเผยไอเท็มนั้นออกมาทันที ถึงแม้ว่าจะตั้งค่าระบบเศรษฐกิจของเกมให้มีความเป็นส่วนตัวก็ตาม
  • market_name (จำเป็นต้องใช้หากสามารถซื้อขายแลกเปลี่ยนได้) - หากสามารถซื้อขายแลกเปลี่ยนไอเท็มดังกล่าวได้ ค่านี้ก็จะเป็นชื่อที่จะใช้เพื่อจัดกลุ่มไอเท็มเข้าด้วยกัน แล้วจะนำไปแสดงผลเอาไว้ในตลาดชุมชน ถ้าเป็นไปได้ก็ควรจะแปลภาษาค่านี้ด้วย
  • market_hash_name (จำเป็นต้องใช้หากสามารถซื้อขายแลกเปลี่ยนได้) - ค่านี้ควรเป็นค่าภาษาอังกฤษของ market_name จะเอาไว้ใช้เพื่อจัดความเชื่อมโยงความสัมพันธ์ของเวอร์ชันต่างๆ เข้าไว้ด้วยกัน และเอาไว้ใช้เพื่อแสดงประวัติราคาและข้อมูลอื่นๆ
  • market_fee (ตัวเลือกเสริม) - ถ้าสามารถซื้อขายแลกเปลี่ยนไอเท็มดังกล่าวได้ ก็จะเอาไว้ใช้กำหนดค่าธรรมเนียมเกมของธุรกรรม (ค่าเริ่มต้นคือ 10%) ผู้ซื้อไอเท็มจะเป็นผู้ชำระค่าธรรมเนียมดังกล่าวในขณะเวลาที่ทำธุรกรรม และผู้จัดจำหน่ายจะได้รับเงินจำนวนดังกล่าวเป็นส่วนหนึ่งของรายได้ในแต่ละเดือน โดยจะเขียนอยู่ในรูปแบบของทศนิยมระหว่าง 0 ถึง 0.95 (ซึ่งควรจะเก็บค่าธรรมเนียมที่มีความสมเหตุสมผลมากกว่านี้) (ค่าเริ่มต้นคือ: 0.10)
  • commodity (ตัวเลือกเสริม) - ไว้ใช้ระบุว่าทุกไอเท็มที่มีค่า market_hash_name เหมือนกับไอเท็มนี้นั้นเป็นไอเท็มที่มีความตรงกันทุกประการ และไม่ควรจะมีความแตกต่างกันต่อการใช้งานของผู้ใช้ คำสั่งนี้จะเปลี่ยน Community Market UI ให้แก่ไอเท็มประเภทนี้และอนุญาตให้ผู้ใช้สามารถวางคำสั่งซื้อได้ โดยผู้ใช้นั้นจะไม่สามารถควบคุมได้ว่าตนเองจะซื้อจากใครหรือจะซื้อจากตลาดไหน เพราะฉะนั้นแล้วจึงมีความสำคัญมากที่ไอเท็มทุกไอเท็มที่มีค่า market_hash_name เหมือนกันจะมีความตรงกันทุกประการเวลาที่ค่าcommodity คือ true (ค่าเริ่มต้นจะมีค่าเป็น: false)
  • market_tradable_restriction (ตัวเลือกเสริม) - จำนวนของวันที่จะสั่งห้ามไม่ให้แลกเปลี่ยนไอเท็มชิ้นนี้หลังจากที่ได้ทำการสั่งซื้อ ขอแนะนำให้คุณใช้งานการจำกัดการแลกเปลี่ยนกับไอเท็มที่สั่งซื้อไป ทั้งนี้ก็เพื่อเป็นการลดโอกาสที่ผู้ใช้จะทำการโกงทางบัตรเครดิต โดยเกมของทาง Valve จะตั้งค่านี้ไว้ที่ 7 (ค่าเริ่มต้นคือ: 0)
    หมายเหตุ: จะไม่มีการบังคับใช้งานค่านี้ ทาง Steam จะไม่บังคับใช้ข้อจำกัดนี้แก่คุณ ค่าในช่องข้อมูลนี้มีไว้เพื่อแจ้งผู้ใช้ให้รับทราบว่ามีการใช้งานข้อจำกัดเท่านั้น หลังจากที่ได้สั่งซื้อไอเท็มนี้ไปแล้ว ให้ถือเป็นหน้าที่ของเซิร์ฟเวอร์ Asset ที่จะบังคับใช้ข้อจำกัดในการแลกเปลี่ยนแก่ไอเท็มใหม่นั้นเอง โดยเซิร์ฟเวอร์ Asset จะสามารถดำเนินการดังกล่าวได้เมื่อ TradeSetOwned/v0001 ถูกเรียกโดยที่ is_marketได้รับการตั้งค่าเป็น 1 และaudit_action ได้รับการตั้งค่าเป็น 101
  • market_marketable_restriction (ตัวเลือกเสริม) - เหมือนกันกับ market_tradable_restriction แต่จะระบุจำนวนของวันที่จะสั่งห้ามไม่ให้ซื้อขายไอเท็มชิ้นนี้หลังจากที่ได้ทำการสั่งซื้อ โดยเกมของทาง Valve จะตั้งค่านี้ไว้ที่ 7 (ค่าเริ่มต้นคือ: 0)
    หมายเหตุ: จะไม่มีการบังคับใช้งานค่านี้ ทาง Steam จะไม่บังคับใช้ข้อจำกัดนี้แก่คุณ ค่าในช่องข้อมูลนี้มีไว้เพื่อแจ้งผู้ใช้ให้รับทราบว่ามีการใช้งานข้อจำกัดเท่านั้น หลังจากที่ได้สั่งซื้อไอเท็มนี้ไปแล้ว ให้ถือเป็นหน้าที่ของเซิร์ฟเวอร์ Asset ที่จะบังคับใช้ข้อจำกัดทางการตลาดแก่ไอเท็มใหม่นั้นเอง โดยเซิร์ฟเวอร์ Asset จะสามารถดำเนินการดังกล่าวได้เมื่อ TradeSetOwned/v0001 ถูกเรียกโดยที่ is_marketได้รับการตั้งค่าเป็น 1 และaudit_action ได้รับการตั้งค่าเป็น 101
  • การดำเนินการ - อาร์เรย์ของการกระทำต่างๆ (ลิงก์) โดยทั่วไปแล้วเอาไว้ใช้แสดงข้อมูลเพิ่มเติมเกี่ยวกับ Asset ซึ่งจะแสดงผลเป็นปุ่มอยู่ใต้คำอธิบายในหน้าช่องเก็บของ โดยจะเปิดลิงก์เหล่าขึ้นในเบราว์เซอร์หลักของผู้ใช้
    • link - URL ที่จะนำทางไปเมื่อคลิกที่ปุ่ม โทเค็น %assetid%, %contextid%, และ %appid% จะถูกแทนที่ด้วยไอดี Asset, ไอดี Context, และไอดีแอปที่เป็นเจ้าของตามลำดับ
    • name - ป้ายกำกับที่จะแสดงผลอยู่บนปุ่ม
  • owner_descriptions - อาร์เรย์ของคำอธิบายที่จะแสดงเอาไว้ให้เห็นเฉพาะผู้ครอบครอง Asset ดังกล่าว เนื้อหาในอาร์เรย์นี้จะมีความตรงกันทุกประการกับเนื้อหาที่อยู่ใน descriptions ความแตกต่างเดียวของ 2 รายการนี้ก็คือ ผู้ที่จะสามารถมองเห็นคำอธิบายได้
  • owner_actions - อาร์เรย์ของการกระทำที่จะแสดงเอาไว้ให้เห็นเฉพาะผู้ครอบครอง Asset ดังกล่าว ซึ่งควรมีรูปแบบที่เหมือนกับ actions ซึ่งจะเป็นการกระทำพิเศษที่จะสามารถใช้งานได้เฉพาะผู้ครอบครอง Asset ดังกล่าวเท่านั้น เช่น การเปิดใช้งาน หรือ การดัดแปลงแก้ไข Asset ดังกล่าว
  • fraudwarnings - อาร์เรย์ของสตริงของคำเตือนการโกงที่จะแสดงผลขึ้นมา ถ้าเพิ่มไอเท็มชิ้นดังกล่าวเข้าไปในการแลกเปลี่ยน
    จะแสดงผลเป็นสีแดงหากได้เพิ่มไอเท็มชิ้นดังกล่าวเข้าไปในการแลกเปลี่ยน
  • name - แถวแนวนอนแถวแรกของไอเท็มที่แสดงผล
  • name_color - รหัสสี RGB เป็นเลขฐาน 16 ที่จะใช้งานกับชื่อดังกล่าว ซึ่งสีที่ใช้งานควรจะสอดคล้องกับรหัสสีความหายากหรือรหัสสีระดับคุณภาพของชื่อ Asset ในเกมของคุณ
  • type - แถวแนวนอนแถวที่ 2 ของไอเท็มที่แสดงผล
  • contained_item (ตัวเลือกเสริม) - ในโหนดนี้ควรจะบรรจุบล็อกของ Asset ที่มีความสมบูรณ์เอาไว้ให้แก่ไอเท็มที่ได้บรรจุเอาไว้ใน Asset นี้ เกมที่ใช้เอ็นจิ้น Source จะใช้งานค่านี้กับของขวัญที่ถูกแรปไว้ แต่ว่าเกมของคุณอาจจะไม่จำเป็นต้องใช้งานก็ได้
  • cache_expiration (ตัวเลือกเสริม) - เวลา ที่อยู่ในรูปแบบเวลาประเภท RFC 3339 UTC ที่เป็นเวลาที่จะทำให้แคชการตอบสนองของ Steam เป็นโมฆะ ให้ใช้ก็ต่อเมื่อ ชิ้นส่วนของการตอบสนอง GetAssetClassInfo จะมีการเปลี่ยนแปลงในเวลาถัด ๆ ไป แม้ว่าคุณสมบัติของชุดของคลาสของ Asset จะไม่เปลี่ยนก็ตาม ซึ่งจะมีประโยชน์ในเวลาที่ ยกตัวอย่างเช่น เวลาที่ไอเท็มสามารถแลกเปลี่ยนได้ในภายหลัง ทางเราขอแนะนำให้ปัดเศษของเวลาที่อยู่ในคุณสมบัติคลาสของ Asset (และ ซึ่งก็รวมถึงที่อยู่ในฟีลด์นี้) ขึ้นไปเป็นระดับวัน หรือระดับชั่วโมงเพื่อเพิ่มประสิทธิภาพความสามารถในการแคช Asset ของ Steam
  • item_expiration (ตัวเลือกเสริม) - เวลาที่ไม่สามารถใช้ไอเท็มได้ โดยเป็นเวลาในรูปแบบ RFC 3339 UTC ผู้ใช้จะไม่สามารถซื้อสินค้าที่ลงรายการในตลาดได้ เมื่อผ่านเวลานี้ไป และรายการดังกล่าวจะถูกยกเลิกโดยอัตโนมัติ

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

    { "result": { "asset": { "descriptions": [ { "name": "attribute", "value": "+50% fire damage resistance on wearer", "color": "99ccff" }, { "name": "attribute", "value": "+40% explosive damage resistance on wearer", "color": "99ccff" }, { "name": "attribute", "value": "Alt-Fire: Gain increased attack power by\ncharging toward your enemies." } ] , "fraudwarnings": [ "This item has been renamed.\nOriginal name: \"Chargin' Targe\"" ] , "tradable": true, "background_color": "3C352E", "icon_url": "http://media.steampowered.com/apps/440/icons/c_targe_large.b7d8c75ecfc9b04cc49d2c61ddc77996d7ec2f3a.png", "name": "''Awesome Targe''", "type": "Level 10 Shield", "name_color": "7D6D00", "actions": [ { "name": "Item Wiki Page...", "link": "http://wiki.teamfortress.com/scripts/itemredirect.php?id=131&lang=en_US" } ] }, "success": true } }

    economy_asset_tooltip.png

    economy_asset_icon.png