API User Info retornando code 81

API User Info retornando code 81

Bom dia pessoal,


Estou recebendo a seguinte mensagem de erro, sendo que estou usando um token válido do meu bot http:



"reason":{"code":81,"description":"Could not determine the page access token for the specified sender"}


alguém passou por isso antes? Obrigado!


12 comentários

E também fiz um teste com a API de enviar mensagens, está retornando:


"reason":{"code":37,"description":"Unauthorized active message. Messages outside the response window are not allowed for the current sender."}


Procurei sobre os dois códigos de erro e não encontrei as resoluções

Reputação 7

Olá @mvkassak

Notei que a requisição para User Info está incorreta. Não sei se é isso que está causando esse erro, mas podemos conferir.


No campo <Client identity> você precisa colocar o ID inteiro, incluindo o @messenger.gw.msging.net


{  
"id": "1",
"to": "[email protected]",
"method": "get",
"uri": "lime://messenger.gw.msging.net/accounts/[email protected]"
}

A segunda requisição deu erro devido à janela de mensagens ativas. Você tentou enviar uma mensagem no Messenger para algum contato com uma janela maior que 24h desde a última mensagem do usuário? Para entender esse problema, dê uma olhadinha neste artigo, por favor:


https://help.blip.ai/hc/pt-br/articles/360021108332-Política-de-violação-de-mensagens-ativas-do-BLiP

Acabei passando um número fixo no id e a Key precisava ser do meu bot router e não do meu bot http, e funcionou perfeitamente! Só que no meu fluxo, eu coleto o Nome e o Email do contato e seto os valores dele… Porém nessa chamada só me retorna o fullName, sem email, sabe o que pode ser?


Obrigado!

Reputação 7

Usa a extensão Contacts (Blip Docs | API Reference).


Ela vai te retornar essas informações que você precisa.

Beleza, essa outra chamada de User Info utilizaria mais se precisasse resgatar infos de algum usuário que tem “tunnel” então né? Outra pergunta, estou utilizando sempre um atributo dentro do objeto metadata que se chama #tunnel.originator. Existe algum risco de eu não receber esse dado? Ele é o principal na minha aplicação:


@BrunoC Consegue me auxiliar nisso? Estou tentando pegar as informações de um usuário tunnel, porem recebo esse retorno:


@BrunoC @rafaelpa


Ele continua retornando essa mensagem, conseguem me auxiliar?


No get contact me retorna isso tbm, estou utilizando a key do bot router e ja tentei com a do meu bot http tambem e nada

Olá @mvkassak,


você tem a informação do tunnel do seu cliente em um subbot, correto?

Você deseja buscar os dados deste cliente no canal final, como nome por exemplo, certo?


Neste cenário você deve executar o comando utilizando as chaves do subbot, enquanto o tunnel ainda é válido, ou seja, enquanto o cliente conversa com o subbot. Certifique-se de que todos esses passos foram seguidos e nos informe por aqui.


Obs.: Siga o comando descrito no link abaixo.


https://docs.blip.ai/#querying-information

@rafaelpa Obrigado pelo retorno! Na verdade já tentei com a Key dos meus 2 subbots mas não retorna, na arquitetura que fiz baseado no de filiais, mas eu teria que identificar o cliente assim que ele entra em contato comigo de primeira, e só consegui recuperar os dados do cliente pegando o parâmetro direto da url do navegador quando filtrei dentro de Contacts e procurei por ele:



E ai retornou certinho:



Mas note que quando chamo meu bot http que dá um post em minha outra plataforma, eu recebo um id diferente da requisição que fiz acima:



E aí resulta em erro mesmo, como eu faço pra ter esse id do contato assim que eu criar ele no blip? Obrigado!

@BrunoC Já viu algo parecido? Consegue me auxiliar? Obrigado!!

@mvkassak,


de acordo com o seu print a busca pelas informações do usuário ocorreu com sucesso, certo?


Lembre-se que o BLiP cria diferentes tunnels para o mesmo usuário quando ele muda de um bot para outro. Por isso a identificação de um mesmo usuário é alterada quando vc redireciona o cliente de um subbot para outro.


Para entender quem é o cliente de verdade verifique os metadados do comando de Get Contact em cada um dos subbots. Ele possui um campo chamado originator, esse é o campo que efetivamente identifica o seu cliente em qualquer um dos subbots.

Comente