Olá @Lucas_Athayde, tudo bem?
Não vou entrar no mérito a respeito da plataforma/serviço para realizar os backups, contudo em relação as requisições HTTPs para extrair este tipo de informação segue algumas orientações:
Você pode recuperar o histórico de conversa do seu chatbot através de duas URIs principais:
POST https://your.endpoint/commands
Este request body (corpo da requisição) irá trazer às ultimas threads (histórico da conversa) do bot, se limitando ao valor máximo de 100 threads. Esta requisição não irá trazer a conversa completa de cada contato, mas apenas parte dela.
{
"id": "{{$guid}}",
"method": "get",
"uri": "/threads"
}
Caso você deseje a conversa de um contato específico, você precisa passar a “identidade” do usuário (representada pela variável do Blip contact.identiy) como parte integrante da uri, da seguinte forma:
{
"id": "{{$guid}}",
"method": "get",
"uri": "/threads/{{user_identity}}"
}
Realizando a requisição com o segundo corpo acima apresentado você obterá o histórico da conversa associado ao contato X, por exemplo.
OBS : Não esqueça de adicionar à requisição o header Authorization cujo valor pode ser encontrado nas informações de conexão do seu bot.
Maiores informações sobre as referidas requisições podem ser encontradas aqui.
Caro Erick, boa noite.
Estou usando os dois requests sugeridos acima, porém, minha dúvida é:
- Pelo método “uri”: “/threads” ele me traz as threads e há uma propriedade identity que ao meu entendimento seria o identificador do contato;
- Porém seu eu uso este identity para o método “uri”: “/threads/{{user_identity}}” ele não me traz nenhum item da conversa;
Estou fazendo correto, ou devo pegar o user_identity de outro lugar?
Sim, em meu entendimento sim. Essa propriedade identity é de fato o identificador do contato. Se certifique que ele está digitado corretamente, pois se o contato de fato conversou com o bot, esses dois requests deveriam ser suficientes (não vejo uma explicação plausível para este caso).
Olá Erick, bom dia. Muito obrigado pelo retorno.
Vou colocar abaixo os retornos que a API está me trazendo:
Request para
/threads?refreshExpiredMedia=true&$take=100&messageDate=2021-10-15
Me traz como resposta:
{
"type": "application/vnd.lime.collection+json",
"resource": {
"itemType": "application/vnd.iris.thread+json",
"items": :
...
{
"ownerIdentity": "[email protected]",
"identity": "[email protected]",
"lastMessage": {
"id": "31363258-886c-4c7a-8eef-5ff6617e7718",
"direction": "sent",
"type": "text/plain",
"content": "Sempre que precisar, é só me chamar! ",
"date": "2021-10-14T14:45:35.018Z"
},
"unreadMessages": 0
},
...
]
},
"method": "get",
"status": "success",
"id": "24bcc1a8-e60b-4bdc-a535-050fef4e1f41",
"from": "[email protected]/#iris-hosted-4",
"to": "[email protected]/!iris-hosted-4-txihouxb",
"metadata": {
"#command.uri": "lime://[email protected]/threads?refreshExpiredMedia=true&$take=100&messageDate=2021-10-15",
"uber-trace-id": "6981b8a1e489906c%3A9a96aab88160d439%3A6981b8a1e489906c%3A1"
}
}
Se eu pego o identity do item selecionado e faço o request para:
/tickets/[email protected]?refreshExpiredMedia=true&$take=100
Recebo o seguinte retorno
{
"method": "get",
"status": "failure",
"reason": {
"code": 62,
"description": "There's no processor available for requested resource type"
},
"id": "46a8c191-d54f-44f3-aeaa-72453f4862e0",
"from": "[email protected]/#iris-hosted-4",
"to": "[email protected]/!iris-hosted-4-txihouxb",
"metadata": {
"#command.uri": "lime://[email protected]/tickets/[email protected]?refreshExpiredMedia=true&$take=100&storageDate=2021-07-20T00:00:00.000-03:00&direction=asc",
"uber-trace-id": "865213aa041ba92e%3A15e257870c0fe97c%3A865213aa041ba92e%3A1"
}
}
Ou se eu faço o request para:
/threads/[email protected]?refreshExpiredMedia=true&$take=100
Me retorna as mensagens em branco:
{
"type": "application/vnd.lime.collection+json",
"resource": {
"itemType": "application/vnd.iris.thread-message+json",
"items": "]
},
"method": "get",
"status": "success",
"id": "e2c26528-a707-4594-990a-5641e85a147d",
"from": "[email protected]/#iris-hosted-5",
"to": "[email protected]/!iris-hosted-5-txihouxb",
"metadata": {
"#command.uri": "lime://[email protected]/threads/[email protected]?refreshExpiredMedia=true&$take=100",
"uber-trace-id": "f272374af2199a08%3A3799183450c7affb%3Af272374af2199a08%3A1"
}
}
O que poderia estar ocorrendo?
Mais uma vez obrigado pelo apoio.
estou com o mesmo problema,
alguém tem uma resposta ?
Bom dia!
Estou exatamente com o mesmo problema. Alguma ideia?
Grata