Passes de Carteira
Para gerar um Passe de Carteira (Wallet Pass) é usada a action chamada save-in-wallet, que funciona semelhantemente à action de Cartões Virtuais e possui a seguinte estrutura:
{
"icon": "EAAE",
"name": "save-in-wallet",
"order": 0,
"parameters": [
{
"title": "querystring",
"value": "?path=wallet"
}
],
"path": "MS_PASS",
"permissionLevel": 2,
"publishLevel": 1
}Ao acionar a action, o fluxo executado é o da imagem abaixo:

Essa action pode ser adicionada em qualquer ponto da aplicação, e uma vez selecionada ela inicia o fluxo de geração do pass (card) e em seguida permite o usuário adicionar no Google ou Apple Wallet.
Para que a action save-in-wallet funcione é importante que:
O valor do
pathprincipal sempre sejaMS_PASS. Esta é a forma que o backend identifica que o passe precisa ser gerado.O
pathsecundário, definido dentro doparametercom títuloquerystring, é o path para a integração que retorna os dados do cartão.
O conteúdo retornado pela integração definida no path secundário deve retornar os dados do cartão no seguinte formato:
Os parâmetros acima definem o pass conforme imagem abaixo:

No wallet do Google algumas informações são exibidas na área de menu de 3 pontinhos:

Para o iOS o formato é o seguinte:

Observe também que iOS e Android possuem objetos separados no json, visto que cada plataforma tem parâmetros específicos e individuais.
Note que o parâmetro codeType pode ter os valores QR para exibir um QRCode ou CODE_128 para exibir um código de barras, ambos utilizarão o valor do campo barcodeValue para gera seu conteúdo.
O campo passId deve ser informado um ID único do objeto para cada cartão gerado do usuário.
Quanto a validade do pass, cada plataforma tem uma maneira de informar, iOS por exemplo basta informas uma data de expiração no campo expirationDate e no Android no campos validTimeInterval que é um intervalo de tempo que o pass permanece válido, porém não é garantido a expiração imediata no final da validade, para efeito imediato utilize também para android o campo status com o valor expired.
Quando às cores o Android tem uma facilidade. A depender da tonalidade da cor de background, a cor dos textos é escolhida automaticamente. No caso do iOS o mesmo não acontece. É de sua responsabilidade definir também a cor dos textos se definir uma cor de fundo.
pageContent.ios.labelColor: Cor dos títulos dos campos.pageContent.ios.foregroundColor: Cor dos valores dos campos.
Por exemplo, se eu tiver um campo com título NOME e valor Antônio Matos, NOME terá a cor do labelColor e Antônio Matos terá a cor do foregroundColor.
A imagem de ícone do iOS (pageContent.ios.icon) também é obrigatória, e deve ser 58x58.

Atualizado