Pases vinculados automáticamente
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Segundo plano
La función Pases vinculados automáticamente te permite enviar pases adicionales a un usuario que ya tiene tu pase existente en su Billetera de Google. También puedes vincular previamente los pases a un pase principal cuando un usuario guarda el pase principal. El pase vinculado automáticamente se agrupa con el pase principal con un texto destacado sobre este que le informa al usuario que se vinculó un pase nuevo. Se admiten los siguientes tipos de pases como pases principales o vinculados:
- Entrada del evento
- Tarjeta de embarque
- Pase de transporte público
- Oferta
- Tarjeta de regalo
- Pase de lealtad
- Pase genérico
|
|
|
Pase principal con el texto destacado que indica que se agregó un pase nuevo
|
Nuevo pase vinculado al pase principal
|
Casos de uso
Es posible que tengas diferentes casos de uso para vincular pases a uno existente. A continuación, se muestran algunos ejemplos:
- Vincula una oferta a una tarjeta de lealtad existente.
- Vincula un cupón de comida a una tarjeta de embarque o entrada para un evento.
- Vincula un pase de estacionamiento a una entrada para un evento.
Algunas consideraciones para usar pases vinculados automáticamente
- El objeto principal y el objeto vinculado deben usar el mismo issuerId.
- Existe un límite de 50 objetos vinculados por objeto principal.
- No se garantiza que se envíen pases vinculados automáticamente y se considera un esfuerzo máximo. Los usuarios pueden inhabilitar la recepción de pases vinculados automáticamente. Si el caso de uso es fundamental y el usuario debe recibir el pase vinculado, te recomendamos que te comuniques por otro canal para asegurarte de que el usuario lo agregue.
- Las actualizaciones de la AUP de la Billetera de Google incluyen orientación sobre el uso de los Pases vinculados automáticamente que se deben cumplir.
Pasos para la integración
Si ya creaste un objeto principal, puedes omitir el paso 1.
- Crea un objeto de cualquier tipo de pase que se muestre con los parámetros obligatorios. Este es el objeto principal.
- Crea otro objeto de cualquier tipo de pase que se indique. Este será el objeto
vinculado.
- Antes o después de guardar el objeto principal, actualiza
el objeto principal con el ID del objeto vinculado en el parámetro linkedObjectIds.
Se requiere una carga útil mínima para establecer los linkedObjectIds en un pase principal. Entre los 3 parámetros obligatorios, se incluyen los siguientes:
- ISSUERID.PRIMARY_OBJECT_ID
- ISSUERID.PRIMARY_CLASS_ID
- ISSUERID.LINKED_OBJECT_ID
Ejemplo de solicitud JSON para agregar un objeto vinculado a un objeto de pase
…
{
"id": "ISSUERID.PASS_OBJECTID",
"classId": "ISSUERID.PASS_CLASSID",
"barcode": {
"type": "qrCode",
"value": "QR code"
},
"linkedObjectIds": {"ISSUERID.LINKED_PASS_OBJECTID"}
}
…
Ejemplo de respuesta JSON después de vincular un objeto a un objeto de pase
…
"state": "active",
"linkedObjectIds": {
"ISSUERID.LINKED_PASS_OBJECTID"
}
…
Comportamiento esperado
Después de recibir una respuesta correcta, los dispositivos con el pase que actualizaste deberían recibir el pase vinculado. Este pase vinculado se agrupará junto con el pase principal. Los usuarios pueden ver el pase vinculado deslizando el dedo hacia la derecha.
Manejo de excepciones
Es posible que se produzcan errores potenciales con el uso incorrecto de la API, que pueden incluir lo siguiente:
| Mensaje |
Motivo |
| El objeto principal y el objeto vinculado no comparten el mismo ID de entidad emisora. |
No puedes adjuntar un objeto vinculado al objeto de otro emisor. |
| El objeto principal y el objeto vinculado se refieren al mismo objeto. |
No puedes adjuntar el mismo objeto que el linkedObject. |
| El objeto vinculado no existe. |
El objeto vinculado ya debería estar insertado en la API de la Billetera. |
| El objeto vinculado ya tiene otro objeto vinculado. No se pueden agregar objetos vinculados anidados. |
Los objetos vinculados no pueden tener otro objeto vinculado. |
| El objeto ya está vinculado a otro. No se pueden agregar objetos vinculados anidados. |
El objeto principal no puede ser un objeto vinculado por sí solo. |
| No se pueden agregar más objetos vinculados, se excedió el límite. |
Se alcanzó el límite de 50 pases vinculados para el pase principal. |
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-04 (UTC)
[null,null,["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eAuto Linked Passes enable you to send additional passes to users who already have an existing pass from your organization in their Google Wallet, pre-linking them for a seamless user experience.\u003c/p\u003e\n"],["\u003cp\u003eThis feature supports various pass types including Event tickets, Boarding passes, Transit passes, Offers, Gift cards, Loyalty passes, and Generic passes, offering flexibility for different use cases.\u003c/p\u003e\n"],["\u003cp\u003eWhen utilizing Auto Linked Passes, ensure the primary and linked objects share the same issuerId and be aware of the 50 linked object limit per primary object.\u003c/p\u003e\n"],["\u003cp\u003eWhile automatic delivery of linked passes is best-effort and user-configurable, the feature offers a convenient way to provide users with related passes, enhancing their experience with your services.\u003c/p\u003e\n"]]],["Auto Linked Passes enable grouping additional passes with an existing primary pass in Google Wallet. Supported pass types include event tickets, boarding passes, and loyalty passes. To link passes, create primary and linked objects, then update the primary object with the linked object's ID using the `linkedObjectIds` parameter. Both objects must share the same `issuerId`. There is a limit of 50 linked passes. Errors may occur if linked objects are from different issuers or the 50 limit is reached.\n"],null,["# Auto Linked Passes\n\n#### Background\n\nThe Auto Linked Passes feature lets you send additional passes to a\nuser who already has your existing pass in their Google Wallet. You can also\npre-link passes to a primary pass when a user saves the **primary**\n(main) pass. The Auto Linked Pass is grouped with the primary pass with a\ncallout above the primary pass informing the user that a new pass has been\nlinked. The following pass types are supported as primary or linked passes;\n\n- Event ticket\n- Boarding pass\n- Transit pass\n- Offer\n- Gift card\n- Loyalty pass\n- Generic pass\n\n|--------------------------------------------------------------|-------------------------------------|\n| | |\n| Primary pass with the callout that a new pass has been added | New pass linked to the primary pass |\n\n#### Use Cases\n\nYou may have different use cases for linking passes to an existing pass. Some\nexamples include:\n\n- Link an offer to an existing loyalty card.\n- Link a meal voucher to a boarding pass or event ticket.\n- Link a parking pass to an event ticket.\n\n#### Some considerations when using Auto Linked Passes\n\n- The primary object and linked object must use the same issuerId.\n- There is a limit of 50 linked objects per primary object.\n- Pushing linked passes automatically is not guaranteed and considered best-effort. Users can opt out of receiving Auto Linked Passes. If the use case is critical and the user must receive the linked pass, we recommend communicating through another channel to ensure the user adds the pass.\n- Updates to the [Google Wallet AUP](https://payments.developers.google.com/terms/aup) include guidance on the use of Auto Linked Passes which must be adhered to.\n\n#### Integration Steps\n\nIf you have already created a **primary** object you can skip step 1.\n\n1. Create an [object](/wallet/generic/use-cases/create) of any pass type listed with the required parameters. This is the **primary** object.\n2. Create another object of any pass type listed. This is going to be the **linked** object.\n3. Either before or after the primary object is saved, [update](/wallet/generic/use-cases/update) the primary object with the ID of the linked object in the linkedObjectIds parameter.\n\nThere is a minimum payload required to set the linkedObjectIds on a primary\npass. The 3 required parameters include;\n\n1. ISSUERID.PRIMARY_OBJECT_ID\n2. ISSUERID.PRIMARY_CLASS_ID\n3. ISSUERID.LINKED_OBJECT_ID\n\n#### Example JSON Request to add a linked object to a pass object\n\n```carbon\n ...\n {\n \"id\": \"ISSUERID.PASS_OBJECTID\",\n \"classId\": \"ISSUERID.PASS_CLASSID\",\n \"barcode\": {\n \"type\": \"qrCode\",\n \"value\": \"QR code\"\n },\n \"linkedObjectIds\": {\"ISSUERID.LINKED_PASS_OBJECTID\"}\n }\n ...\n```\n\n#### Example JSON Response after linking an object to a pass object\n\n```scdoc\n …\n \"state\": \"active\",\n \"linkedObjectIds\": {\n \"ISSUERID.LINKED_PASS_OBJECTID\"\n }\n …\n```\n\n#### Expected behavior\n\nAfter receiving a successful response, devices with the pass you updated\nshould receive the linked pass. This linked pass will be grouped together with\nthe primary pass. Users can see the linked pass by swiping right.\n\n#### Exception handling\n\nPotential errors may happen with incorrect use of the API which can\ninclude;\n\n| **Message** | **Reason** |\n|------------------------------------------------------------------------------------|----------------------------------------------------------------------|\n| Primary object and linked object don't share the same issuer ID. | You cannot attach a linked object to another issuer's object. |\n| Primary object and linked object refer to the same object. | You cannot attach the same object as the linkedObject. |\n| Linked object does not exist. | The linked object should already be inserted into the Wallet API. |\n| Linked object already has another linked object. Cannot add nested linked objects. | Linked objects cannot have another linked object. |\n| Object is already linked to another object. Cannot add nested linked objects. | Primary object cannot be a linked object by itself. |\n| Cannot add any more linked objects, limit exceeded. | The limit of 50 linked passes has been reached for the primary pass. |"]]