EvolutionAPI / evolution-api

Evolution API is an open-source WhatsApp integration API
https://evolution-api.com
GNU General Public License v3.0
910 stars 479 forks source link

feature(chatwoot): add merge_brazil_contacts function to solve nine digit in brazilian numbers #587

Closed deivisonrpg closed 1 month ago

deivisonrpg commented 1 month ago

Essa função visa resolver definitivamente o problema do nono dígito em números brasileiros na integração do Chatwoot.

Incluímos o parâmetro "merge_brazil_contacts" para permitir a habilitação ou não da mesclagem de contatos com e sem nono dígito.

No primeiro cenário, com "merge_brazil_contacts = false", a API foi ajustada para sempre priorizar o número com nono dígito quando encontrar dois contatos no Chatwoot. Isso resolve o problema de duplicação de mensagens no envio e recebimento. No entanto, existe uma situação em que a duplicação pode ocorrer: se o cliente entrar em contato primeiro, será salvo um contato sem o nono dígito. Se a conversa com esse contato ainda estiver aberta e for criado outro contato com o nono dígito, a API começará a usar o contato com o nono dígito, duplicando assim a conversa. Se a conversa com o contato sem o nono dígito já estiver resolvida, não haverá duplicação, pois a API sempre buscará o número com o 9. Além disso, se a opção de reabrir a conversa estiver habilitada, ela reabrirá a última conversa com o 9. Também manterá os dois contatos cadastrados, um com o 9 e outro sem.

No segundo cenário, com "merge_brazil_contacts = true", quando a API identificar dois contatos cadastrados, com e sem 9, ela mesclará os contatos priorizando o contato com o nono digito. Isso resultará em apenas um contato cadastrado no Chatwoot e transferirá toda a conversa do contato antigo para o contato correto. Essa transferência ocorrerá quando o cliente responder ao chat, e a mesclagem será transparente para o usuário. Se o cliente iniciar o contato primeiro, ele será cadastrado sem o 9, mas se não houver nenhum cadastro para o número com 9, não haverá problemas o cadastro sem o 9 continuará funcionando normalmente.