Pular para o conteúdo principal

Integração do Mailjet com o OmniCRM

O OmniCRM se integra com Mailjet para gerenciar toda a comunicação por e-mail com clientes e funcionários, garantindo entrega de e-mails profissional, com marca e confiável, tanto para e-mails transacionais quanto para campanhas de marketing.

Visão Geral

A integração do Mailjet fornece:

  • E-mails Transacionais Automatizados - Redefinições de senha, faturas, e-mails de boas-vindas, notificações
  • Sincronização de Contatos - Contatos de clientes sincronizados automaticamente com o Mailjet para campanhas
  • Modelos de E-mail - Mais de 10 tipos de e-mails pré-configurados com modelos personalizáveis do Mailjet
  • Campanhas de Marketing - Campanhas de e-mail segmentadas com base em dados de clientes
  • Entrega Confiável - Infraestrutura de e-mail profissional com rastreamento e análises

Configuração

O Mailjet é configurado em OmniCRM-API/crm_config.yaml na seção mailjet.

Configuração Básica

mailjet:
api_key: your_mailjet_api_key
api_secret: your_mailjet_api_secret

Obtendo Credenciais da API:

  1. Crie uma conta em <https://www.mailjet.com>
  2. Navegue até Configurações da Conta → Chaves da API
  3. Copie Chave da API e Chave Secreta
  4. Cole em crm_config.yaml

Configuração do Modelo de E-mail

O OmniCRM utiliza 10 tipos distintos de modelos de e-mail para comunicações automatizadas. Cada modelo é configurado com:

  • from_email - Endereço de e-mail do remetente
  • from_name - Nome de exibição do remetente
  • template_id - ID do modelo do Mailjet (numérico)
  • subject - Linha de assunto do e-mail

Tipos de Modelo e Configuração

E-mail de Boas-Vindas ao Cliente

Enviado quando uma nova conta de cliente é criada.

api_crmCommunicationCustomerWelcome:
from_email: "support@yourcompany.com"
from_name: "Suporte da Sua Empresa"
template_id: 5977509
subject: "Bem-vindo à Sua Empresa"

Quando Enviado:

  • Novo cliente se inscreve pelo portal de Autoatendimento
  • Funcionário cria nova conta de cliente
  • Cliente ativa o serviço pela primeira vez

Variáveis do Modelo Disponíveis:

  • {{ var:customer_name }} - Nome completo do cliente
  • {{ var:email }} - Endereço de e-mail do cliente
  • {{ var:company_name }} - Nome da sua empresa
  • {{ var:login_url }} - Link para o portal de Autoatendimento
  • {{ var:support_url }} - Link para a página de suporte

E-mail de Fatura do Cliente

Enviado quando uma fatura é gerada e está pronta para pagamento.

api_crmCommunicationCustomerInvoice:
from_email: "billing@yourcompany.com"
from_name: "Cobrança da Sua Empresa"
template_id: 6759851
subject: "Sua Fatura - "

Quando Enviado:

  • Fatura gerada automaticamente para o período de cobrança
  • Fatura manual criada por funcionário
  • Cliente solicita cópia da fatura

Variáveis do Modelo Disponíveis:

  • {{ var:customer_name }} - Nome completo do cliente
  • {{ var:invoice_number }} - ID/número da fatura
  • {{ var:invoice_date }} - Data de emissão da fatura
  • {{ var:due_date }} - Data de vencimento do pagamento
  • {{ var:total_amount }} - Valor total devido
  • {{ var:invoice_url }} - Link para visualizar/baixar o PDF da fatura
  • {{ var:pay_url }} - Link para pagar a fatura online

Anexo da Fatura:

O PDF da fatura é anexado automaticamente ao e-mail.

Lembrete de Fatura do Cliente

Enviado para lembrar os clientes sobre faturas vencidas.

api_crmCommunicationCustomerInvoiceReminder:
from_email: "billing@yourcompany.com"
from_name: "Cobrança da Sua Empresa"
template_id: 6759852
subject: "Lembrete de Pagamento - Fatura Vencida"

Quando Enviado:

  • Fatura está X dias atrasada (configurável)
  • Lembrete manual acionado por funcionário
  • Fluxo de lembrete automatizado (se configurado)

Variáveis do Modelo Disponíveis:

  • {{ var:customer_name }}
  • {{ var:invoice_number }}
  • {{ var:due_date }}
  • {{ var:days_overdue }}
  • {{ var:total_amount }}
  • {{ var:pay_url }}

E-mail de Boas-Vindas ao Usuário da Equipe

Enviado quando uma nova conta de usuário da equipe é criada.

api_crmCommunicationUserWelcome:
from_email: "admin@yourcompany.com"
from_name: "Administração da Sua Empresa"
template_id: 5977510
subject: "Bem-vindo à Equipe"

Quando Enviado:

  • O administrador cria um novo usuário da equipe
  • Botão "Enviar E-mail de Boas-Vindas" clicado na gestão de usuários

Variáveis do Modelo Disponíveis:

  • {{ var:user_name }} - Nome completo do usuário da equipe
  • {{ var:email }} - E-mail do usuário da equipe
  • {{ var:role }} - Função(s) atribuída(s)
  • {{ var:login_url }} - Link para login no portal do administrador
  • {{ var:temp_password }} - Senha temporária (se aplicável)
  • {{ var:support_email }} - Contato de suporte de TI

Redefinição de Senha do Usu��rio

Enviado quando um usuário solicita redefinir sua senha.

api_crmCommunicationUserPasswordReset:
from_email: "noreply@yourcompany.com"
from_name: "Segurança da Sua Empresa"
template_id: 5977511
subject: "Solicitação de Redefinição de Senha"

Quando Enviado:

  • O usuário clica em "Esqueci a Senha" na página de login
  • O usuário envia uma solicitação de redefinição de senha

Variáveis do Modelo Disponíveis:

  • {{ var:user_name }}
  • {{ var:reset_url }} - Link de redefinição de senha com tempo limitado (tipicamente 1 hora)
  • {{ var:expiry_time }} - Quando o link de redefinição expira

Nota de Segurança:

Os links de redefinição expiram após o período de tempo configurado (padrão 1 hora).

Sucesso na Redefinição de Senha do Usuário

Enviado para confirmar que a senha foi alterada com sucesso.

api_crmCommunicationUserPasswordResetSuccess:
from_email: "noreply@yourcompany.com"
from_name: "Segurança da Sua Empresa"
template_id: 5977512
subject: "Senha Alterada com Sucesso"

Quando Enviado:

  • O usuário completa com sucesso a redefinição de senha
  • Imediatamente após a nova senha ser definida

Variáveis do Modelo Disponíveis:

  • {{ var:user_name }}
  • {{ var:change_date }} - Data/hora em que a senha foi alterada
  • {{ var:ip_address }} - Endereço IP da alteração (opcional)
  • {{ var:support_email }} - Contato se a alteração foi não autorizada

Alteração de Senha do Usuário

Enviado quando um usuário altera sua senha nas configurações.

api_crmCommunicationUserPasswordChange:
from_email: "noreply@yourcompany.com"
from_name: "Segurança da Sua Empresa"
template_id: 5977513
subject: "Notificação de Alteração de Senha"

Quando Enviado:

  • O usuário altera a senha no perfil/configurações
  • O administrador redefine a senha do usuário

Variáveis do Modelo Disponíveis:

  • {{ var:user_name }}
  • {{ var:change_date }}
  • {{ var:changed_by }} - "Self" ou nome do administrador
  • {{ var:support_email }}

Verificação de E-mail

Enviado para verificar o endereço de e-mail de um usuário.

api_crmCommunicationEmailVerification:
from_email: "noreply@yourcompany.com"
from_name: "Sua Empresa"
template_id: 5977514
subject: "Verifique Seu Endereço de E-mail"

Quando Enviado:

  • Nova conta criada (cliente ou funcionário)
  • O usuário altera o endereço de e-mail
  • Verificação de e-mail necessária por motivos de segurança

Variáveis do Modelo Disponíveis:

  • {{ var:user_name }}
  • {{ var:verification_url }} - Link para verificar e-mail
  • {{ var:verification_code }} - Código para inserir manualmente (alternativa ao link)

Notificação de Saldo Expirado

Enviado quando o saldo/limite de serviço de um cliente expirou.

api_crmCommunicationsBalanceExpired:
from_email: "support@yourcompany.com"
from_name: "Suporte da Sua Empresa"
template_id: 5977515
subject: "Seu Saldo de Serviço Expirou"

Quando Enviado:

  • Saldo pré-pago expirou
  • Data de renovação do limite mensal passou
  • Data de expiração do serviço alcançada

Variáveis do Modelo Disponíveis:

  • {{ var:customer_name }}
  • {{ var:service_name }} - Nome do serviço expirado
  • {{ var:expiry_date }}
  • {{ var:balance_type }} - "Dados", "Voz", "Monetário", etc.
  • {{ var:renewal_url }} - Link para renovar/recarregar

Alerta de Baixo Saldo

Enviado quando o saldo de um cliente cai abaixo do limite configurado.

api_crmCommunicationsBalanceLow:
from_email: "support@yourcompany.com"
from_name: "Suporte da Sua Empresa"
template_id: 5977516
subject: "Alerta de Baixo Saldo"

Quando Enviado:

  • Saldo cai abaixo do limite (por exemplo, 20% restante)
  • Configurado no plano de serviço ou OCS
  • Monitoramento em tempo real aciona alerta

Variáveis do Modelo Disponíveis:

  • {{ var:customer_name }}
  • {{ var:service_name }}
  • {{ var:current_balance }}
  • {{ var:threshold }}
  • {{ var:balance_type }}
  • {{ var:topup_url }} - Link para adicionar saldo

Criando Modelos de E-mail do Mailjet

Para cada tipo de e-mail, você precisa criar um modelo correspondente no Mailjet.

Passo 1: Criar Modelo no Mailjet

  1. Faça login no painel do Mailjet
  2. Navegue até Modelos de E-mail → Modelos Transacionais
  3. Clique em Criar um Novo Modelo
  4. Escolha Codifique seu próprio modelo (para usuários avançados) ou Use o construtor de modelos

Passo 2: Projetar o Modelo

Use o construtor de arrastar e soltar do Mailjet ou o editor HTML para projetar seu e-mail.

Elementos Essenciais:

  • Cabeçalho - Logo da empresa e branding
  • Saudação - Personalizada com {{ var:customer_name }} ou {{ var:user_name }}
  • Conteúdo - Corpo da mensagem principal
  • Variáveis - Insira variáveis do modelo da lista acima
  • Chamada para Ação - Botões/links para ações do usuário
  • Rodapé - Link para cancelar a inscrição, endereço da empresa, contato de suporte

Exemplo de Modelo (Redefinição de Senha):

<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
.button { background-color: #4CAF50; color: white; padding: 14px 28px; }
</style>
</head>
<body>
<img src="https://yourcompany.com/logo.png" alt="Logo" width="200">

<h2>Solicitação de Redefinição de Senha</h2>

<p>Olá {{ var:user_name }},</p>

<p>Recebemos uma solicitação para redefinir sua senha. Clique no botão abaixo para criar uma nova senha:</p>

<a href="{{ var:reset_url }}" class="button">Redefinir Senha</a>

<p>Este link expira em {{ var:expiry_time }}.</p>

<p>Se você não solicitou isso, por favor, ignore este e-mail.</p>

<hr>
<p style="font-size: 12px; color: #666;">
Sua Empresa | support@yourcompany.com<br/>
123 Business St, City, Country
</p>
</body>
</html>

Passo 3: Obter ID do Modelo

  1. Salve o modelo no Mailjet
  2. Anote o ID do Modelo (numérico, por exemplo, 5977509)
  3. Copie este ID para crm_config.yaml

Passo 4: Testar o Modelo

  1. No Mailjet, use o recurso E-mail de Teste
  2. Forneça valores de exemplo para todas as variáveis
  3. Envie um e-mail de teste para você mesmo
  4. Verifique a formatação, links e branding

Passo 5: Configurar no OmniCRM

Adicione a configuração do modelo a crm_config.yaml:

mailjet:
api_key: your_api_key
api_secret: your_secret

api_crmCommunicationUserPasswordReset:
from_email: "noreply@yourcompany.com"
from_name: "Segurança da Sua Empresa"
template_id: 5977511
subject: "Solicitação de Redefinição de Senha"

Reinicie a API do OmniCRM para que as alterações tenham efeito:

cd OmniCRM-API
sudo systemctl restart omnicrm-api

Sincronização de Contatos

Todos os contatos de clientes no OmniCRM são sincronizados automaticamente com o Mailjet.

O que é Sincronizado:

  • Nome do contato
  • Endereço de e-mail
  • Tipo de contato (cobrança, técnico, etc.)
  • Localização do cliente
  • Campos personalizados

Frequência de Sincronização:

Os contatos são sincronizados em tempo real quando:

  • Novo cliente criado
  • Contato adicionado/atualizado
  • Detalhes do cliente modificados

Solução de Problemas

E-mail não enviado

  • Causa: Credenciais da API inválidas, conta do Mailjet suspensa ou ID do modelo incorreto
  • Solução:
    • Verifique api_key e api_secret em crm_config.yaml
    • Verifique o status da conta do Mailjet e a cobrança
    • Verifique se o ID do modelo existe no Mailjet
    • Verifique os logs da API em busca de erros

Variáveis do modelo não substituindo

  • Causa: Desconexão de nomes de variáveis ou dados ausentes no OmniCRM
  • Solução:
    • Verifique se os nomes das variáveis correspondem exatamente (sensível a maiúsculas e minúsculas)
    • Use o formato {{ var:variable_name }}
    • Verifique se o OmniCRM está passando dados de variáveis na chamada da API
    • Teste com dados de exemplo no Mailjet

PDF da fatura não anexado

  • Causa: Falha na geração do PDF ou tamanho do arquivo muito grande
  • Solução:
    • Verifique os logs de geração de faturas
    • Verifique se o modelo da fatura é renderizado corretamente
    • Certifique-se de que o PDF esteja abaixo de 15MB (limite do Mailjet)
    • Teste a geração do PDF da fatura separadamente

Contatos não sincronizando com o Mailjet

  • Causa: Limite de taxa da API excedido ou serviço de sincronização não está em execução
  • Solução:
    • Verifique os limites de taxa da API do Mailjet (200 chamadas/minuto)
    • Verifique se o serviço OmniCRM-API está em execução
    • Revise os logs de sincronização em busca de erros
    • Acione manualmente a sincronização para testes

Documentação Relacionada

  • administration_configuration - Referência completa de configuração do Mailjet
  • payments_invoices - Geração de faturas e entrega de e-mail
  • authentication_flows - E-mails de redefinição de senha e verificação
  • customer_care - E-mails de boas-vindas do portal de Autoatendimento

Leitura Adicional