Aplicações e API
Ligue o seu site, loja, CRM ou backend ao Mailroomly: dê a cada aplicação as suas próprias chaves, envie email pela API, receba os eventos como webhooks e teste tudo antes de entrar em produção.
Ligar uma aplicação
Uma aplicação é uma parte do seu software que trabalha com o Mailroomly através das suas próprias chaves. Os administradores ligam aplicações nas Aplicações, que abrem com O que quer fazer?:
- Enviar email a partir da minha aplicação abre Ligar uma aplicação.
- Receber eventos no meu sistema leva ao passo Webhook de uma aplicação. Com várias aplicações, pergunta Que aplicação recebe os eventos?; sem nenhuma, liga primeiro uma.
- Ligar um agente de IA liga um agente que trabalha para a organização (Agentes de IA) ou, com Em seu nome, o seu próprio agente.
- Mudar do Postmark é um guia de três passos para código feito para o Postmark (Mudar do Postmark).
- Mudar do SendGrid é o mesmo para código feito para o SendGrid (Mudar do SendGrid).
- Mudar do Mailgun é o mesmo para código feito para o Mailgun (Mudar do Mailgun).
A seguir vêm As suas aplicações, cada uma com o estado da chave, o número de chaves e Webhook ligado ou Sem webhook, e, recolhido, Para programadores: Entregas de webhooks e Enviar um email de teste em seu nome. O Ctrl K oferece os mesmos objetivos.

O que quer fazer? e as suas aplicaçõesAntes de uma aplicação enviar, a sua organização precisa de um endereço de envio: um domínio verificado ou o endereço gratuito (Endereços e domínios).
Na aplicação web
-
Abra Aplicações › Ligar uma aplicação (ou Ctrl K › Ligar uma aplicação).
-
Indique o Nome da aplicação, por exemplo "Loja".
-
Em O que faz, escolha o que a primeira chave pode fazer:
Escolha A chave pode Envio de email Enviar mensagens Envio e acompanhamento das entregas Enviar mensagens, Ler a atividade Apoio ao cliente Enviar mensagens, Ler a atividade, Listar endereços, Ler caixas de entrada, Responder a partir das caixas -
Em A que emails acede esta chave?, escolha (a que emails acede uma chave). Nada vem escolhido, para que uma chave nunca aceda a todos os endereços por ninguém ter reparado.
-
Escolha Criar a aplicação e a chave.
… está ligada mostra a chave em Chave de API (para enviar), em Experimente o código para enviar um primeiro email em cURL, Node, Python e Postmark, e À espera de um pedido com a chave desta aplicação, que passa a Primeiro pedido recebido … quando a chave é usada. Continuar para a aplicação abre a página dela; Mais tarde fecha.
Peça ao seu agente
"Crie uma aplicação chamada Loja, com uma chave que só envia a partir de mail.exemplo.pt." O agente usa create_app e depois create_api_key, e entrega-lhe a chave uma vez. Precisa de um token pessoal com Gerir aplicações (Deixar o seu agente administrar a organização). Uma chave criada por um agente só pode Enviar mensagens, Ler endereços bloqueados e Gerir endereços bloqueados, e todos os administradores são avisados; uma chave que lê ou responde a email é criada na aplicação web.
Importante
A chave, que começa por
mp_live_, só é mostrada uma vez. Copie-a para a configuração ou o cofre de segredos da aplicação: o Mailroomly guarda apenas um hash e não a consegue mostrar outra vez. O código em Experimente lê-a da variável de ambienteMAILROOMLY_API_KEY, para que copiar o código nunca espalhe a chave.
Aplicações e chaves
Abra uma aplicação em As suas aplicações. A página tem dois separadores, Configurar e Entregas. Configurar tem três passos numerados, cada um marcado Feito quando está:
- Chave de API (para enviar): se alguma chave já foi usada, e as chaves da aplicação. Feito depois do primeiro pedido de uma chave.
- Webhook (opcional): para onde o Mailroomly envia os eventos da aplicação (Webhooks).
- Enviar um teste como esta aplicação: um email enviado como a aplicação, só para si (Enviar um email de teste).

Os passos de uma aplicação, com as suas chavesCriar uma chave
Dê a cada ambiente e a cada integração a sua própria chave, só com o que precisa. Em Chaves, escolha Criar chave:
-
Um Nome, por exemplo "Produção".
-
As Permissões:
Permissão Permite Enviar mensagens Enviar email: a API REST, os endpoints compatíveis com Postmark e o MCP Ler a atividade Pesquisar mensagens e os seus eventos Listar endereços Listar os endereços da organização Ler caixas de entrada Ler as conversas dos endereços Responder a partir das caixas Responder e reencaminhar a partir dos endereços, e deixar rascunhos Deixar rascunhos para aprovação Deixar respostas para uma pessoa enviar, editar ou descartar, e passar conversas às pessoas. Sem Responder a partir das caixas, a chave nunca envia sozinha. Ler endereços bloqueados / Gerir endereços bloqueados Ver / adicionar e remover endereços bloqueados Contactos Adicionar e atualizar contactos e listas, e registar os eventos que iniciam automações (Contactos e listas) Campanhas Tudo o que Contactos permite, e modelos, imagens, newsletters e automações, incluindo o envio. O que a chave inicia espera 15 minutos, enquanto os administradores o podem cancelar (Marketing a partir das suas aplicações e agentes) -
A que emails acede esta chave? (abaixo).
-
Restringir a tipos de email específicos (opcional): transacional, marketing ou ambos.
-
Um Limite diário de destinatários (opcional): a quantos destinatários a chave pode enviar por dia, para que uma chave exposta ou descontrolada não consuma todo o envio da organização. Deixe-o vazio para Sem limite próprio: os limites da organização continuam a aplicar-se.
-
Escolha Criar chave. Chave criada mostra a chave uma vez, com código de exemplo; copie-a e escolha Já guardei a chave.
A linha de cada chave mostra o limite e a Última utilização, que ajuda a encontrar chaves que ninguém usa. Alterar limite define ou retira o limite diário a qualquer momento. Acima do limite, os envios da chave são recusados até à meia-noite UTC, e os administradores recebem um aviso nesse dia (aviso). O limite conta todos os domínios.
A que emails acede uma chave
| Escolha | A chave |
|---|---|
| Todos os endereços | Acede a todos os endereços da organização, incluindo os novos. |
| Os endereços destes domínios | Acede a todos os endereços dos domínios escolhidos, incluindo os novos. |
| Só estes endereços | Só vê esses endereços, as suas conversas e mensagens, e só envia a partir deles. Use-a num agente que trata de um endereço. Uma chave que lê ou gere endereços bloqueados não a pode ter: esses pertencem a um domínio. |
Alterar acesso, na linha da chave, altera-o a qualquer momento. A chave mantém o segredo, e a alteração aplica-se a partir do pedido seguinte.
Atenção
Tirar endereços a uma chave faz parar de imediato o que os usa: enviar a partir deles é recusado e o seu email deixa de poder ser lido. Antes de guardar, o Mailroomly lista-os, indica de quais a chave enviou nos últimos 30 dias e quais pertencem à aplicação, e pede a sua confirmação. A leitura de email não aparece aí, por isso um endereço sem envios pode continuar em uso.
Dar mais a uma chave avisa todos os administradores (aviso). Só uma pessoa com sessão iniciada no Mailroomly altera aquilo a que uma chave acede; um agente não pode (o que fica com uma pessoa com sessão iniciada).
Substituir ou revogar uma chave
- Substituir, para uma chave perdida ou exposta: uma chave nova com o mesmo nome, permissões, âmbito e limite diário fica no seu lugar, e a antiga é revogada de imediato. A chave nova é mostrada uma vez. O que ainda usar a chave antiga deixa de funcionar até ter a nova. Se não for possível revogar a antiga, o diálogo avisa que ainda funciona e oferece Revogar a chave antiga.
- Revogar desativa uma chave de imediato.
Atenção
Revogar não pode ser anulado: os pedidos com a chave falham de imediato. Substitua a chave na aplicação antes de revogar a antiga.
Eliminar uma aplicação
Eliminar aplicação revoga de imediato todas as chaves e para os webhooks; as entregas que ainda estavam à espera ficam Falhada. Antes de eliminar uma aplicação responsável por endereços, dê a esses endereços outra aplicação responsável ou um webhook próprio, na página de cada endereço (Endereços e domínios).
Enviar o primeiro email
As aplicações enviam pela API REST, com a chave no cabeçalho Authorization: Bearer. Com a chave na variável de ambiente MAILROOMLY_API_KEY e um remetente no seu domínio verificado:
curl https://app.mailroomly.com/api/v1/messages \
-H "Authorization: Bearer $MAILROOMLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from": "Loja <ola@mail.exemplo.pt>", "to": ["cliente@exemplo.pt"], "subject": "A sua encomenda", "text": "Obrigado pela sua encomenda."}'
O Mailroomly responde 202 com o id da mensagem e "status": "QUEUED": o email foi aceite e segue em segundo plano. Acompanhe-o na Atividade (A página de um envio) ou pelo seu webhook.
- O
fromtem de ser um endereço num domínio verificado da sua organização, dentro do âmbito da chave. - Indique um corpo em
html, emtext, ou ambos. Até 50 destinatários no total (to,cc,bcc). - Acrescente um
idempotencyKeypor acontecimento do negócio (por exemplo"fatura-2026-0042"): um pedido repetido devolve o primeiro resultado em vez de enviar duas vezes. - Os destinatários que bloqueou ficam de fora e aparecem em
suppressedRecipients. Quando não sobra nenhum, a resposta é422 ALL_RECIPIENTS_SUPPRESSED: não tente outra vez. - Até 500 mensagens de uma vez vão para
/api/v1/messages/batch.
Todos os campos, erros e limites estão na referência da API REST (em inglês). O código feito para o Postmark, o SendGrid ou o Mailgun mantém os seus pedidos: Mudar do Postmark, Mudar do SendGrid, Mudar do Mailgun.
Tipos de email
Cada email é de um de dois tipos, e o tipo decide como sai:
| Tipo | Para | Na API |
|---|---|---|
| Transacional | Confirmações de encomenda, faturas, recuperação de palavra-passe, notificações: email que a pessoa espera | "stream": "transactional" (por omissão) |
| Marketing | Newsletters e campanhas | "stream": "broadcast" |
- O email transacional passa sempre à frente.
- O email de marketing leva uma ligação e cabeçalhos de cancelamento da subscrição para cada destinatário: ponha
{{unsubscribe_url}}no corpo onde a ligação deve aparecer. Envie uma mensagem por destinatário (/api/v1/messages/batch), para que os destinatários não se vejam uns aos outros. - O marketing exige um plano que o inclua e a aceitação dos termos de serviço por um administrador, não pode ser enviado a partir do endereço gratuito e, a partir do seu domínio, exige o registo DMARC do domínio. Uma conta nova envia marketing em vagas crescentes (Confiança de envio).
- Uma chave pode ficar limitada a um tipo com Restringir a tipos de email específicos.
Campanhas e cancelamentos da subscrição: Campanhas e marketing.
Webhooks
Um webhook diz à sua aplicação o que aconteceu ao email dela: o Mailroomly envia cada evento para um URL seu, assinado para que a aplicação confirme que vem do Mailroomly. Cada aplicação tem um URL de webhook, o seu formato e os eventos que quer.
Na aplicação web
-
Na página da aplicação, abra o passo Webhook (ou Aplicações › Receber eventos no meu sistema).
-
Indique o URL do webhook: um endereço HTTPS acessível pela internet, sem nome de utilizador nem palavra-passe.
-
Escolha o Formato do conteúdo: Nativo, Compatível com Postmark para aplicações feitas para o Postmark, Compatível com SendGrid para aplicações feitas para o SendGrid, ou Compatível com Mailgun para aplicações feitas para o Mailgun.
-
Em Eventos a enviar, marque os que a aplicação trata:
Evento Quando Entregue O servidor do destinatário aceitou o email (um por destinatário) Devolvida O email foi devolvido, ou o endereço foi recusado antes do envio Queixa O destinatário marcou-o como spam Aberta O email foi aberto (quando as aberturas são seguidas; uma estimativa) Clicada Foi clicada uma ligação seguida Mensagem recebida Um endereço da aplicação recebeu um email Entrega atrasada Ainda não foi entregue; a entrega continua a ser tentada Cancelou a subscrição O destinatário cancelou a subscrição do email de marketing Cancelado enquanto esperava envio Um administrador cancelou o email antes de ser enviado (Cancelar o que está à espera). Só se o marcar Conversa devolvida ou rascunho decidido Para um agente: uma pessoa enviou ou descartou o rascunho dele, ou devolveu uma conversa aos agentes Aceite para envio Um envio foi aceite e segue o seu caminho (não existe no formato do Postmark; marcado numa aplicação nova compatível com SendGrid ou Mailgun) Não enviada (endereço inválido ou bloqueado) Um destinatário ficou de fora de um envio: está bloqueado, ou o seu domínio não recebe email (não existe no formato do Postmark; marcado numa aplicação nova compatível com SendGrid ou Mailgun) -
Escolha Guardar alterações e depois Enviar um evento de teste: um evento de exemplo vai já para o URL, assinado e no formato da aplicação, e o passo mostra o que o seu endpoint respondeu (O endpoint respondeu 200 em 84 ms., ou porque não o aceitou). O exemplo não fica guardado, não é repetido nem conta como entrega.
Peça ao seu agente
"Envie os eventos da Loja para https://loja.exemplo.pt/hooks/mail, no formato do Postmark, e teste o webhook." O agente usa update_app e depois send_test_webhook. Precisa de um token pessoal com Gerir aplicações. O webhook de uma aplicação responsável por endereços, ou que já recebeu o email deles, é alterado na aplicação web (O que fica com uma pessoa com sessão iniciada).
O segredo de assinatura. Em Detalhes avançados, o Segredo de assinatura (para verificar os webhooks que recebe) começa por whsec_. Não é uma chave de API: o seu endpoint usa-o para confirmar a assinatura que acompanha cada webhook. Mostrar segredo mostra-o. Como confirmar a assinatura, com código: referência dos webhooks (em inglês).
A chave de verificação. Uma aplicação no formato Compatível com SendGrid mostra também, em Detalhes avançados, a sua Chave de verificação (Event Webhook assinado do SendGrid): o seu handler de eventos do SendGrid confirma com ela a assinatura de cada webhook, em vez da chave que o SendGrid lhe deu (Mudar do SendGrid).
A signing key do Mailgun. No formato Compatível com Mailgun, o segredo de assinatura é também a webhook signing key: o seu handler do Mailgun verifica cada webhook com ele, em vez da chave que o Mailgun lhe deu (Mudar do Mailgun).
Atenção
Rodar segredo substitui o segredo de imediato, para todas as entregas a partir daí, incluindo as repetições, e com ele a chave de verificação de uma aplicação compatível com SendGrid. Atualize primeiro o seu endpoint, ou deixe-o aceitar os dois segredos durante algum tempo; a nova chave de verificação coloca-se no handler logo depois de rodar.
O seu endpoint deve responder com um 2xx em menos de 10 segundos e fazer o trabalho depois. Os eventos podem chegar mais de uma vez e fora de ordem: use o id de cada evento para ignorar os repetidos.
Um endereço também pode enviar cada email que recebe para o seu próprio URL do webhook de receção, assinado com o segredo da aplicação responsável e no formato dela (Endereços e domínios).
Entregas e reenvio
Aplicações › Para programadores › Entregas de webhooks mostra todas as entregas aos webhooks das aplicações e dos endereços; o separador Entregas de uma aplicação mostra só as dela. Pode filtrar por estado, aplicação e evento:
| Estado | Significa |
|---|---|
| Pendente | À espera, ou a ser repetida |
| Entregue | O seu endpoint respondeu 2xx |
| Falhada | Todas as tentativas falharam |
Detalhes mostra o conteúdo enviado, as tentativas, o URL para onde foi da última vez e a última resposta do seu endpoint. Para um email recebido, o conteúdo mostrado é uma referência à mensagem: o texto e os anexos são acrescentados de cada vez que é enviada, não ficam guardados com a entrega.
Uma entrega que falha é tentada outra vez 1 minuto depois, e a seguir ao fim de 5 minutos, 30 minutos, 2, 6, 12 e 24 horas. Depois da 8.ª tentativa fica Falhada, e os administradores recebem o aviso Entregas de webhook falhadas (aviso). Um URL que aponta para uma rede interna é recusado, e as suas entregas ficam Falhada de imediato.
As repetições e os reenvios vão sempre para o URL do webhook atual, por isso basta corrigir o URL. Quando o seu endpoint voltar a funcionar, selecione as entregas e escolha Reenviar … selecionadas, ou Reenviar todas as falhadas desta aplicação: voltam à fila e recebem de novo o calendário completo de tentativas. Um agente com Gerir aplicações lista-as com list_webhook_deliveries e reenvia-as com replay_webhooks.
Pedidos
Aplicações › Para programadores › Pedidos mostra todos os pedidos que as suas aplicações e agentes de IA fizeram, pela API ou por MCP, nos últimos 30 dias, do mais recente para o mais antigo: quando, o pedido (o endpoint, ou a ferramenta MCP), o resultado, quem o fez (a aplicação e a chave, ou o token do agente) e quanto demorou. O separador Pedidos de uma aplicação mostra só os dela; em Os meus agentes, Ver os pedidos mostra os de um token.

Todos os pedidos, com o resultado e o motivo de uma falha| Resultado | Significa |
|---|---|
| OK | O pedido funcionou. |
| Recusado | O Mailroomly recusou-o, com um código de erro e o motivo, por exemplo um domínio de envio ainda não verificado. Nada foi enviado. |
| Demasiados | Passou um limite de pedidos; tente de novo daqui a pouco. Uma chave que continua a fazer pedidos enquanto é recusada mostra um desses pedidos a cada 10 segundos, não cada um. |
| Falhou | Algo correu mal do nosso lado; tente de novo. |
Pode filtrar por resultado (Só o que falhou), aplicação ou agente, canal (API ou MCP) e período. Selecione um pedido para ver o código de erro, o motivo em palavras simples, o cliente de onde veio e o ID do pedido; um pedido que enviou um email tem uma ligação para ele. O que um pedido enviou nunca fica guardado com ele: o email guarda o seu próprio conteúdo.

Porque foi recusado, em palavras simples, com os detalhesOs administradores veem todos os pedidos da organização. As outras pessoas veem os pedidos dos seus próprios agentes, e a chave de uma aplicação ou o token de um agente só lê os seus.
Na aplicação web
Abra Aplicações › Para programadores › Pedidos e depois Só o que falhou.
Peça ao seu agente
"Porque falharam os meus últimos pedidos?" O agente usa list_requests com result igual a failed e depois get_request.
Enviar um email de teste
Há dois testes, para duas perguntas:
| Teste | Responde a | Onde |
|---|---|---|
| Enviar um teste como esta aplicação | O webhook da aplicação recebe os eventos? | A página da aplicação, passo 3 |
| Enviar um email de teste | Um domínio, um tipo de email ou o meu conteúdo funcionam? | Aplicações › Para programadores › Enviar um email de teste em seu nome, ou Ctrl K › Enviar um email de teste |
Na aplicação web
Enviar um teste como esta aplicação: escolha o endereço em De e Enviar um teste para mim. O email segue como a aplicação, só para si, por isso os eventos chegam ao webhook da aplicação. O passo mostra-os à medida que chegam, com o que o seu endpoint respondeu, e Abrir na Atividade mostra o email. Se o webhook não enviar eventos de Entregue, marque Entregue no passo 2 para ver o teste chegar. Feito quando uma entrega corre bem.
Peça ao seu agente
"Envie-me um teste da Loja, a partir de ola@mail.exemplo.pt." O agente usa send_test_message: o email segue como a aplicação para si, a pessoa em nome de quem o token age, e conta para o seu limite diário. Precisa de um token pessoal com Gerir aplicações.
Enviar um email de teste envia um email em seu nome. Não pertence a nenhuma aplicação, por isso nunca chega aos webhooks das suas aplicações. Escolha o remetente em De (um dos seus endereços, ou Outro endereço… num domínio verificado), os destinatários, o assunto, o Tipo, o Corpo em HTML, o Corpo em texto ou ambos, e as Etiquetas, e escolha Enviar teste. Email aceite mostra o Estado atual: e Abrir o email e a sua cronologia; os destinatários deixados de fora por estarem bloqueados aparecem listados. Por baixo do formulário, O mesmo email pela API mostra-o em cURL, Node e Python, pronto a correr com a chave de uma aplicação.
Os emails de teste são email real: contam para os limites diários como os outros (Limites diários).
Referências
Para programadores, em inglês:
- REST API: autenticação, envio, mensagens, endereços bloqueados, aplicações e chaves, entregas de webhooks.
- Webhooks: os eventos, os formatos, a assinatura com código, as repetições e o reenvio.
- Postmark compatibility: os endpoints
/emaile o formato de webhook do Postmark. - SendGrid compatibility: o endpoint
/v3/mail/send, o Event Webhook e o Inbound Parse. - Mailgun compatibility: os endpoints
/v3/{domain}/messages, os webhooks do Mailgun e os reencaminhamentos das suas routes. - MCP server: as ferramentas que um agente de IA usa.