Documentación de Steamworks
Interfaz IGameNotificationsService
Esta es la interfaz usada para interactuar con las notificaciones de juego.

NOTA: Esta es una interfaz de servicio; los métodos en esta interfaz deben llamarse con el parámetro: input_json.

Para obtener más información sobre cómo utilizar la Web de API de Steamworks, consulta Descripción general de la Web de API.

CreateSession

POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
appiduint32Id. de aplicación para el que se crea la sesión.
contextuint64Valor del contexto específico del juego que puede usar este para asociar la sesión con algún objeto del backend.
title{message}Título de la sesión que se mostrará con la lista de sesiones de cada usuario.
users{message}Estado inicial de todos los usuarios de la sesión.
steamiduint64Id. de Steam en cuyo nombre se hace la petición. Si se especifica, el usuario debe estar en la sesión y todos los que se agregan a esta deben ser amigos suyos. (Opcional).

Crea una nueva sesión asincrónica con todos los jugadores especificados en la solicitud.

El id. de sesión única devuelto en esta llamada a la API debe almacenarse con el estado de la sesión del juego, puesto que se usará para hacer referencia a otras llamadas en la API de notificaciones de este.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!

Ejemplo de respuesta:
{ "response": { "sessionid": "10" } }

Ejemplo de llamada:
{ "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/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
sessioniduint64Id. de la sesión para actualizar.
appiduint32Id. de aplicación de la sesión que se actualiza.
title{message}Nuevo título de la sesión. (Opcional). Si no se especifica, no se cambiará el título.
users{message}Una lista de usuarios cuyo estado se actualizará en el sentido indicado. (Opcional). Si no están ya en la sesión, se les agregará a ella.
steamiduint64Id. de Steam en cuyo nombre se hace la petición. Si se especifica, el usuario debe estar en la sesión. (Opcional).

Actualiza una sesión de juego cuando cambia el estado del juego.

Se debe actualizar el estado de cada usuario de forma acorde, puesto que lo que se envíe aquí se reflejará en las notificaciones enviadas a todos los usuarios en el juego. Cualquier usuario que estuviera en la sesión y que no esté especificado será eliminado de esta, y se agregará a esta cualquier usuario recién especificado. Debes enviar el estado completo de la sesión; todos los estados previos serán reemplazados por el nuevo estado especificado.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Por tanto, esta API DEBE llamarse desde un servidor seguro, ¡y los clientes jamás pueden usarla directamente!

Ejemplo de respuesta:
{ "response": { } }

Ejemplo de llamada:
{ "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/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
appiduint32Id. de la sesión para la que se piden detalles. Opcional. Si no se especifica, se devolverán todas las sesiones del usuario.
steamiduint64Id. de Steam del usuario cuyas sesiones se van a enumerar.
include_all_user_messagesboolEstablece si debería incluirse el mensaje para todos los usuarios. (Opcional). El valor predeterminado es false.
include_auth_user_messageboolEstablece si debería incluirse el mensaje para el usuario autenticado. (Opcional). El valor predeterminado es false.
languagestringIdioma al que localizar el texto. (Opcional).

Devuelve una lista de sesiones de las que es parte un id. de Steam.

Si se establecen los bool opcionales, estos devuelven detalles adicionales acerca de cada sesión.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!

Ejemplo de respuesta:
{ "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" } ] } } ] } }

Ejemplo de llamada:
{ "steamid": "76561197960265729", "include_all_user_messages": "0", "include_auth_user_message": "1" }

GetSessionDetailsForApp

GET https://partner.steam-api.com/IGameNotificationsService/GetSessionDetailsForApp/v1/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
sessions{message}La sesión (o sesiones) de la que se va a recibir detalles.
appiduint32El id. de la aplicación para las sesiones.
languagestringIdioma al que localizar el texto.

Devuelve detalles de sesiones específicas.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!

Ejemplo de respuesta:
{ "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" } ] } } ] } }

Ejemplo de llamada:
{ "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/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
steamiduint64Id. de Steam para el que se solicitan notificaciones.
appiduint32Id. de la aplicación para el que se solicitan notificaciones.

Solicita que un usuario reciba notificaciones del juego para una aplicación.

Siempre que un usuario inicie un juego que requiera notificaciones, el servidor debe hacer una llamada de RequestNotifications para el usuario registrado. Esto hará que el juego envíe notificaciones en local al usuario, tras pedirle que se suscriba a las notificaciones de tu juego en específico. Realiza esta llamada, como mucho, una vez por cada inicio de juego. Las llamadas adicionales no pedirán al usuario que se suscriba si el usuario ya ha decidido no hacerlo.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!

Ejemplo de respuesta:
{ "response": { } }

Ejemplo de llamada:
{ "steamid": "76561197960265729", "appid": 480 }

DeleteSession

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
NameTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
sessioniduint64Id. de la sesión para eliminar.
appiduint32Id. de aplicación de la sesión que se elimina.
steamiduint64Id. de Steam en cuyo nombre se hace la petición. Si se especifica, el usuario debe estar en la sesión. (Opcional).

Elimina una sesión de juego asíncrona activa. Esto eliminará todas las notificaciones al usuario que participa en la sesión de juego.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!

Ejemplo de respuesta:
{ "response": { } }

Ejemplo de llamada:
{ "sessionid": "10" }

DeleteSessionBatch

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
NombreTipoObligatorioDescripción
keystringClave de autenticación de editor de la Web de API de Steamworks.
sessioniduint64Id. de la sesión para eliminar.
appiduint32Id. de aplicación de la sesión que se elimina.

Elimina un lote de sesiones de juego asíncronas.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE ser llamada desde un servidor seguro y ¡nunca puede ser utilizada directamente por tus clientes!