Ir para o conteúdo

Push em App de Parceiro/Varejista

Guia de integração de notificações push em aplicativos próprios de parceiros e varejistas: formato do pushid, configuração com Firebase e uso do Push Direcionado (TAGs e deeplink).

Relação com a DDI v14

O pushid é enviado através das APIs de cliente da DDI — Versão 14 (Cadastro de Cliente, Alterar Cliente e a API dedicada Atualiza PushID).


Formato do pushid

O pushid é um JSON (serializado como string) que identifica o device do shopper para o serviço de push. O formato varia conforme a plataforma.

{
  "destino": {
    "PushNotificationService": "GCM",
    "MobileIdentification": "fRi_MhaXTYCf4pZ-zZrAFM:APA91bE7sMTMZU271UMNPVlTsmsD7FoRi..."
  }
}
{
  "destino": {
    "PushNotificationService": "APNS",
    "MobileIdentification": "fRi_MhaXTYCf4pZ-zZrAFM:APA91bE7sMTMZU271UMNPVlTsmsD7FoRi..."
  }
}

Serialização

Ao enviar o pushid nas APIs de cliente, o JSON acima deve ir serializado como string (com as aspas escapadas). Ex.: "pushid": "{\"destino\":{\"PushNotificationService\":\"GCM\",\"MobileIdentification\":\"...\"}}"


Envio do pushid via API de Clientes

O fluxo padrão é chamar a API de clientes enviando o campo de push. Para inclusão de cadastro, envie o máximo de dados; para alteração de um cadastro existente, envie o mínimo necessário.

Referência da API

Detalhes de URL, headers e retornos estão na DDI v14 — Cadastro de Cliente e Alterar Cliente. Para atualizar somente o push, use Atualiza PushID.

{
  "token": "",
  "cpfcnpj": "somente numero do cpf ou cnpj",
  "nome": "Thiago Watanabe",
  "nascimento": "dd/MM/yyyy",
  "celular": "somente numero, composto por DD + numero (ex: DD999999999)",
  "idClassificacao": 0,
  "classificacao": "",
  "pushId": "{\"destino\":{\"PushNotificationService\":\"GCM\",\"MobileIdentification\":\"...\"}}",
  "idmodulo": 5000
}
{
  "token": "",
  "cpfcnpj": "somente numero do cpf ou cnpj",
  "pushId": "{\"destino\":{\"PushNotificationService\":\"GCM\",\"MobileIdentification\":\"...\"}}",
  "idmodulo": 5000
}

Integração com Firebase (Android/iOS)

Premissas de configuração para habilitar o push no app do parceiro.

Etapa Android iOS
Bundle/App ID Configurar no repositório do varejista Configurar BundleId no projeto
Arquivo de serviço Adicionar google-services.json no projeto Android Adicionar GoogleService-Info.plist no projeto iOS
Certificado/chave — Gerar .p12 (com senha) ou .p8 na Apple e configurar no Firebase
DynamoDB Configurar configuracaoFCM (server key do parceiro) no CRM Bnex —
Rotina de PushID Implementar inclusão/atualização do pushid sempre que o cliente logar Idem

Conta Firebase da GS

Caso o varejista opte por usar a conta Firebase da GS, a única diferença é que a GS fornecerá os arquivos GoogleService-Info.plist e google-services.json.


O Push Direcionado abre o app em uma tela específica (ou um link) quando o usuário clica na notificação. Isso é feito inserindo uma TAG no texto do push, configurada em Campanhas de Ativação (Discovery, ativação do tipo Push).

Formato da TAG

!!NOME_TELA>>PARAMETROS!!

O parceiro deve desenvolver no app uma rotina que faça o redirecionamento para as rotas conforme os parâmetros recebidos no payload (data.redirect).

Payloads de exemplo

Mensagem: Tenha um bom dia.!!oferta>>idoferta=10!!

{
  "priority": "high",
  "data": {
    "redirect": "oferta?idoferta=10",
    "url": ""
  },
  "content_available": true,
  "notification": {
    "title": "Olá,",
    "body": "Tenha um bom dia."
  },
  "to": "cHuIJnuIRMiCcrCr1M3A0x:APA91bFvGIBD2h9wss3afhag34AJMIOP..."
}

O parceiro informa à Bnex a URL do deeplink (ex.: http://com.parceiro.app/).

Mensagem: Tenha um bom dia.!!oferta>>idoferta=10!!

{
  "priority": "high",
  "data": {
    "redirect": "http://com.parceiro.app/oferta?idoferta=10",
    "url": ""
  },
  "content_available": true,
  "notification": {
    "title": "Olá,",
    "body": "Tenha um bom dia."
  },
  "to": "cHuIJnuIRMiCcrCr1M3A0x:APA91bFvGIBD2h9wss3afhag34AJMIOP..."
}

O primeiro parâmetro da TAG é url e o segundo, o link.

Mensagem: Tenha um bom dia.!!url>>https://www.bnex.com.br!!

{
  "priority": "high",
  "data": {
    "redirect": "",
    "url": "https://www.bnex.com.br"
  },
  "content_available": true,
  "notification": {
    "title": "Olá,",
    "body": "Tenha um bom dia."
  },
  "to": "cHuIJnuIRMiCcrCr1M3A0x:APA91bFvGIBD2h9wss3afhag34AJMIOP..."
}

Passo a passo de utilização

Após o desenvolvimento da rotina de redirecionamento no app, o Push Direcionado é acionado criando uma ativação no Discovery do tipo Push e inserindo a TAG desejada na mensagem.

As opções de direcionamento são:

1. URL externa (abre no navegador do celular)

Olá, conheça mais sobre nós !!url>>https://www.sitedesejado.com.br!!

2. URL interna (abre em webview dentro do app)

Olá, conheça mais sobre nós !!url_interno>>https://www.sitedesejado.com.br!!

3. Página específica do aplicativo

Coloque !! antes e depois do nome da página de destino.

Confira a loja mais próxima a você !!Lojas!!

4. Oferta de recomendação (Tabloide, Desconto Exclusivo ou Cashback)

Olá, confira essa super oferta !!ofertas>>1552884!!

Como obter o ID da oferta

Acesse o Discovery → tela de "recomendações geradas" → clique em "detalhes" e copie o número que aparece na URL. Use esse idoferta na TAG !!ofertas>>...!! da mensagem de push.