Dette er grænsefladen, som bruges til at interagere med
spilnotifikationer.
BEMÆRK: Dette er en tjenestegrænseflade. Metoder i denne grænseflade bør kaldes med parameteren
input_json
.
Se
Web-API-oversigt for flere oplysninger om, hvordan du bruger Steamworks-web-API'en.
CreateSession
POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
appid | uint32 | ✔ | App-ID'et, som sessionen skal oprettes til. |
context | uint64 | ✔ | Spilspecifik kontekstværdi, som spillet kan bruge til at tilknytte sessionen med nogle objekter i deres backend. |
title | {message} | ✔ | Titlen på sessionen, som bliver vist indenfor hver brugers liste over sessioner. |
users | {message} | ✔ | Den oprindelige tilstand for alle brugere i sessionen. |
steamid | uint64 | | (Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen, og alle brugere, som tilføjes til sessionen, skal være venner med brugeren. |
Opretter en helt ny async-session med spillerne, som er angivet i anmodningen.
Dette unikke sessions-ID, som returneres i dette API-kald, bør gemmes med spillets sessionstilstand, da det vil blive brugt som reference til andre opkald i spillets notifikations-API.
BEMÆRK: Dette kald kræver en udgiver-API-nøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"response": {
"sessionid": "10"
}
}
Eksempel på kald:{
"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/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
sessionid | uint64 | ✔ | SessionID'et, som skal opdateres. |
appid | uint32 | ✔ | Sessions-app-ID, som skal opdateres. |
title | {message} | ✔ | (Valgfrit) Sessionens nye titel. Hvis dette ikke er angivet, ændres titlen ikke. |
users | {message} | ✔ | (Valgfrit) En liste ovre brugere, hvis tilstand vil blive opdateret for at afspejle den givne tilstand. Hvis brugerne ikke allerede er i sessionen, vil de blive tilføjet til den. |
steamid | uint64 | ✔ | (Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen. |
Opdater en spilsession, når spillets tilstand ændres.
Sørg for at opdatere tilstanden for hver bruger i overensstemmelse hermed, da det, der sendes her, vil blive afspejlet i brugernotifikationer for alle brugere i spillet. Alle brugere, som var i sessionen, som ikke er angivet, vil blive fjernet fra sessionen, og alle brugere, som er angivet for nylig, vil blive tilføjet til sessionen. Du skal sende den komplette sessionstilstand – alle tidligere tilstande vil blive erstattet af den nyligt angivne tilstand.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"response": {
}
}
Eksempel på kald:{
"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/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
appid | uint32 | ✔ | Sessions-ID'et, som der anmodes om detaljer til. Valgfri. Hvis dette ikke er angivet, returneres alle brugernes sessioner. |
steamid | uint64 | ✔ | Brugeren, hvis sessioner optælles. |
include_all_user_messages | bool | ✔ | (Valgfrit) Angiv, om beskeden til alle brugere bør være inkluderet. Standardindstilling er false. |
include_auth_user_message | bool | ✔ | (Valgfrit) Angiv, om beskeden til den bekræftede bruger bør være inkluderet. Standardindstilling er false. |
language | string | ✔ | (Valgfrit) Sprog, teksten skal oversættes til. |
Dette returnerer en liste over sessioner, som et Steam-ID indgår i.
De valgfrie bools returnerer yderligere detaljer om hver session, hvis angivet.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"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" }
]
}
}
]
}
}
Eksempel på kald:{
"steamid": "76561197960265729",
"include_all_user_messages": "0",
"include_auth_user_message": "1"
}
GetSessionDetailsForApp
GET https://partner.steam-api.com/IGameNotificationsService/GetSessionDetailsForApp/v1/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
sessions | {message} | ✔ | Sessionerne, som der skal modtages detaljer for |
appid | uint32 | ✔ | App-ID'et for sessionerne. |
language | string | ✔ | Sprog, teksten skal oversættes til. |
Returnerer detaljer omkring specifikke sessioner.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"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" }
]
}
}
]
}
}
Eksempel på kald:{
"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/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
steamid | uint64 | ✔ | Steam-ID'et, som der anmodes om notifikationer for. |
appid | uint32 | ✔ | App-ID'et, som der anmodes om notifikationer for. |
Anmodninger, som en bruger modtager notifikationer for en app.
Når en bruger starter et spil, som kræver spilnotifikationer, skal serveren lave et RequestNotifications-kald for brugeren, som er logget på. Dette registrerer dit spil til at bruge offline-notifikationer for brugeren ved at anmode brugeren om at tilmelde sig spilnotifikationer for sit specifikke spil. Lav dette kald maksimalt én gang per lancering. Efterfølgende kald vil ikke anmode brugeren om at tilvælge, hvis brugeren allerede har besluttet at vælge dette fra.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"response": {
}
}
Eksempel på kald:{
"steamid": "76561197960265729",
"appid": 480
}
DeleteSession
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
sessionid | uint64 | ✔ | SessionID'et, som skal slettes. |
appid | uint32 | ✔ | Sessionens app-ID, som skal slettes. |
steamid | uint64 | ✔ | (Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen. |
Slet en aktiv async spilsession. Dette fjerner alle notifikationer for alle brugere, som er med spilsessionen.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!
Eksempel på svar:{
"response": {
}
}
Eksempel på kald:{
"sessionid": "10"
}
DeleteSessionBatch
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
Navn | Type | Påkrævet | Beskrivelse |
key | string | ✔ | Steamworks-web-API – udgivergodkendelsesnøgle |
sessionid | uint64 | ✔ | SessionID'et, som skal slettes. |
appid | uint32 | ✔ | Sessionens app-ID, som skal slettes. |
Sletter en gruppe af aktive async spilsessioner.
BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor
SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!