POST /api/v1/marketing/sites:{
"name": "Site institucional",
"active": true,
"origins": ["https://www.empresa.com.br"],
"eventNames": ["demo.requested", "pricing.selected"],
"attributionKeys": ["utm_source", "utm_campaign", "gclid"],
"retentionDays": 90
}eventNames define quais nomes de evento personalizado serão aceitos para aquele site, com até 30 nomes. Cada nome deve corresponder a ^[a-z][a-z0-9_.-]{0,59}$; nomes reservados como page.viewed, link.clicked, visitor.identified, site.custom e lead.created não podem ser cadastrados. Nomes que indiquem pagamento ou dados sensíveis também são recusados: eventos de pagamento devem ser confirmados no servidor, não declarados pelo navegador.PATCH /api/v1/marketing/sites/{siteId} e inclua a revision atual. Se outra aba tiver salvado antes, a API responde conflito; recarregue o site e reaplique a alteração.GET /api/v1/marketing/sites/{siteId}/installation para obter o endereço oficial do script e o ID do site. O snippet instalado no site é:MailLeaderPixel.page(); o SDK também acompanha mudanças de histórico do navegador.page.viewed e cliques em links HTTP/HTTPS. Para excluir um link, marque-o com data-ml-no-track:https://wa.me; não guardam caminho, query, fragmento nem texto do link.track:page.viewed, link.clicked e site.custom. visitor.identified é emitido pelo servidor MailLeader quando um contato é identificado com segurança; não pode ser declarado pelo navegador.const context = await MailLeaderPixel.context() e envie context.token ao seu servidor autenticado.POST /api/v1/marketing/sites/{siteId}/identify-token, autenticando-se com a chave de API. Envie { "sessionToken": "TOKEN_DA_SESSAO_DO_PIXEL", "contactId": "UUID_DO_CONTATO" }.await MailLeaderPixel.identify(token).utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, fbclid e msclkid quando habilitados em attributionKeys (até oito chaves). Marcadores UTM são validados; identificadores de anúncios são armazenados como hash por site. Outros parâmetros de URL não são enviados. Cada valor recebido pode ter até 120 caracteres.| Rota autenticada | O que retorna |
|---|---|
GET /api/v1/marketing/sites | Sites cadastrados na conta. |
GET /api/v1/marketing/sites/{siteId}/analytics | Totais dos últimos 30 dias, páginas, canais, UTM, eventos recentes e estado da retenção. |
GET /api/v1/marketing/contacts | Contatos, com busca, tag e pontuação mínima. |
GET /api/v1/marketing/contacts/{contactId} | Perfil e atividade consolidada do contato. |
GET /api/v1/marketing/contacts/{contactId}/events | Eventos do contato. |
| Método | Para que serve |
|---|---|
consent(true) | Autoriza a coleta e inicia a sessão. |
consent(false) ou reset() | Revoga a sessão e limpa os identificadores locais. |
page() | Registra uma página em navegação controlada pelo site. |
track(nome, dados) | Envia evento personalizado habilitado e JSON de até 2 KB. |
context() | Obtém o contexto temporário para identificação no servidor. |
identify(token) | Associa eventos seguintes ao contato usando token de uso único. |
flush() | Solicita o envio da fila local de eventos. |