Como pegar o state de um usuário do WhatsApp

Boa tarde.

Tenho a seguinte situação:

  1. Tenho um fluxo associado a um roteador;
  2. Em um sistema interno, tenho o número de um cliente que entrou em contato com o fluxo via WhatsApp;
  3. Preciso resetar o estado desse cliente via API, porém tenho apenas seu número de telefone; não tenho seu ‘contact.identity’ que vem do roteador.

A documentação da API diz que preciso do contact.identity, porém, não o possuo. Existe alguma maneira de obter o contact.identity via API, utilizando apenas o número de telefone do cliente que entrou via WhatsApp?

Olá @Matheus_de_Moura_Cir como vai?

Se o contexto do roteador estiver ativo no subbot, o ID dele será o número dele (com código do país) + @wa.gw.msging.net e você consegue ele ID pelo contact.identity, pois é o mesmo do roteador.

5531999999999@wa.gw.msging.net

Se o contexto não estiver ativo, o contact.identity vem no formato

...@tunnel.msging.net

Se o caso for este último, o ID do usuário no router pode ser encontrado no Builder usando a variável {{tunnel.originator}}. Se você quiser pegar via API, vai precisar seguir alguns passos:

  1. Pegar o ID do cliente no Subbot.
  2. Fazer uma requisição para o endpoint abaixo, passando o id do passo 1.
    {
    "id": "{{$guid}}",
    "to": "postmaster@tunnel.msging.net",
    "method":"get",
    "uri": "/tunnels/{{id}}"
    }
    
  3. Será retornado um atributo originator, que é o ID que você precisa.

Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.