O seu produto recebe o e-mail
e o seu código responde
Cada chamado, registro ou cliente pode ter um endereço próprio. O e-mail enviado para lá chega ao seu endpoint como evento assinado, e o seu código responde como esse endereço.
Ninguém criou esses endereços. A resposta sai pelo endereço em que o e-mail chegou.
Onde começa
Como isso é hoje.
As respostas caem fora do produto
Um cliente responde uma notificação, e a resposta fica numa caixa compartilhada em vez de ficar no registro.
Alguém cria cada endereço antes
Não dá para escrever para um chamado novo até existir uma caixa para ele, então os endereços são criados à mão.
O seu servidor consulta por e-mail novo
Nada avisa o seu código que uma mensagem chegou, então uma rotina verifica a caixa num cronômetro.
Como funciona
Funcionando em quatro passos.
- 01
Aponte um domínio para o OpenEmail
Adicione o domínio e publique os registros, e todos os endereços nele recebem, inclusive os que ninguém criou.
- 02
Instale o cliente tipado
Adicione o pacote ao seu app, depois defina uma chave do espaço de trabalho que você pode limitar e revogar depois.
- 03
Registre o seu endpoint
Escolha os eventos que você quer, copie o segredo de assinatura, e responda cada entrega em cinco segundos.
- 04
Responda do seu próprio código
Busque a conversa e os arquivos dela pelo id, depois envie do endereço para o qual a mensagem foi entregue.
Em que se apoia
As partes que fazem o trabalho.
Se apoia numa API HTTP documentada, num cliente tipado, em webhooks para o seu endpoint, em endereços catch-all em todo domínio que você aponta para cá, e na sua própria marca, nos seus arquivos e nos seus links rastreados.
Uma API HTTP documentada, com chaves que se emitem, se limitam e se revogam.
Primeiro um cliente TypeScript, depois os restantes.
Avisa o seu endpoint quando chega correio, em vez de o obrigar a sondar.
Todos os endereços do domínio recebem, incluindo os que nunca foram criados. Um interruptor fecha isso.
Aponte vários domínios para uma caixa de entrada, subdomínios incluídos.
Ponha a sua própria marca e logótipo na barra lateral, em vez da nossa.
Na prática
Cada parte, passo a passo.
Quatro páginas mais curtas ficam debaixo desta, um trabalho cada: um endereço por cliente, e-mail saindo do seu código, e-mail entrando no seu código, e um endereço para cada rodada de testes, que ainda está por vir.
Dê a cada chamado, registro ou cliente o seu próprio endereço, sem criar nada.
Envie, leia e organize e-mail a partir do seu código com um cliente tipado.
O e-mail que chega ao seu domínio alcança o seu servidor como webhook assinado, segundos depois.
Perguntas
Feitas antes do cadastro.
Preciso criar um endereço antes de ele funcionar?
Não. Com o catch-all ativo, [email protected] recebe da primeira vez que alguém escreve para ele. E-mail para erros de digitação e endereços inventados também chega, e um botão fecha o catch-all.
Como o meu código fica sabendo que chegou e-mail?
O seu endpoint recebe um webhook assinado segundos depois de a mensagem cair. O evento nomeia a conversa e o endereço para o qual ela foi entregue, então você busca a mensagem e os arquivos dela pelo id.
Existe um cliente para a minha linguagem?
Ainda não, a menos que você escreva TypeScript. O cliente tipado é TypeScript primeiro e os outros vêm depois, então por ora toda outra linguagem chama a API HTTP documentada diretamente.
Por perto
Outros trabalhos para a mesma caixa.
O seu app posta uma mensagem e o OpenEmail a envia do seu próprio domínio. Cada chamada fica registrada na chave que a fez, e cada envio tem um resultado para ler.
Dê ao agente um endereço próprio e uma chave limitada ao que ele pode fazer. Ele lê, etiqueta, rascunha e envia, e cada chamada que ele faz fica registrada.