Documentación de Steamworks
GetContexts/v0001
Devuelve los contextos que existen para el usuario especificado.

Llamada por: Herramienta de soporte, IU de intercambio, IU de inventario

Método HTTP: GET

Parámetros:

NombreTipoRequeridoDescripción
keystringEsta es la "Clave del servidor de recursos" que proporcionaste en la configuración de la economía de Steam de tu aplicación en el sitio asociado.
appiduint32Id. de 32 bits de la aplicación asociada con los contextos.
steamiduint64Id. de Steam de 64 bits del usuario para el que se devuelven los contextos.
parentuint64Id. de 64 bits del contexto principal para el que se devuelven elementos secundarios. Si este parámetro es 0, se devuelven los contextos del nivel raíz.
categoríastring"History" or "assets". Si esto ha sido llamando desde la herramienta de soporte. Si esta llamada se realiza desde el comercio o el inventario, la categoría será "trading". Puede ser útil si hay contextos que solo tiene sentido que aparezcan en ciertas categorías. También es probable que ciertos comandos de contexto solo tengan sentido en ciertas categorías, por lo que se pueden filtrar los comandos que se envían según su categoría. Si no se van a utilizar las API de la herramienta de soporte, se pueden tratar por igual todas las categorías.
commandsboolTrue si los comandos de contexto deben estar incluidos en la salida.
idiomastringCódigo de lenguaje ISO639-1 más código de país ISO 3166-1 alfa 2 del lenguaje en que se devuelven las cadenas. Algunos ejemplos incluyen en_US, de_DE, zh_CN y ko_KR. Por defecto: en_US

Devoluciones

La salida de este método debería estar codificada en formato JSON.

Respuesta:
  • result
    • success - True si el método fue exitoso. Si el servidor de recursos devuelve "false", debería establecer error en una cadena que explique por qué.
    • error - Una cadena que describe por qué esta llamada falló. Este mensaje se incluirá en el registro de errores, que está disponible en la pestaña Economía del sitio de Steamworks.
    • contexts - Vector de los contextos que son secundarios del elemento primario especificado.
      • contextid - Id. de 64 bits del contexto dentro de este juego par este id. de Steam. Para más información: Id. de contexto de la economía de Steam.
      • name - El nombre del activo. Se mostrará a los agentes de soporte. Si user_facing es true, también se mostrará a los usuarios.
      • nested - Si es true una llamada posterior a GetContexts con este contexto, ya que el recurso devolverá una lista de contexto no vacia.
      • asset_count - La cantidad de recursos y divisas que posee el usuario en este contexto. Este número se muestra al usuario, y los contextos con valor 0 en asset_count se ocultan al usuario.
      • user_facing - Si es "true" y el contexto contiene recursos, se mostrará en la interfaz de usuario de intercambios y en la interfaz de usuario del inventario.
      • commands - Una serie de comandos que se muestran para este contexto en la página de Economía de la herramienta de soporte. Más abajo se ofrece información sobre los comandos.
    • alerts(opcional) - Vector de alertas que se mostrarán en la IU de intercambio de este juego. Este nodo se ignora para categorías distintas de "trading"
      • text - Cadena localizada para mostrar en la interfaz de usuario de comercio para este juego.
      • color(opcional) - Código de color hexadecimal del color para mostrar esta alerta.
    • trade_permissions(opcional) - Nivel de permiso comercial de este usuario. El valor debe ser NONE, RECEIVEONLY, SENDONLY, SENDONLY_FULLINVENTORY, or FULL.
      Los usuarios con NINGUNO no podrán completar ninguna transacción, incluido un activo de este juego. Los usuarios con el nivel RECEIVEONLY podrán recibir recursos para el juego, pero no podrán usar para el intercambio ningún recurso propio. Los usuarios con el nivel SENDONLY podrán usar para el intercambio sus recursos propios, pero no podrán recibir recursos para el juego. Los usuarios con SENDONLY_FULLINVENTORY tienen las mismas restricciones que SENDONLY, pero se notificará al usuario que la restricción se debe a que su inventario para el juego está lleno. Los usuarios con permisos FULL (COMPLETO) pueden agregar cualquiera de sus propios artículos a un comercio que esté marcado como comercializable o recibir cualquier artículo comercializable de su socio comercial. Este nodo se ignora para categorías distintas de "trading". Por defecto: FULL.

Comandos

Los contextos pueden contener comandos que permitan a los agentes de soporte controlar los recursos del usuario. Estos comandos solo aparecen en la página Economía de la herramienta de soporte. Se utilizan en operaciones tales como añadir artículos, recargar la cuenta y eliminar artículos. Cuando se ejecuta un comando, se llamará ContextCommand/v0001. Cada comando se especifica de la manera siguiente:
  • name - Nombre del comando. Esto se muestra en la herramienta de soporte y se devolverá a ContextCommand.
  • description - Descripción de lo que el comando va a hacer. Se muestra al agente de soporte en el diálogo de confirmación.
  • record_note - Si es true, se solicitará al agente de soporte una nota para que se registre en el historial de actividades de soporte para la cuenta..
    Si es false debe devolverse para los comandos que no realizan ningún cambio en la información del usuario (como un comando para recargar al usuario desde la base de datos).
    (Por defecto: true)
  • asset_command(optional) - Si es true el comando aparecerá en cada activo en el contexto en lugar de hacerlo en el contexto en sí..
    Si un agente de soporte técnico ejecuta este comando en un contexto, el argumento adicional assetid se agregará a la llamada resultante a ContextCommand.

  • options - Vector de opciones que se mostrarán en el diálogo de confirmación.
    • name - Nombre de la opción.
    • type - Tipo del control a mostrar para la opción. Soporta checkbox, dropdown, numeric y type_picker.
    • default - Predeterminado para esta opción. Es un booleano para las opciones con casillas y el nombre del valor para las opciones desplegables.
    • supervisor_only - True si solo un conjunto restringido de agentes de soporte debería tener acceso a esta opción. Para los demás agentes, se usará la opción predeterminada.
    • values - Una matriz de los valores posibles para las opciones dropdown. No se usa con otros tipos de opciones.
      • name - Nombre para mostrar el agente de soporte para este valor.
      • value - Valor para devolver en ContextCommand si se selecciona de la lista desplegable.

    • types - Una matriz de tipos para mostrar en las opciones type_picker. No se usa con otros tipos de opciones.
      • name - Nombre del tipo.
      • value - Valor de retorno de este tipo.
      • icon_url - URL del icono que se muestra junto a este tipo en el control del selector.
      • tags - Una matriz de etiquetas para mostrar debajo del nombre en el selector de tipo.

Ejemplo de salida

{ "result": { "success": true, "contexts": [ { "id": 2, "name": "Backpack", "nested": false, "commands": [ { "name": "Reload", "description": "Reload the user's information from the database.", "record_note": false }, { "name": "Delete All", "description": "Delete all of the user's items.", "options": [ { "name": "Delete Purchased Items", "type": "checkbox", "default": false } ] }, { "name": "Add Item", "description": "Adds an item for the user. Please don't set Quality, Particle Effect, or Level unless you know what you're doing.", "options": [ { "name": "Quality", "type": "dropdown", "default": "unique", "values": [ { "name": "Any", "value": "Any" }, { "name": "Normal", "value": "normal" }, { "name": "Genuine", "value": "rarity1" }, { "name": "Vintage", "value": "vintage" }, { "name": "Unusual", "value": "rarity4" } ] }, { "name": "Particle Effect", "type": "dropdown", "default": "none", "values": [ { "name": "None", "value": 0 }, { "name": "burningplayer_red", "value": 1 }, { "name": "burningplayer_flyingbits", "value": 2 } ] }, { "name": "Level", "type": "numeric", "default": 0 }, { "name": "Not Tradable", "type": "checkbox", "default": false }, { "name": "Not Usable In Crafting", "type": "checkbox", "default": false }, { "name": "Item Type", "type": "type_picker", "types": [ { "value": "The Kritzkrieg", "icon_url": "http://media.steampowered.com/apps/440/icons/c_overhealer.b5ed539b534216652b45694e19c78d2aaebcfe5e.png", "name": "Kritzkrieg", "tags": [ "Slot: secondary", "Used By: Medic" ] }, { "value": "The Blutsauger", "icon_url": "http://media.steampowered.com/apps/440/icons/c_leechgun.198c5a7943a16f08b5227f2e84d165c153ed0223.png", "name": "Blutsauger", "tags": [ "Slot: primary", "Used By: Medic" ] } ] } ] }, { "name": "Delete Item", "asset_command": true, "description": "Delete an item" } ] , "asset_count": 180, "user_facing": true }, { "id": 3, "name": "Recipes", "nested": false, "asset_count": 0, "user_facing": false } ] , "alerts": [ ] , "trade_permissions": "FULL" } }