Como o Access Management envia os emails de convite e OTP pelo iGRP Notification Service, o que configurar dos dois lados e o que acontece quando falha.
O Access Management envia os emails do Fluxo de Convite — convite, reenvio, cancelamento, resposta e código OTP — de uma de duas formas:
| Modo | Quando escolher |
|---|---|
| Notification Service | Produção. Templates editáveis por evento e por idioma, histórico de envios, retentativas. |
| SMTP local | Instalações simples. Texto fixo, sem templates. Também é o recurso quando o Notification Service falha. |
| Variável | Valor | Efeito |
|---|---|---|
IGRP_NOTIFICATION_SERVICE_ENABLED | true | Usa o Notification Service como caminho principal |
IGRP_NOTIFICATIONS_ENABLED | mail | Liga o SMTP local (SMTP_HOST, SMTP_PORT, …), usado sozinho ou como recurso |
IGRP_NOTIFICATIONS_ENABLED | none (omissão) | Sem SMTP local: se o Notification Service não enviar, o email não sai |
Com os dois desligados os convites ficam registados, mas nenhum email é enviado.
Como o email sai
- O Access Management pede um token
client_credentialsao seu próprio/oauth2/tokene guarda-o em cache. - Chama
POST /api/v1/notificationsno Notification Service com o código do template do evento, o locale do convidado e as variáveis. - Se não houver template publicado nesse locale (
422 TEMPLATE_ERROR), repete uma vez com o locale por omissão do módulo (igrp.i18n.default-locale). - Se voltar a falhar, ou o serviço não responder, envia pelo SMTP local quando
IGRP_NOTIFICATIONS_ENABLED=mail.
Nenhum evento de convite falha por causa do email: o convite é criado, reenviado ou cancelado na mesma. A exceção é a validação por OTP: se nem o Notification Service nem o SMTP local entregarem o código, a validação falha com erro.
O que configurar
No Access Management
| Requisito | Porquê |
|---|---|
Um cliente M2M cuja conta de serviço está associada à aplicação APP_IGRP_CENTER | O pedido não envia applicationCode: a aplicação vem do claim application_code do token, e os templates de convite pertencem a APP_IGRP_CENTER |
A conta de serviço com a permissão igrp.notification.send | Sem ela o Notification Service responde 403 |
No Notification Service
| Requisito | Porquê |
|---|---|
SMTP configurado (NOTIFICATION_PROVIDERS_EMAILSMTP_*) | Sem ele o envio é recusado (422 CHANNEL_NOT_ENABLED) — ver Configurar os canais |
AUTH_JWT_ISSUER igual ao iss dos tokens do Access Management | O serviço rejeita tokens de outro emissor |
| Os templates de convite publicados | Já vêm publicados: o serviço cria-os no arranque em pt e en (ver Templates da plataforma) |
Variáveis de configuração
| Variável | Omissão | Descrição |
|---|---|---|
IGRP_NOTIFICATION_SERVICE_ENABLED | false | Liga o envio pelo Notification Service |
IGRP_NOTIFICATION_SERVICE_BASE_URL | — | Base do Notification Service, sem /api/v1 |
IGRP_NOTIFICATION_SERVICE_AUTH_URL | — | Base do Access Management para o /oauth2/token (ver aviso abaixo) |
IGRP_NOTIFICATION_SERVICE_CLIENT_ID, …_CLIENT_SECRET | — | Cliente M2M |
IGRP_NOTIFICATION_SERVICE_SCOPE | vazio | Scope pedido no token |
IGRP_NOTIFICATION_SERVICE_INVITATION_TEMPLATE_CODE | user-invitation | Convite |
IGRP_NOTIFICATION_SERVICE_INVITATION_RESEND_TEMPLATE_CODE | user-invitation | Reenvio |
IGRP_NOTIFICATION_SERVICE_INVITATION_CANCELLATION_TEMPLATE_CODE | user-invitation-cancelled | Cancelamento |
IGRP_NOTIFICATION_SERVICE_INVITATION_RESPONSE_TEMPLATE_CODE | user-invitation-responded | Resposta ao convite |
IGRP_NOTIFICATION_SERVICE_INVITATION_OTP_TEMPLATE_CODE | user-invitation-otp | Código OTP |
IGRP_NOTIFICATION_SERVICE_INVITATION_DEFAULT_LOCALE | en | Locale usado quando o pedido não traz um |
IGRP_NOTIFICATION_SERVICE_INVITATION_PROJECT | iGRP | Valor da variável project nos templates |
IGRP_NOTIFICATION_SERVICE_INVITATION_APP_CENTER_URL | — | Valor da variável appCenterUrl (só enviada se definida) |
AUTH_URL só é usado com SCOPE definido
Com IGRP_NOTIFICATION_SERVICE_SCOPE vazio, o Access Management ignora IGRP_NOTIFICATION_SERVICE_AUTH_URL e pede o token a {IGRP_NOTIFICATION_SERVICE_BASE_URL}/oauth2/token — o Notification Service, que responde 401. O envio cai então para o SMTP local. Até isto ser corrigido, define um SCOPE aceite pelo cliente M2M para que o token seja pedido ao AUTH_URL.
Variáveis dos templates
| Template (omissão) | Variáveis |
|---|---|
user-invitation | project, user, link, year, appCenterUrl |
user-invitation-cancelled | project, user, year, appCenterUrl |
user-invitation-responded | project, user, year, appCenterUrl |
user-invitation-otp | project, user, otp, year, appCenterUrl |
user é o nome do convidado (ou o email, se não houver nome). Para mudar o texto, edita estes templates na Notifications UI — aplicação APP_IGRP_CENTER — e publica uma versão nova.
Exemplos de emails


Ver também
- Fluxo de Convite (OTP) — o que o convidado vê.
- Utilizadores & Convites — como o administrador dispara os convites.
- Notificações › Envio de notificações — os requisitos de envio do lado do Notification Service.
Última atualização:
