Cartões vinculados automaticamente
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Contexto
Com o recurso de cartões vinculados automaticamente, você pode enviar outros cartões a um usuário que já tem o cartão na Carteira do Google. Também é possível vincular cartões com antecedência a um cartão principal quando um usuário salva o cartão principal. O cartão vinculado automaticamente é agrupado com o principal, com uma
chamada acima dele informando ao usuário que um novo cartão foi
vinculado. Os seguintes tipos de cartão são aceitos como principais ou vinculados:
- Ingressos de evento
- Cartão de embarque
- Cartão de transporte público
- Oferta
- Vale-presente
- Cartão de fidelidade
- Cartão genérico
|
|
Cartão principal com o aviso de que um novo cartão foi adicionado
|
Novo cartão vinculado ao cartão principal
|
Casos de uso
Você pode ter casos de uso diferentes para vincular cartões a um cartão existente. Veja alguns exemplos:
- Vincular uma oferta a um cartão de fidelidade atual.
- Vincule um vale-refeição a um cartão de embarque ou ingresso de evento.
- Vincular um cartão de estacionamento a um ingresso de evento.
Considerações sobre o uso de cartões vinculados automaticamente
- O objeto principal e o vinculado precisam usar o mesmo emissorId.
- Há um limite de 50 objetos vinculados por objeto principal.
- O envio automático de cartões vinculados não é garantido e é considerado
o melhor esforço. Os usuários podem desativar o recebimento de cartões vinculados automaticamente. Se o caso de uso for
crítico e o usuário precisar receber o cartão vinculado, recomendamos
se comunicar por outro canal para garantir que o usuário adicione o cartão.
- As atualizações da AUP da Carteira do Google
incluem orientações sobre o uso de cartões vinculados automaticamente que precisam ser respeitados.
Etapas de integração
Se você já criou um objeto principal, pule a etapa 1.
- Crie um objeto de qualquer tipo de cartão listado
com os parâmetros necessários. Esse é o objeto principal.
- Crie outro objeto de qualquer tipo de cartão listado. Esse será o objeto
vinculado.
- Antes ou depois de salvar o objeto principal, atualize
o objeto principal com o ID do objeto vinculado no parâmetro
linkedObjectIds.
Há um payload mínimo necessário para definir os linkedObjectIds em um cartão
principal. Os três parâmetros obrigatórios incluem:
- ISSUERID.PRIMARY_OBJECT_ID
- ISSUERID.PRIMARY_CLASS_ID
- ISSUERID.LINKED_OBJECT_ID
Exemplo de solicitação JSON para adicionar um objeto vinculado a um objeto de cartão
…
{
"id": "ISSUERID.PASS_OBJECTID",
"classId": "ISSUERID.PASS_CLASSID",
"barcode": {
"type": "qrCode",
"value": "QR code"
},
"linkedObjectIds": {"ISSUERID.LINKED_PASS_OBJECTID"}
}
…
Exemplo de resposta JSON após vincular um objeto a um objeto de cartão
…
"state": "active",
"linkedObjectIds": {
"ISSUERID.LINKED_PASS_OBJECTID"
}
…
Comportamento esperado
Depois de receber uma resposta, os dispositivos com o cartão atualizado vão receber o cartão vinculado. Esse cartão vinculado será agrupado com o cartão principal. Os usuários podem conferir o cartão vinculado deslizando para a direita.
Como processar exceções
Possíveis erros podem acontecer com o uso incorreto da API, que pode incluir:
Mensagem |
Motivo |
O objeto principal e o vinculado não compartilham o mesmo ID de
emissor. |
Não é possível anexar um objeto vinculado ao objeto de outro emissor. |
O objeto principal e o vinculado se referem ao mesmo objeto. |
Não é possível anexar o mesmo objeto que o linkedObject. |
O objeto vinculado não existe. |
O objeto vinculado já precisa estar inserido na API da Carteira. |
O objeto vinculado já tem outro objeto vinculado. Não é possível adicionar objetos vinculados
anexados. |
Os objetos vinculados não podem ter outro objeto vinculado. |
O objeto já está vinculado a outro objeto. Não é possível adicionar objetos
vinculados aninhados. |
O objeto principal não pode ser um objeto vinculado por si só. |
Não é possível adicionar mais objetos vinculados. O limite foi excedido. |
O limite de 50 cartões vinculados foi atingido para o cartão
principal. |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-03 UTC.
[null,null,["Última atualização 2025-09-03 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. |"]]