Pede um e-mail de integração a owner e admin (serviço)
POST/api/internal/integrations/notify
- Auth
- Pública
- Clave de API:
- No acepta clave de API
**Rota de serviço, só para o `memberfy-developers`**. Autenticada pelo segredo de serviço no cabeçalho `X-Service-Token` (`DEVELOPERS_SERVICE_TOKEN`, comparado em tempo constante); sessão e chave de API não servem. Limite de 60 chamadas por minuto por IP.
O corpo aceita **só** `{ communityId, kind, params }`. A API escolhe os destinatários (owner e admin vivos da comunidade, cada um no seu idioma), o template e a marca: destinatário, assunto ou HTML vindos de fora são recusados com 422, como qualquer campo fora do contrato.
| `kind` | `params` | |---|---| | `endpoint_disabled` | `endpointUrl` (obrigatório, já mascarada), `endpointName`, `failures`, `hours` | | `fixed_ip_quota` | `usedPercent` (obrigatório), `limit` | | `app_disabled` | `appName` (obrigatório), `failures`, `hours` — integração pronta (Discord, Slack…) desligada por falha; o botão leva a Configurações › Integrações & APIs › Integrações |
Headers
| Nombre | Tipo | Descripción |
|---|---|---|
X-Service-Tokenobligatorio | string |
Cuerpo de la solicitud application/json
| Nombre | Tipo | Descripción |
|---|---|---|
communityIdobligatorio | string (uuid) | |
kindobligatorio | endpoint_disabled | fixed_ip_quota | app_disabled | app_needs_attention | `app_needs_attention` (`{ appName, reason: channel_gone }`): só para owners, e-mail de sistema que nenhuma preferência bloqueia. |
paramsopcional | object |
Respuestas
| Código | Descripción |
|---|---|
202 | E-mails enfileirados. |
401 | Sem o segredo de serviço |
404 | Comunidade não encontrada. |
422 | `kind` desconhecido, campo fora do contrato ou `params` inválido. |
429 | Limite de chamadas atingido. |
Ejemplo con curl
curl -X POST "https://api.memberfy.net/api/internal/integrations/notify" \
-H "Content-Type: application/json" \
-d '{"communityId":"00000000-0000-0000-0000-000000000000","kind":"endpoint_disabled"}'