Campanha: entrega por push mostra contagem de sucesso zero no UAT
Os deliveries por push no ambiente UAT foram concluídos com um status Concluído, mas não mostraram nenhuma mensagem processada e bem-sucedida. O problema afetou os deliveries por push do iOS e do Android e não era reproduzível em outros ambientes do mesmo cliente.
Descrição description
O fluxo de trabalho de direcionamento pode identificar a subscrição do aplicativo, mas a preparação do delivery retornou:
0 destinatário(s) corresponde aos critérios de segmentação
Destino de entrega vazio
0 mensagem(ns) aguardando
O problema começou após uma data específica e ocorreu com modelos de push personalizados e padrão.
A entrega usou o mapeamento de destino nms:appSubscriptionRcp padrão, que requer um link válido para nms:recipient.
Mapeamento: aplicativos do assinante (nms:appSubscriptionRcp)
recipientLink: recipient
targetSchema: nms:recipient
Esse não é um caminho de entrega somente de token. Embora a entrega direcione assinaturas de aplicativo, o mapeamento ainda espera que cada assinatura de aplicativo resolva para um destinatário válido.
A documentação do Adobe confirma que o mapeamento de destino de push padrão usa nms:appSubscriptionRcp e que esse mapeamento está vinculado à tabela de destinatários. Um target mapping diferente deve ser criado quando a implementação intencionalmente não usar o relacionamento do recipient.
Habilitamos logs SQL para preparação de entrega. O SQL de preparação executou esta junção:
JOIN TGT NmsAppSubscriptionRcp
ON W0.iId = TGT.iAppSubscriptionRcpId
RCP de JOIN NmsRecipient
ON TGT.iRecipientId = RCP.iRecipientId
Em UAT
- O registro testado existia em nms:appSubscriptionRcp.
- O campo recipient-id da assinatura do aplicativo estava vazio ou era NULL.
- Portanto, não foi possível realizar a associação a NmsRecipient.
- A assinatura do aplicativo foi removida do destino de entrega.
- A preparação da entrega retornou zero destinatários.
Quando a coluna ID do destinatário foi adicionada à visualização de dados do esquema para nms:appSubscriptionRcp, os registros UAT desapareceram porque não foi possível resolver sua relação de destinatário.
A produção continha um registro de recipient de id zero, permitindo que a associação fosse bem-sucedida.
Causa principal: a investigação descobriu que o cliente excluiu acidentalmente o registro de id zero nos esquemas de UAT e de destinatário de desenvolvimento. Isso quebrou as junções externas entre nms:recipient e esquemas relacionados, incluindo nms:appSubscriptionRcp.
Resolução resolution
Restaure o registro de id zero ausente nos schemas de UAT e recipient de desenvolvimento e valide se as assinaturas de aplicativo recebem o link de recipient esperado.
Após a restauração:
- Confirme se @recipient-id está preenchido ou é resolvido corretamente.
- Executar um delivery de push de teste.
- Verifique se o destino contém a assinatura esperada.
- Confirme se as mensagens processadas e a contagem de sucesso são maiores que zero.
Se o direcionamento somente de token for necessário, crie um target mapping sem o link de recipient.