Skip to content

Timezone Incorreta (UTC-3) no created_at durante Importação Chatwoot #2316

@ebertti

Description

@ebertti

Bem-vido!

  • Sim, pesquisei problemas semelhantes no GitHub e não encontrei nenhum.

O que você fez?

Configurei o Evolution API com a integração Chatwoot ativa.

Configurei a variável de ambiente CHATWOOT_IMPORT_DATABASE_CONNECTION_URI com a string de conexão correta

Configurei o ambiente Docker para usar TZ=UTC.

Executei o processo de importação para sincronizar mensagens antigas com o Chatwoot.

O que você esperava?

Eu esperava que todas as mensagens importadas para o Chatwoot tivessem o campo created_at configurado com a data e hora em UTC, pois este é o padrão e a timezone esperada pelo Chatwoot para manter a ordem cronológica correta, e meu ambiente Docker está configurado para UTC.

O que vc observou ao invés do que esperava?

Observei que as mensagens importadas estão sendo registradas no Chatwoot com o created_at ajustado para o timezone de São Paulo (UTC-3).

Efeito Colateral: Essa diferença de aproximadamente 3 horas causa uma desordem cronológica (fora de ordem) das mensagens no Chatwoot, pois as mensagens em tempo real são enviadas em UTC (correto), e as mensagens importadas estão com um offset de -3 horas, quebrando o histórico da conversa.

Contorno: Para evitar que o problema continue ocorrendo após o import inicial, sou forçado a remover a variável de ambiente de importação, o que não é o comportamento desejado.

Linha Suspeita: Acredito que a conversão ou a atribuição de timestamp na linha abaixo pode estar introduzindo o timezone local (São Paulo) em vez de manter o UTC:

https://github.com/EvolutionAPI/evolution-api/blob/cd800f2976e1e5b682fbf86a01ee4d85ae61f370/src/api/integrations/chatbot/chatwoot/utils/chatwoot-import-helper.ts#L573C66-L573C84

Capturas de Tela/Vídeos

No response

Qual versão da API você está usando?

v2

Qual é o seu ambiente?

Docker

Outras expecificações do ambiente

No response

Se aplicável, cole a saída do log

No response

Notas Adicionais

Apesar de configurar explicitamente a variável de ambiente TZ do Docker para UTC, o problema de timezone persiste, indicando que a conversão de timestamp para Date dentro da lógica de importação do Chatwoot não está respeitando a configuração UTC do ambiente e está, de alguma forma, convertendo para UTC-3 (São Paulo). A solução ideal é garantir que chatwootMessage.created_at seja um valor estritamente UTC.

Contorno: Para solucionar o problema da ordem incorreta das mensagens no Chatwoot, tive que remover a variável de ambiente de importação de mensagens (CHATWOOT_IMPORT_DATABASE_CONNECTION_URI) após a conclusão do import inicial. Deixar essa variável ligada continuava a causar o problema de data/hora incorreta nas mensagens.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions