evolution-api icon indicating copy to clipboard operation
evolution-api copied to clipboard

Dados Incompletos no Endpoint /chat/findMessages/

Open admdanielspalma opened this issue 1 year ago • 1 comments

Welcome!

  • [X] Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Estou enfrentando um problema ao utilizar o endpoint /chat/findMessages/ da Evolution API. Quando uma mensagem é recebida via webhook com informações completas, incluindo dados de anúncios (como ctwaClid, showAdAttribution, e outros metadados importantes), esses dados não estão sendo retornados corretamente ao fazer a requisição no endpoint para recuperação de mensagens.

Detalhes: Via Webhook: Os dados relacionados à origem do anúncio (ex: ctwaClid, showAdAttribution) estão presentes e completos. Via Endpoint /chat/findMessages/: Ao buscar a mesma mensagem usando o endpoint, esses dados de anúncios não estão retornando. Somente a conversa e informações básicas são recuperadas.

Impacto: A ausência desses dados torna impossível vincular a mensagem ao anúncio que originou o contato, prejudicando o rastreamento e análise das conversões geradas pelas campanhas.

What did you expect?

Gostaria de receber os dados da mesma forma que recebo via Webhook:

{
  "event": "messages.upsert",
  "instance": "ExampleInstance",
  "data": {
    "key": {
      "remoteJid": "[email protected]",
      "fromMe": false,
      "id": "3A614233A0EE36DA7EF6"
    },
    "pushName": "João Silva",
    "message": {
      "messageContextInfo": {
        "deviceListMetadata": {
          "senderTimestamp": "1728481958",
          "recipientKeyHash": "pIEq27Wh/BgJcg==",
          "recipientTimestamp": "1728599783"
        },
        "deviceListMetadataVersion": 2
      },
      "conversation": "Gostaria de falar sobre o anúncio.",
      "contextInfo": {
        "conversionSource": "FB_Ads",
        "conversionData": "SampleConversionData",
        "conversionDelaySeconds": 5,
        "externalAdReply": {
          "title": "Produto XYZ - Oferta Especial",
          "body": "Adquira o Produto XYZ com desconto!",
          "mediaType": "IMAGE",
          "thumbnailUrl": "https://example.com/thumbnail.jpg",
          "sourceType": "ad",
          "sourceId": "120211880191370001",
          "sourceUrl": "https://fb.me/ExampleAd",
          "containsAutoReply": false,
          "renderLargerThumbnail": true,
          "showAdAttribution": true,
          "ctwaClid": "ARAqRXKQJGFfJebjbmiVh5h6JLa19yYeKT0QMowqG40qCNppO-qMYJC3WHZBNaQfy980X_8eTT-zDQS2Hy2X5Akd0YQ_d8QUgBiiZN1wzUX4gUS77wlq1Kw5JLISWYuKEGTt_qiLsg"
        },
        "entryPointConversionSource": "ctwa_ad",
        "entryPointConversionApp": "facebook",
        "entryPointConversionDelaySeconds": 300
      }
    },
    "messageType": "conversation",
    "messageTimestamp": 1728656012,
    "instanceId": "example-instance-id",
    "source": "android"
  },
  "destination": "https://webhook.example.com",
  "date_time": "2024-10-11T11:13:33.566Z",
  "sender": "[email protected]",
  "server_url": "https://api.example.com",
  "apikey": "example-api-key"
}

What did you observe instead of what you expected?

Exemplo de Retorno do Endpoint /chat/findMessages/ :

{
  "messages": {
    "total": 1,
    "pages": 1,
    "currentPage": 1,
    "records": [
      {
        "id": "cm24t5omo2n0dfezckgbsckvq",
        "key": {
          "id": "3A614233A0EE36DA7EF6",
          "fromMe": false,
          "remoteJid": "[email protected]"
        },
        "pushName": "João Silva",
        "messageType": "conversation",
        "message": {
          "conversation": "Gostaria de falar sobre o anúncio.",
          "messageContextInfo": {
            "deviceListMetadata": {
              "senderTimestamp": "1728481958",
              "recipientKeyHash": "pIEq27Wh/BgJcg==",
              "recipientTimestamp": "1728599783"
            },
            "deviceListMetadataVersion": 2
          }
        },
        "messageTimestamp": 1728656012,
        "instanceId": "example-instance-id",
        "source": "android",
        "MessageUpdate": []
      }
    ]
  }
}

Como pode ser observado, os dados de conversão (ctwaClid, showAdAttribution, etc.) estão ausentes no retorno do endpoint.

Screenshots/Videos

No response

Which version of the API are you using?

2.1.2

What is your environment?

Linux

Other environment specifications

Ubuntu Server - Docker Install

If applicable, paste the log output

No response

Additional Notes

No response

admdanielspalma avatar Oct 12 '24 02:10 admdanielspalma

Obs: sim, estou comparando a exata mesma mensagem via webhook recebido e via endpoint

O problema se apresenta quando precisamos receber mensagens que são respostas a anúncios e possuem contextInfo, que por sua vez contém externalAdReply, ctwaclid, etc... que é diferente de messageContextInfo só.

E argumentando por que eu considero um bug:

Se fosse uma mensagem com imagem, e viesse só o texto sem a menção da imagem, seria um bug? Acho que sim, pq estaria incompleto.

Da mesma forma, quando a mensagem chega com a tagzinha aquela "enviado via anúncio" e a API não pega isso, tá pegando de forma incompleta.

Se via webhook normal não chegasse essa info eu até entenderia como fazendo parte da funcionalidade esperada... mas se no webhook vem, ao meu ver, pela endpoint tinha que vir a mesma info.

Mt obrigado.

admdanielspalma avatar Oct 12 '24 02:10 admdanielspalma

Que versão da Evolution API você usa para receber o webhook com o id da campanha e o ctwa_id?

viniciustrndd avatar Oct 16 '24 12:10 viniciustrndd

@viniciustrndd 2.1.x ... pra ti não aparece? Pode ser devido à falta de vínculo da página ao conjunto de anúncios (pixel). Não tenho certeza mas acho que pra receber tem que estar vinculado.

admdanielspalma avatar Oct 16 '24 14:10 admdanielspalma

Um complemento importante é o seguinte, @dpaes :

A informação (o ctwa_clid) está lá. A prova é que se eu encaminhar a mensagem, na mensagem encaminhada ele aparece no webhook em tempo real.

Porém, ao tentar recuperar de outra forma, pelo endpoint /chat/findMessages/ no caso, ele não retorna.

Assim, apesar da informação estar lá e fazer parte da mensagem, ela se torna inacessível a menos que a mensagem seja encaminhada.

admdanielspalma avatar Oct 21 '24 00:10 admdanielspalma

Hi, could you help me figure out, how to get the response of a Poll sent? The info is not fetched using /chat/findMessages/

ctn24 avatar Oct 24 '24 21:10 ctn24

@ctn24 I created the feature request #1008 , check there.

admdanielspalma avatar Oct 24 '24 21:10 admdanielspalma

Up

admdanielspalma avatar Nov 24 '24 17:11 admdanielspalma

Will we have solution to this? Thanks

admdanielspalma avatar Jan 06 '25 12:01 admdanielspalma

@dpaes perdão. Eu errei.

Eu estava puxando as informações via findmessages de um remoteJid específico e estava agregando... e durante a agregação cometi um erro, induzido por uma confusão minha no N8N, e achei que não vinham os dados.

Mas na verdade vem sim. O ctwa_clid e dados importantes estão lá. acho que tem um ou outro que não estão vindo, vou mapear bem para pelo menos dar um sentido ao post... mas minha solicitação inicial estava errada, foi um erro meu. Me confundi. Desculpe.

admdanielspalma avatar Jan 12 '25 02:01 admdanielspalma

posso fechar então a issue @admdanielspalma ?

dpaes avatar Jan 13 '25 20:01 dpaes

@dpaes sim, revisei tudo e não tem nada relevante pendente, foi tudo erro meu... fico triste por ter dado uma contribuição errada e ter ocupado o tempo de vocês, mas o cenário que eu estava utilizando, por mais que acreditasse ter analisado muito bem, não analisei... foi um erro mesmo... antes tarde do que nunca eu percebi e venho corrigir, então obrigado. Tópico encerrado.

admdanielspalma avatar Jan 14 '25 12:01 admdanielspalma

tranquilo, fechando a issue

dpaes avatar Jan 17 '25 01:01 dpaes