Enviar Notificações PDF via HTTP x Builder

Boa tarde Prezados,

Estou desenvolvendo uma integração via HTTP x BUILDER, mãs não consegui fazer funcionar a seguinte situação.

Enviei uma notificação para o cliente via HTTP de um arquivo PDF, porém quando o cliente receber tem que
aparecer a seguinte mensagem “DESEJA APROVAR 1-SIM/2-NAO”.

Só que eu só consigo enviar o PDF e não consigo fazer o BUILDER entender para dar essa mensagem “DESEJA APROVAR 1-SIM/2-NAO”.

Lembrando a integração que estou fazendo é essa (https://help.blip.ai/docs/en/channels/whatsapp/enviar-notificacao-whatsapp-blip-api/#docsNav) para o PDF.

Eu tenho que fazer isso por redirecionamento para alguma coisa ou via parametro por alguma variavel ?

Possuem algum exemplo de JSON?

Att.

Mike

@Michael_Maximino_de

Antes de enviar uma notificação, você precisa criar e ter um Message Template aprovado. Na hora da criação, você pode colocar o texto conforme você deseja e então enviar ele.

No JSON que você está usando, você passa apenas os valores definidos como variáveis no Message Template, se houver.

Veja este exemplo:

1 Curtida

Bom dia,

Eu já tenho o template aprovado a qual eu já consigo enviar o PDF, porém pra adicionar botões fala que essa funcionalidade ainda não está disponível e tenho q entrar em contato com blip.

E o PDF que já envio para o cliente se eu tentar passar algum parâmetro da erro no JSON mostra no LOG. Eu passo o seguinte parametro [localizable_params].

E após eu conseguir criar esses botões eu consigo redirecionar para uma parte do meu fluxo? tem exemplo do JSON ? E como eu passaria um conteúdo no JSON tipo o CNPJ do cliente pra continuar no fluxo sem q haja a necessidade do cliente informar.

Para criar Message Templates com botões ainda é preciso solicitar ao seu suporte a criação, pois esta funcionalidade ainda não existe no portal, conforme explicado aqui.

Isso não é feito no JSON da notificação. Esse JSON é apenas um conteúdo de mensagem, não realiza ações dentro do bot. Existem algumas formas de você fazer o que quer, e uma delas é:

  1. Ao enviar a notificação para um usuário, envie ele para um bloco específico do seu bot. https://docs.blip.ai/#change-user-state
  2. Neste bloco, prepare o seu bot para receber e tratar a resposta dada.

Novamente, o JSON de envio de notificação é apenas uma mensagem que será recebida pelo usuário. Neste caso você pode salvar o CNPJ do usuário como uma informação de extras do contato dele. No Builder, basta utilizar {{contact.extras.cnpj}}, por exemplo, uma vez que tenha salvo desta forma.

1 Curtida

Bruno,

Mas então o Cenário que eu tenho não vai funcionar.

O cliente entra em contato via Whatsapp (Builder)e ele cai em um fluxo e de acordo com as informações ele será redirecionado para um humano.

Esse Humano vai fazer o orçamento dele pelo sistema (ERP) a vai gravar o orçamento em PDF e vai enviar via (HTTP) para o cliente via notificação e perguntando deseja aprovar (SIM/NAO).

Se o cliente Aprovar tem que cair em um bloco do fluxo, porém o builder precisa já ter o CNPJ do cliente salvo em algum lugar para continuar o atendimento.

Att

Justamente, você terá a informação salva nos dados do Contato. Você poderá usar essa informação como condição de saída, utilizando a variavel contact.extas.cnpj

1 Curtida

Perfeito.

Estou trocando o estado de um fluxo e estou tendo o seguinte retorno.

 "code": 21,
 "description": "Unable to cast object of type 'Lime.Protocol.Command' to type 'Lime.Protocol.Message'."

Mas montei o JSON certinho…

{
  "id": "{{$guid}}",
  "to": "postmaster@msging.net",
  "method": "set",
  "uri": "/contexts/**55119xxxxxxxx@wa.gw.msging.net/stateid**%40/**e6299da0-b6d1-433a-a26e-2b59c301df56**",
  "type": "text/plain",
  "resource": "state-one"
}

A URL que você está enviando o comando provavelmente está errada.

Confira se você está enviando para https://http.msging.net/commands e não https://http.msging.net/messages

Só para confirmar: você está alterando o valor do objeto resource com o ID do Bloco, correto?

1 Curtida

Bruno,

Realizei a alteração e deu certo.

Não deveria subir um Pop Up no Builder ?

Com o novo Fluxo do processo ?

{
    "method": "set",
    "status": "success",
    "id": "337ecc78-d6e4-4846-8e1b-3ce8d87cb7ba",
    "from": "postmaster@msging.net/#az-iris4",
    "to": "lis@msging.net/!az-iris4-64z8mzkg",
    "metadata": {
        "#command.uri": "lime://lis@msging.net/contexts/5511964268379@wa.gw.msging.net/stateid%400",
        "uber-trace-id": "9acd773e56f20b9c%3A52e85f24a82d3cfd%3A9acd773e56f20b9c%3A1"
    }
}

Boa! :smiley:

Como assim?

Exemplo.

Mandei um arquivo para o Cliente e em seguida quero redirecionar para um fluxo a qual criei que pergunta se ele deseja aprovar isso o Builder fazendo a pergunta.

Conforme a imagem.

Não sei se conseguiu entender?

Eu entendi o que você quer fazer, não entendi o que seria o Pop up que você citou. Você pode ser mais específico, por favor?

Criei essa imagem para exemplificar o fluxo. Inicialmente seu usuário está no “Fluxo normal”, exemplificado em cor azul. Esse é o fluxo do seu bot, onde ele conversa de forma natural e vai para o atendimento humano. Quando faz o processo de mudar ele de estado, é esperado que você copie o ID do primeiro bloco do fluxo assinalado em vermelho ( Recebe notificação), que é basicamente essa imagem que você enviou.

Perfeito é exatamente isso.

Porém na pratica não está dando certo pelo Postman executei o JSON e não está mudando de fluxo.

Segui até o passo a passo [Resolvido] Setar estado do usuário no builder

e mesmo assim retorna Sucesso porém não mudou o fluxo.

O popup seria só quando trocar de Fluxo aparecer uma mensagem para o cliente. Igual do seu fluxo vermelho.

Estou até fazendo DEBUG e no console não apresenta nada.

Nem mesmo quando o usuário envia uma mensagem, ela não recebe a mensagem do bot (digo, aquela configurada para ser exibida no novo bloco)?

Está preenchendo os dados corretamente? ID do Bloco, ID do Fluxo, ID do Usuário?
Você pode enviar a requisição que está fazendo, por favor?

Quando é enviado qualquer msg o BOT responde o padrão.

Ai criamos um novo bloco para que após o recebimento do arquivo pdf teria que trocar o fluxo e ir para outro bloco.

Id Fluxo: 4e72a9d9-b96f-4e0e-8738-bbc30eb11f54
Id Bloco: e6299da0-b6d1-433a-a26e-2b59c301df56
Id Usuario: Meu Numero de Celular

JSON Enviado

{
  "id": "{{$guid}}",
  "to": "postmaster@msging.net",
  "method": "set",
  "uri": "/contexts/5511964xxxxxx@wa.gw.msging.net/stateid%404e72a9d9-b96f-4e0e-8738-bbc30eb11f54",
  "type": "text/plain",
  "resource": "e6299da0-b6d1-433a-a26e-2b59c301df56"
}

Deveria aparecer essa mensagem quando eu trocasse de fluxo.

Mike,
vamos fazer um teste, ok?

  1. Crie um bloco sem nada dentro e que também não aguarde mensagem do usuário:
    image

  2. Coloque como condição de saída dele, o seu bloco notificacao-orçamento
    image

  3. Mude o estado do usuário através da requisição e envie uma mensagem para o bot (como usuário), e veja se ele irá responder corretamente, por favor.

Uma dica: O WhatsApp não suporta o tipo de conteúdo Quick Reply que você está usando para perguntar SIM ou NÃO. Para enviar esse tipo de conteúdo é preciso enviar através de conteúdo dinâmico e Message Template.

Blz vou criar e fazer o teste e já te dou um retorno.

1 Curtida

Esqueci de dizer, envie o usuário através da requisição para esse bloco novo que você irá criar, antes do notificacao-orçamento

Bruno,

Criei conforme você disse e fiz a requisição no novo bloco porém sem sucesso ;(, troquei de bloco e nada foi feito. Se eu escrevo qualquer msg continua caindo no 1 fluxo.

{
  "id": "{{$guid}}",
  "to": "postmaster@msging.net",
  "method": "set",
  "uri": "/contexts/5511964268379@wa.gw.msging.net/stateid%404e72a9d9-b96f-4e0e-8738-bbc30eb11f54",
  "type": "text/plain",
  "resource": "5249cf5b-dd9d-4c2b-8ab1-9ccc5a10b617"
}

Olá Mike, como vai?

Ou estamos deixando passar algum detalhe importante ou a plataforma não está funcionando como deveria. Você é um cliente de plano Business, correto? Poderia abrir um chamado para o seu suporte a respeito disso? Eles vão conseguir te orientar de forma mais assertiva.