MCP Tools Reference: paydeveloper.googleapis.com

Herramienta: list_pass_classes

Recupera una lista completa de todas las clases de pases registradas en la consola empresarial de la Billetera de Google asociada con el usuario autenticado. Esta herramienta proporciona información esencial para los desarrolladores que administran pases de la Billetera, como tarjetas de lealtad, tarjetas de regalo o vuelos.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP list_pass_classes.

Solicitud de Curl
                  
curl --location 'https://paydeveloper.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_pass_classes",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Es el mensaje de solicitud para enumerar las clases de pases de un emisor.

ListPassClassesRequest

Representación JSON
{
  "issuerId": string,
  "passType": enum (PassType),
  "view": enum (PassClassView)
}
Campos
issuerId

string (int64 format)

Obligatorio. Es el identificador único de la entidad emisora para la que se enumerarán las clases de pases.

passType

enum (PassType)

Opcional. Es el tipo de clase de pase que se incluirá en la lista. Si no se especifica, se devolverán todos los tipos de clases de pases.

view

enum (PassClassView)

Opcional. Especifica el nivel de detalle que se devolverá para cada clase de pase.

Esquema de salida

Es el mensaje de respuesta para enumerar las clases de pases de un emisor.

ListPassClassesResponse

Representación JSON
{
  "passClasses": [
    {
      object (PassClass)
    }
  ]
}
Campos
passClasses[]

object (PassClass)

Son las clases de pases de la entidad emisora.

PassClass

Representación JSON
{

  // Union field resource can be only one of the following:
  "loyaltyClass": {
    object (LoyaltyClass)
  },
  "giftCardClass": {
    object (GiftCardClass)
  },
  "offerClass": {
    object (OfferClass)
  },
  "eventTicketClass": {
    object (EventTicketClass)
  },
  "flightClass": {
    object (FlightClass)
  },
  "transitClass": {
    object (TransitClass)
  },
  "genericClass": {
    object (GenericClass)
  }
  // End of list of possible types for union field resource.
}
Campos

Campo de unión resource.

resource puede ser una de las siguientes opciones:

loyaltyClass

object (LoyaltyClass)

Opcional. Es la clase de lealtad del emisor.

giftCardClass

object (GiftCardClass)

Opcional. Es la clase de tarjeta de regalo del emisor.

offerClass

object (OfferClass)

Opcional. Es la clase de oferta del emisor.

eventTicketClass

object (EventTicketClass)

Opcional. Es la clase de entrada para eventos del emisor.

flightClass

object (FlightClass)

Opcional. Clase de vuelo del emisor.

transitClass

object (TransitClass)

Opcional. Es la clase de tránsito del emisor.

genericClass

object (GenericClass)

Opcional. Es la clase genérica del emisor.

LoyaltyClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "programName": string,
  "localizedProgramName": {
    object (LocalizedString)
  },
  "programLogoUri": string,
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "discoverableProgram": {
    object (DiscoverableProgram)
  },
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de lealtad.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de lealtad.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de lealtad.

programName

string

Opcional. Es el nombre del programa de la clase de lealtad.

localizedProgramName

object (LocalizedString)

Opcional. Es el nombre del programa localizado de la clase de lealtad.

programLogoUri

string

Opcional. Es el logotipo del programa de la clase de lealtad.

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de lealtad. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Imagen de banner que se muestra en el frente de la clase de lealtad.

discoverableProgram

object (DiscoverableProgram)

Opcional. Es la información sobre cómo se puede descubrir e instanciar la clase de lealtad desde la Billetera de Google.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de lealtad.

LocalizedString

Representación JSON
{
  "translatedValues": [
    {
      object (TranslatedString)
    }
  ],
  "defaultValue": {
    object (TranslatedString)
  }
}
Campos
translatedValues[]

object (TranslatedString)

Opcional. Son las cadenas traducidas para la cadena.

defaultValue

object (TranslatedString)

Opcional. Es la cadena que se mostrará si no hay una traducción adecuada disponible.

TranslatedString

Representación JSON
{
  "languageCode": string,
  "value": string
}
Campos
languageCode

string

Opcional. Es la etiqueta de idioma BCP 47. Algunos ejemplos de valores son "en-US", "en-GB", "de" o "de-AT".

value

string

Opcional. Es la cadena traducida codificada en UTF-8.

DiscoverableProgram

Representación JSON
{
  "merchantSignupInfo": {
    object (MerchantSignupInfo)
  },
  "merchantSigninInfo": {
    object (MerchantSigninInfo)
  },
  "state": enum (State)
}
Campos
merchantSignupInfo

object (MerchantSignupInfo)

Opcional. Es la información sobre la capacidad de registrarse y agregar un valor a este programa detectable a través del sitio de un comercio.

merchantSigninInfo

object (MerchantSigninInfo)

Opcional. Es la información sobre la capacidad de acceder y agregar un valor a este programa detectable a través del sitio de un comercio.

state

enum (State)

Solo salida. Es el estado del programa detectable.

MerchantSignupInfo

Representación JSON
{
  "signupWebsite": {
    object (Uri)
  },
  "signupSharedDatas": [
    enum (SharedDataType)
  ]
}
Campos
signupWebsite

object (Uri)

Opcional. Es el sitio web en el que se puede registrar en el programa detectable.

signupSharedDatas[]

enum (SharedDataType)

Opcional. Son los datos del usuario que se envían en una solicitud POST a la URL del sitio web de registro. Esta información se codifica y, luego, se comparte para que el sitio web del comercio pueda completar previamente los campos que se usan para inscribir al usuario en el programa detectable.

URI

Representación JSON
{
  "uri": string,
  "description": string,
  "localizedDescription": {
    object (LocalizedString)
  }
}
Campos
uri

string

Opcional. Es el URI.

description

string

Opcional. Título del URI que aparece en la Billetera de Google como texto.

localizedDescription

object (LocalizedString)

Opcional. Son las cadenas traducidas del título del URI que aparecen en la Billetera de Google como texto.

MerchantSigninInfo

Representación JSON
{
  "signinWebsite": {
    object (Uri)
  }
}
Campos
signinWebsite

object (Uri)

Opcional. Es el sitio web en el que se debe acceder para el programa detectable.

ClassTemplateInfo

Representación JSON
{
  "cardBarcodeSectionDetails": {
    object (CardBarcodeSectionDetails)
  },
  "cardTemplateOverride": {
    object (CardTemplateOverride)
  },
  "detailsTemplateOverride": {
    object (DetailsTemplateOverride)
  },
  "listTemplateOverride": {
    object (ListTemplateOverride)
  }
}
Campos
cardBarcodeSectionDetails

object (CardBarcodeSectionDetails)

Opcional. Es la información adicional que se mostrará arriba y debajo del código de barras.

cardTemplateOverride

object (CardTemplateOverride)

Opcional. Es la anulación de la plantilla para la vista de tarjeta.

detailsTemplateOverride

object (DetailsTemplateOverride)

Opcional. Es la anulación de la plantilla para la vista de detalles.

listTemplateOverride

object (ListTemplateOverride)

Opcional. Es la anulación de plantilla para la vista de lista de pases.

CardBarcodeSectionDetails

Representación JSON
{
  "firstTopDetail": {
    object (BarcodeSectionDetail)
  },
  "firstBottomDetail": {
    object (BarcodeSectionDetail)
  },
  "secondTopDetail": {
    object (BarcodeSectionDetail)
  }
}
Campos
firstTopDetail

object (BarcodeSectionDetail)

Opcional. Es la información opcional que se mostrará arriba del código de barras. Si se define secondTopDetail, se mostrará en el lado inicial de esta sección de detalles.

firstBottomDetail

object (BarcodeSectionDetail)

Opcional. Es la información opcional que se mostrará debajo del código de barras.

secondTopDetail

object (BarcodeSectionDetail)

Opcional. Es la segunda información opcional que se mostrará sobre el código de barras. Si se define firstTopDetail, se mostrará en el lado final de esta sección de detalles.

BarcodeSectionDetail

Representación JSON
{
  "fieldSelector": {
    object (FieldSelector)
  }
}
Campos
fieldSelector

object (FieldSelector)

Opcional. Es la referencia a un campo existente basado en texto o en imágenes que se mostrará.

FieldSelector

Representación JSON
{
  "fields": [
    {
      object (FieldReference)
    }
  ]
}
Campos
fields[]

object (FieldReference)

Opcional. Son las referencias de campo que se usarán con las anulaciones de campo. Si se proporciona más de una referencia, se mostrará la primera que haga referencia a un campo no vacío.

FieldReference

Representación JSON
{
  "fieldPath": string,
  "dateFormat": enum (DateFormat)
}
Campos
fieldPath

string

Opcional. Es la ruta de acceso al campo al que se hace referencia, con el prefijo "object" o "class" y separado por puntos.

dateFormat

enum (DateFormat)

Opcional. Es el formato de fecha para renderizar los campos de fecha y hora.

CardTemplateOverride

Representación JSON
{
  "cardRowTemplateInfos": [
    {
      object (CardRowTemplateInfo)
    }
  ]
}
Campos
cardRowTemplateInfos[]

object (CardRowTemplateInfo)

Opcional. Es la información de la plantilla sobre las filas en la vista de tarjeta. Se pueden especificar hasta tres filas.

CardRowTemplateInfo

Representación JSON
{

  // Union field row_template can be only one of the following:
  "oneItem": {
    object (CardRowOneItem)
  },
  "twoItems": {
    object (CardRowTwoItems)
  },
  "threeItems": {
    object (CardRowThreeItems)
  }
  // End of list of possible types for union field row_template.
}
Campos
Campo de unión row_template. Es la plantilla para una fila que contiene uno, dos o tres elementos. row_template puede ser solo uno de los parámetros siguientes:
oneItem

object (CardRowOneItem)

Opcional. Es la plantilla para una fila que contiene un elemento.

twoItems

object (CardRowTwoItems)

Opcional. Es la plantilla para una fila que contiene dos elementos.

threeItems

object (CardRowThreeItems)

Opcional. Es la plantilla para una fila que contiene tres elementos.

CardRowOneItem

Representación JSON
{
  "item": {
    object (TemplateItem)
  }
}
Campos
item

object (TemplateItem)

Opcional. Es el elemento que se mostrará en la fila. Este elemento se centrará.

TemplateItem

Representación JSON
{
  "firstValue": {
    object (FieldSelector)
  },
  "secondValue": {
    object (FieldSelector)
  },
  "predefinedItem": enum (PredefinedItem)
}
Campos
firstValue

object (FieldSelector)

Opcional. Es la referencia al primer campo que se mostrará.

secondValue

object (FieldSelector)

Opcional. Es la referencia al segundo campo que se mostrará.

predefinedItem

enum (PredefinedItem)

Opcional. Es el elemento predefinido que se mostrará.

CardRowTwoItems

Representación JSON
{
  "startItem": {
    object (TemplateItem)
  },
  "endItem": {
    object (TemplateItem)
  }
}
Campos
startItem

object (TemplateItem)

Opcional. Es el elemento que se mostrará al comienzo de la fila. Este elemento se alineará a la izquierda.

endItem

object (TemplateItem)

Opcional. Es el elemento que se mostrará al final de la fila. Este elemento se alineará a la derecha.

CardRowThreeItems

Representación JSON
{
  "startItem": {
    object (TemplateItem)
  },
  "middleItem": {
    object (TemplateItem)
  },
  "endItem": {
    object (TemplateItem)
  }
}
Campos
startItem

object (TemplateItem)

Opcional. Es el elemento que se mostrará al comienzo de la fila. Este elemento se alineará a la izquierda.

middleItem

object (TemplateItem)

Opcional. Es el elemento que se mostrará en el centro de la fila. Este elemento se centrará entre los elementos de inicio y finalización.

endItem

object (TemplateItem)

Opcional. Es el elemento que se mostrará al final de la fila. Este elemento se alineará a la derecha.

DetailsTemplateOverride

Representación JSON
{
  "detailsItemInfos": [
    {
      object (DetailsItemInfo)
    }
  ]
}
Campos
detailsItemInfos[]

object (DetailsItemInfo)

Opcional. Es la información de la plantilla sobre los elementos que se muestran en la lista de detalles.

DetailsItemInfo

Representación JSON
{
  "item": {
    object (TemplateItem)
  }
}
Campos
item

object (TemplateItem)

Opcional. Es el elemento que se mostrará en la lista de detalles.

ListTemplateOverride

Representación JSON
{
  "firstRowOption": {
    object (FirstRowOption)
  },
  "secondRowOption": {
    object (FieldSelector)
  }
}
Campos
firstRowOption

object (FirstRowOption)

Opcional. Es la referencia al campo que se mostrará en la primera fila.

secondRowOption

object (FieldSelector)

Opcional. Es la referencia al campo que se mostrará en la segunda fila.

FirstRowOption

Representación JSON
{
  "transitOption": enum (TransitOption),
  "fieldOption": {
    object (FieldSelector)
  }
}
Campos
transitOption

enum (TransitOption)

Opcional. Es la opción de transporte público que se mostrará en la primera fila.

fieldOption

object (FieldSelector)

Opcional. Es la referencia al campo que se mostrará en la primera fila.

GiftCardClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "merchantName": string,
  "localizedMerchantName": {
    object (LocalizedString)
  },
  "programLogoUri": string,
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "homePageUri": {
    object (Uri)
  },
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de tarjeta de regalo.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de tarjeta de regalo.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de tarjeta de regalo.

merchantName

string

Opcional. Es el nombre del comercio de la clase de tarjeta de regalo.

localizedMerchantName

object (LocalizedString)

Opcional. Es el nombre localizado del comercio de la clase de tarjeta de regalo.

programLogoUri

string

Opcional. Es el logotipo del programa de la clase de tarjeta de regalo.

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de tarjeta de regalo. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Es la imagen del banner que se muestra en el frente de la clase de tarjetas de regalo.

homePageUri

object (Uri)

Opcional. Es el sitio web de la página principal de la aplicación.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de tarjeta de regalo.

OfferClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "provider": string,
  "localizedProvider": {
    object (LocalizedString)
  },
  "title": string,
  "localizedTitle": {
    object (LocalizedString)
  },
  "titleImageUri": string,
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "redemptionChannel": enum (RedemptionChannel),
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de oferta.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de oferta.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de oferta.

provider

string

Opcional. Es el proveedor de la clase de oferta.

localizedProvider

object (LocalizedString)

Opcional. Es el proveedor localizado de la clase de oferta.

title

string

Opcional. Es el título de la clase de oferta.

localizedTitle

object (LocalizedString)

Opcional. Es el título localizado de la clase de oferta.

titleImageUri

string

Opcional. Es la imagen de título de la clase de oferta.

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de oferta. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Es la imagen de banner que se muestra en el frente de la clase de oferta.

redemptionChannel

enum (RedemptionChannel)

Opcional. Es el canal de canje de la clase de oferta.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de oferta.

EventTicketClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "logoUri": string,
  "eventName": {
    object (LocalizedString)
  },
  "venue": {
    object (EventVenue)
  },
  "dateTime": {
    object (EventDateTime)
  },
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de entrada para el evento.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de boletos para eventos.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de entrada para evento.

logoUri

string

Opcional. Es el logotipo de la clase de entrada para eventos.

eventName

object (LocalizedString)

Opcional. El nombre del evento

venue

object (EventVenue)

Opcional. Es el lugar del evento.

dateTime

object (EventDateTime)

Opcional. Es la información sobre la fecha y hora del evento.

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de entrada para evento. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Es la imagen del banner que se muestra en el frente de la clase de entrada para evento.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de entrada para el evento.

EventVenue

Representación JSON
{
  "name": {
    object (LocalizedString)
  },
  "address": {
    object (LocalizedString)
  }
}
Campos
name

object (LocalizedString)

Opcional. Es el nombre del establecimiento.

address

object (LocalizedString)

Opcional. Dirección del lugar

EventDateTime

Representación JSON
{
  "start": string,
  "end": string
}
Campos
start

string

Opcional. Fecha y hora en que comienza el evento. Si el evento abarca varios días, debe ser la fecha y hora de inicio del primer día. El formato es una fecha y hora en formato extendido ISO 8601 sin desfase, y la hora se puede especificar con una precisión de hasta milisegundos, p.ej., 2027-03-05T06:30:00.

end

string

Opcional. Fecha y hora en que finaliza el evento. Si el evento abarca varios días, debe ser la fecha y hora de finalización del último día. El formato es una fecha y hora en formato extendido ISO 8601 sin desfase, y la hora se puede especificar con una precisión de hasta milisegundos, p.ej., 2027-03-05T06:30:00.

FlightClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "flightHeader": {
    object (FlightHeader)
  },
  "origin": {
    object (AirportInfo)
  },
  "destination": {
    object (AirportInfo)
  },
  "localScheduledDepartureDateTime": string,
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de vuelo.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de vuelo.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de vuelo.

flightHeader

object (FlightHeader)

Opcional. Es la información sobre la aerolínea y el número de vuelo.

origin

object (AirportInfo)

Opcional. Es la información sobre el aeropuerto de origen.

destination

object (AirportInfo)

Opcional. Es la información sobre el aeropuerto de destino.

localScheduledDepartureDateTime

string

Opcional. Fecha y hora programadas en las que se espera que la aeronave salga de la puerta (no de la pista). El formato es una fecha y hora en formato extendido ISO 8601 sin desfase, y la hora se puede especificar con una precisión de hasta milisegundos, p.ej., 2027-03-05T06:30:00. Debe ser la fecha y hora locales del aeropuerto (no una hora en UTC).

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de vuelo. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Es la imagen de banner que se muestra en el frente de la clase de vuelo.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de vuelo.

FlightHeader

Representación JSON
{
  "carrier": {
    object (FlightCarrier)
  },
  "flightNumber": string
}
Campos
carrier

object (FlightCarrier)

Opcional. Es la información sobre la aerolínea.

flightNumber

string

Opcional. Número de vuelo sin el código IATA de la aerolínea. El campo solo contiene dígitos, p.ej., "123".

FlightCarrier

Representación JSON
{
  "carrierIataCode": string,
  "carrierIcaoCode": string,
  "airlineLogoUri": string
}
Campos
carrierIataCode

string

Opcional. Es el código de aerolínea IATA de dos caracteres de la aerolínea.

carrierIcaoCode

string

Opcional. Es el código de aerolínea de la OACI de tres caracteres de la aerolínea.

airlineLogoUri

string

Opcional. Es el logotipo de la aerolínea que se describe con el código IATA de la aerolínea.

AirportInfo

Representación JSON
{
  "airportIataCode": string,
  "terminal": string,
  "gate": string
}
Campos
airportIataCode

string

Opcional. Código IATA de tres caracteres del aeropuerto, p.ej., "SFO".

terminal

string

Opcional. Nombre de la terminal, p.ej., "I".

gate

string

Opcional. Nombre de la puerta, p.ej., "B59".

TransitClass

Representación JSON
{
  "id": string,
  "issuerName": string,
  "localizedIssuerName": {
    object (LocalizedString)
  },
  "hexBackgroundColor": string,
  "heroImageUri": string,
  "transitType": enum (TransitType),
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase de tránsito.

issuerName

string

Opcional. Es el nombre de la entidad emisora de la clase de tránsito.

localizedIssuerName

object (LocalizedString)

Opcional. Es el nombre localizado de la entidad emisora de la clase de tránsito.

hexBackgroundColor

string

Opcional. Es el color de fondo de la clase de transporte público. El formato es una cadena de color hexadecimal, p.ej., "#RRGGBB".

heroImageUri

string

Opcional. Es la imagen de banner que se muestra en el frente de la clase de transporte público.

transitType

enum (TransitType)

Opcional. Es el tipo de transporte público de la clase de transporte público.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase de tránsito.

GenericClass

Representación JSON
{
  "id": string,
  "classTemplateInfo": {
    object (ClassTemplateInfo)
  }
}
Campos
id

string

Opcional. Es el ID de la clase genérica.

classTemplateInfo

object (ClassTemplateInfo)

Opcional. Es la información de la plantilla sobre cómo se debe mostrar la clase genérica.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌