bellinatiperez / mautic-plugin-custom-webhook
Custom Webhook
Installs: 44
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:mautic-plugin
pkg:composer/bellinatiperez/mautic-plugin-custom-webhook
README
Um plugin avançado para Mautic que permite enviar webhooks personalizados com estrutura JSON flexível e interpolação completa de dados do contato.
Características Principais
1. Campo de Dados Flexível
- Estrutura JSON completamente personalizável
- Suporte a objetos aninhados e arrays
- Interpolação automática de tokens do contato
- Validação de JSON em tempo real
2. Interpolação de Dados
O plugin suporta todos os tokens padrão do Mautic:
{contactfield=firstname}- Nome do contato{contactfield=email}- Email do contato{contactfield=company}- Empresa do contato{date_now}- Data/hora atual{timestamp}- Timestamp Unix atual- E todos os outros campos personalizados do contato
3. Exemplo de Payload JSON
{
"name": "{contactfield=firstname} {contactfield=lastname}",
"email": "{contactfield=email}",
"variables": [
{
"key": "document",
"value": "{contactfield=document}"
},
{
"key": "phone",
"value": "{contactfield=phone}"
}
],
"metadata": {
"campaign_id": "{campaign_id}",
"sent_at": "{date_now}",
"timestamp": "{timestamp}"
},
"attachments": [
{
"fileUrl": "https://example.com/files/{contactfield=document}.pdf",
"fileName": "document_{contactfield=firstname}.pdf",
"fileType": "PDF"
}
]
}
Configuração
1. URL do Webhook
- Suporte a tokens na URL:
https://api.example.com/webhook/{contactfield=id} - Validação de URL
- Suporte a HTTPS e HTTP
2. Métodos HTTP Suportados
- GET
- POST
- PUT
- PATCH
- DELETE
3. Cabeçalhos Personalizados
Formato: um cabeçalho por linha
Authorization: Bearer {contactfield=api_token}
X-Custom-Header: {contactfield=custom_value}
Content-Type: application/json
4. Timeout
- Configurável de 1 a 300 segundos
- Padrão: 30 segundos
Recursos Técnicos
Arquitetura Desacoplada
- Implementação baseada em eventos
- Fácil extensibilidade
- Compatibilidade com futuras versões do Mautic
Validação Robusta
- Validação de JSON em tempo real
- Verificação de URLs
- Tratamento de erros HTTP
- Logs detalhados
Performance
- Cache de valores do contato
- Processamento otimizado de tokens
- Requisições HTTP assíncronas quando possível
Instalação
- Copie o plugin para
plugins/MauticCustomWebhookBundle/ - Limpe o cache do Mautic:
php bin/console cache:clear - Instale/atualize o plugin no painel administrativo
Uso em Campanhas
- Crie uma nova campanha ou edite uma existente
- Adicione uma nova ação
- Selecione "Enviar Webhook Personalizado"
- Configure:
- URL do webhook
- Método HTTP
- Payload JSON personalizado
- Cabeçalhos (opcional)
- Timeout
Eventos Personalizados
O plugin dispara eventos que podem ser interceptados:
mautic.custom_webhook.on_request- Antes de enviar a requisiçãomautic.custom_webhook.on_campaign_trigger_action- Quando a ação é executada
Logs e Debugging
Todos os webhooks são logados com:
- ID do contato
- URL de destino
- Método HTTP
- Status da resposta
- Erros (se houver)
Verifique os logs em var/logs/mautic_prod.log ou var/logs/mautic_dev.log
Compatibilidade
- Mautic 4.x+
- PHP 8.0+
- Symfony 5.4+
Suporte
Para suporte e relatórios de bugs, consulte a documentação do Mautic ou entre em contato com o desenvolvedor.