Todas as docs

Início

  1. 01Primeiros passos
  2. 02Instalação
  3. 03Rastreamento

Recursos

  1. 04O painel
  2. 05Metas
  3. 06Links curtos
  4. 07Origens e agentes de IA
  5. 08Relatórios por email
  6. 09Verificação agendada
  7. 10Pergunte à sua IA

Referência

  1. 11Configuração
  2. 12API HTTP

Plataformas

  1. 13Servidor independente
  2. 14PHP
  3. 15WordPress
  4. 16Drupal
  5. 17Craft CMS
  6. 18Python
  7. 19Rails
  8. 20Ruby
  9. 21Go
  10. 22Java
  11. 23.NET
  12. 24Elixir
  13. 25Rust

Confiança

  1. 26Privacidade

Recursos

Relatórios por email

O Runlight envia resumos semanais ou mensais pelo seu próprio serviço de e-mail, no idioma de cada leitor.

O Runlight pode enviar por e-mail um resumo de um site toda semana ou todo mês. Cada resumo traz a frase principal, os seis números comparados ao período anterior, as páginas, origens e países principais, e as conversões com a receita delas. Ele sai do seu próprio endereço, por um serviço de e-mail que você já usa.

1. Configure o serviço de e-mail

Em Configurações, Serviço de e-mail, escolha um serviço e informe as chaves dele, junto com o endereço de onde saem os relatórios. Enviar teste verifica se funciona. Um só serviço de e-mail atende todos os sites da instalação.

Serviço Do que precisa
Amazon SES Região, ID da chave de acesso e chave de acesso secreta (um usuário IAM com permissão ses:SendEmail)
Resend Chave de API
Postmark Token de API do servidor e, opcionalmente, o fluxo de mensagens
SendGrid Chave de API
Mailgun Domínio de envio, chave de API e região (US ou EU)
Brevo Chave de API
Mailjet Chave de API e chave secreta
MailerSend Token de API
SparkPost Chave de API e região (US ou EU)
SMTP Host, porta, segurança (STARTTLS, TLS ou nenhuma) e, opcionalmente, usuário e senha
Webhook Uma URL para a qual o Runlight envia cada e-mail como JSON e, opcionalmente, um segredo de assinatura

O endereço de envio precisa ser um que o seu serviço permita usar, normalmente num domínio que você verificou nele.

As chaves são guardadas criptografadas com uma chave derivada de RUNLIGHT_SECRET (ou, sem ela, de RUNLIGHT_TOKEN) e nunca são devolvidas ao navegador, então deixe um campo em branco para manter a chave salva. Se nenhuma das duas variáveis estiver definida, as chaves ficam guardadas como foram digitadas e as Configurações avisam.

Você também pode definir o serviço no código passando mail, e as Configurações então o mostram sem poder alterá-lo.

ts

runlight({
  store,
  mail: { service: "resend", apiKey: process.env.RESEND_API_KEY!, from: "reports@example.com", fromName: "Runlight" },
});

Envio pelo seu app

Um app que já envia e-mail, como um CMS, pode passar o próprio mailer como mail. Ele é uma função send que recebe cada mensagem (to, from, fromName, subject, html, text e headers), junto com o endereço e o nome de onde ela sai e via, o nome que as Configurações mostram para ele. Relatórios, e-mails de teste, convites e links de login passam então por ele, e as Configurações mostram o nome e o endereço de envio dele.

O mailer do app é um padrão. O proprietário ainda pode escolher outro serviço nas Configurações, que toma o lugar dele, e remover esse serviço volta para o mailer do app. Os plugins de WordPress, Drupal e Craft passam o deles quando o site tem um mailer de verdade configurado.

ts

runlight({
  store,
  mail: { from: "hello@example.com", fromName: "Example", via: "My app", send: (message) => mailer.send(message) },
});

No Go o mailer é uma opção própria, AppMailer, com Send, From, FromName e Via, e no Rust ele é app_mailer. Ruby e Elixir chamam o remetente de from_name, e o PHP recebe um callable como send.

Passe mailServices com os ids dos serviços que as Configurações podem oferecer para deixar os outros de fora, como o plugin de WordPress faz com o SMTP. Um serviço salvo antes que não está na lista conta como nenhum, então o mailer do próprio app volta a enviar.

O webhook

O webhook recebe um POST cujo corpo JSON tem to, from, fromName, subject, html, text e headers. Com um segredo de assinatura definido, o cabeçalho x-runlight-signature traz sha256= seguido do HMAC-SHA256 do corpo bruto em hexadecimal. A URL precisa usar https (ou ser localhost).

2. Adicione quem recebe relatórios

Em Configurações, Relatórios por email, adicione um endereço com a frequência (semanal ou mensal) e o idioma em que o e-mail deve vir. Enviar um exemplo agora envia o relatório mais recente na hora, uma vez por minuto para cada endereço. A partir de um servidor independente conectado, os exemplos saem uma vez a cada dez minutos para o site inteiro.

  • Os relatórios semanais cobrem de segunda a domingo e saem a partir das 8h de segunda-feira.
  • Os relatórios mensais cobrem o mês do calendário e saem a partir das 8h do dia 1º.

Os dois usam o fuso horário do site, e cada período é enviado uma vez. Se o envio falhar, a próxima verificação tenta de novo.

3. Agende a verificação

Os relatórios são enviados pela verificação de hora em hora, então nada sai até ela estar agendada.

Cancelamento da inscrição

Todo e-mail tem um link para cancelar a inscrição e os cabeçalhos List-Unsubscribe que os apps de e-mail usam no próprio botão de cancelar inscrição. O link abre uma página com um botão, para que um scanner de e-mail que abre links não consiga cancelar a inscrição de ninguém por acidente.