นี่เป็นอินเตอร์เฟซที่ใช้สำหรับโต้ตอบกับ
การแจ้งเตือนเกมหมายเหตุ: นี่คืออินเตอร์เฟซให้บริการ การเรียกเมธอดในอินเตอร์เฟซนี้ควรใช้พารามิเตอร์
input_json
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีใช้ Steamworks Web API กรุณาอ่าน
ภาพรวมของ Web APICreateSession
POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
appid | uint32 | ✔ | ไอดีแอปที่ใช้สร้างเซสชัน |
context | uint64 | ✔ | ค่าบริบทเฉพาะที่เกมระบุไว้ ซึ่งเกมสามารถใช้เชื่อมโยงกับเซสชันที่มีออบเจ็กต์บางอย่างในแบ็กเอนด์ |
title | {message} | ✔ | ชื่อเซสชันที่จะแสดงในรายการเซสชันของผู้ใช้แต่ละคน |
users | {message} | ✔ | สถานะเริ่มต้นของผู้ใช้ทุกคนในเซสชัน |
steamid | uint64 | | (ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน และผู้ใช้ทุกคนที่เพิ่มเข้ามาในเซสชันจะต้องเป็นเพื่อนกับผู้ใช้ |
สร้างเซสชันอะซิงโครนัสใหม่ล่าสุด ด้วยผู้เล่นทุกคนที่ระบุในคำขอ
ควรเก็บ Session ID จำเพาะที่คืนค่าจากการเรียก API นี้กับสถานะของเซสชันเกม เนื่องจากจะนำไปใช้อ้างอิงการเรียกอื่นใน Game Notifications API
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
"sessionid": "10"
}
}
ตัวอย่างการเรียก:{
"context": "31415926"
"title":
{
"token": "#MyToken",
"variables":
[
{ "key": "username", "value": "SteamUser" }
]
},
"users":
[
{
"steamid": "76561197960265729",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Bob" }
{ "key": "level", "value": "1" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Bellevue" }
]
}
}
]
}
UpdateSession
POST https://partner.steam-api.com/IGameNotificationsService/UpdateSession/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
sessionid | uint64 | ✔ | Sessionid ที่จะอัปเดต |
appid | uint32 | ✔ | ไอดีแอปของเซสชันที่จะอัปเดต |
title | {message} | ✔ | (ตัวเลือกเสริม) ชื่อใหม่ของเซสชัน ถ้าไม่ระบุ ชื่อจะไม่เปลี่ยนแปลง |
users | {message} | ✔ | (ตัวเลือกเสริม) รายการผู้ใช้ซึ่งจะได้รับการสถานะเพื่อสะท้อนให้เห็นถึงสถานะที่ได้รับ หากผู้ใช้ไม่ได้อยู่ในเซสชันอยู่แล้ว พวกเขาจะถูกเพิ่มไปยังเซสชัน |
steamid | uint64 | ✔ | (ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน |
อัปเดตเซสชันเกมทุกครั้งที่สถานะของเกมเปลี่ยนแปลง
อย่าลืมอัปเดตสถานะของผู้ใช้แต่ละคนด้วย เนื่องจากสิ่งที่ส่งในฟังก์ชันนี้จะปรากฏในการแจ้งเตือนของผู้ใช้ทุกคนในเกม ผู้ใช้ทุกคนที่อยู่ในเซสชันที่ไม่ได้ระบุไว้จะถูกนำออกจากเซสชัน และผู้ใช้ที่เพิ่งระบุไว้ใหม่จะถูกเพิ่มไปยังเซสชัน คุณจะต้องส่งสถานะที่สมบูรณ์ของเซสชัน -- สถานะก่อนหน้าทั้งหมดจะถูกแทนที่ด้วยสถานะใหม่ที่ระบุ
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
}
}
ตัวอย่างการเรียก:{
"sessionid": "1234",
"title":
{
"token": "#MyToken",
"variables":
[
{ "key": "username", "value": "SteamUser" }
]
},
"users":
[
{
"steamid": "76561197960265729",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Bob" }
{ "key": "level", "value": "1" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Bellevue" }
]
}
},
{
"steamid": "76561197960265730",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Greg" }
{ "key": "level", "value": "2" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Seattle" }
]
}
}
]
}
EnumerateSessionsForApp
GET https://partner.steam-api.com/IGameNotificationsService/EnumerateSessionsForApp/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
appid | uint32 | ✔ | Sessionid ที่ต้องการขอรายละเอียด เป็นทางเลือกเสริม ถ้าไม่ได้ระบุ จะคืนเซสชันทั้งหมดของผู้ใช้ |
steamid | uint64 | ✔ | ผู้ใช้ซึ่งเป็นเจ้าของเซสชันที่ได้รับการอีนิวเมอเรต |
include_all_user_messages | bool | ✔ | (ตัวเลือกเสริม) ตั้งค่าว่าควรระบุข้อความสำหรับผู้ใช้ทุกคนหรือไม่ ค่าเริ่มต้นคือ false |
include_auth_user_message | bool | ✔ | (ตัวเลือกเสริม) ตั้งค่าว่าควรระบุข้อความสำหรับผู้ใช้ที่ได้รับการยืนยันสิทธิ์หรือไม่ ค่าเริ่มต้นคือ false |
language | string | ✔ | (ตัวเลือกเสริม) ภาษาที่ใช้แปลข้อความ |
ฟังก์ชันนี้จะคืนรายการเซสชันที่ไอดี Steam เข้าร่วมเป็นส่วนหนึ่งด้วย
บูลีนเสริมจะคืนรายละเอียดเพิ่มเติมเกี่ยวกับแต่ละเซสชัน ถ้าตั้งค่าไว้
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
[
{
"sessionid": "123",
"appid": "100",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "keyName", "value": "keyValue" }
]
},
"time_created": "100000", // Unix time
"time_updated": "200000", //Unix time
"user_status":
[
{
"steamid": "76561197960265729",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Bob" }
{ "key": "level", "value": "1" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Bellevue" }
]
}
},
{
"steamid": "76561197960265730",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Greg" }
{ "key": "level", "value": "2" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Seattle" }
]
}
}
]
}
}
ตัวอย่างการเรียก:{
"steamid": "76561197960265729",
"include_all_user_messages": "0",
"include_auth_user_message": "1"
}
GetSessionDetailsForApp
GET https://partner.steam-api.com/IGameNotificationsService/GetSessionDetailsForApp/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
sessions | {message} | ✔ | เซสชันที่ต้องการรับรายละเอียด |
appid | uint32 | ✔ | Appid สำหรับเซสชัน |
language | string | ✔ | ภาษาที่ใช้แปลข้อความ |
คืนรายละเอียดเกี่ยวกับเซสชันที่ระบุ
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
[
{
"sessionid": "12",
"appid": "100",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "keyName", "value": "keyValue" }
]
},
"time_created": "100000", // Unix time
"time_updated": "200000", //Unix time
"user_status":
[
{
"steamid": "76561197960265729",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Bob" }
{ "key": "level", "value": "1" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Bellevue" }
]
}
},
{
"steamid": "76561197960265730",
"state": "waiting",
"title":
{
"token": "#TitleToken",
"variables":
[
{ "key": "username", "value": "Greg" }
{ "key": "level", "value": "2" }
]
},
"message":
{
"token": "#StatusMessageToken",
"variables":
[
{ "key": "city", "value": "Seattle" }
]
}
}
]
}
}
ตัวอย่างการเรียก:{
"sessions":
[
{
"sessionid": "12",
"include_all_user_messages": "0"
},
{
"sessionid": "13",
"include_all_user_messages": "0"
}
]
}
RequestNotifications
POST https://partner.steam-api.com/IGameNotificationsService/RequestNotifications/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
steamid | uint64 | ✔ | ไอดี Steam ที่จะขอรับการแจ้งเตือน |
appid | uint32 | ✔ | ไอดีแอปที่จะขอรับการแจ้งเตือน |
ขอให้ผู้ใช้ได้รับการแจ้งเตือนของแอป
ทุกครั้งที่ผู้ใช้เริ่มเกมที่ต้องใช้การแจ้งเตือนจากเกม เซิร์ฟเวอร์จะต้องเรียก RequestNotifications เพื่อผู้ใช้ที่ลงชื่อเข้าใช้ ฟังก์ชันนี้จะลงทะเบียนเกมของคุณเพื่อใช้การแจ้งเตือนออฟไลน์กับผู้ใช้ โดยขอให้ผู้ใช้เลือกรับการแจ้งเตือนจากเกมที่ระบุ ให้เรียกฟังก์ชันนี้ไม่เกินหนึ่งครั้งต่อการเรียกใช้เกม การเรียกครั้งต่อไปจะไม่ขอให้ผู้ใช้เลือกรับ ถ้าผู้ใช้ตัดสินใจเลือกรับไปแล้ว
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้คีย์ API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
}
}
ตัวอย่างการเรียก:{
"steamid": "76561197960265729",
"appid": 480
}
DeleteSession
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
sessionid | uint64 | ✔ | Sessionid ที่จะลบ |
appid | uint32 | ✔ | ไอดีแอปของเซสชันที่จะลบ |
steamid | uint64 | ✔ | (ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน |
ลบเซสชันเกมแบบอะซิงโครนัสที่กำลังทำงานอยู่ การทำเช่นนี้จะลบการแจ้งเตือนทั้งหมดที่ส่งถึงผู้ใช้คนใดก็ตามที่เป็นส่วนหนึ่งของเซสชันเกม
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!
ตัวอย่างคำตอบ:{
"response": {
}
}
ตัวอย่างการเรียก:{
"sessionid": "10"
}
DeleteSessionBatch
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
ชื่อ | ประเภท | ที่ต้องการ | คำอธิบาย |
key | string | ✔ | คีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API |
sessionid | uint64 | ✔ | Sessionid ที่จะลบ |
appid | uint32 | ✔ | ไอดีแอปของเซสชันที่จะลบ |
ลบแบตช์ของเซสชันเกมแบบอะซิงโครนัส
หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะ
ต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!