# Indicação de membros

> Cada membro ganha uma ligação de indicação; quem entra por ela conta como indicado, uma vez, e a equipa vê quem trouxe quem. Ligar e desligar, as regras de quando conta, os pontos, os workflows e o relatório.

A **indicação de membros** dá a cada pessoa da comunidade uma ligação própria para convidar outras. Quem entra pela ligação fica registado como **indicado** por ela: a equipa vê quem trouxe quem, a comunidade pode dar pontos e badges por indicação e disparar workflows quando alguém indica.

## Para que serve

| Comunidade | Como usa |
|---|---|
| Comunidade que cresce pelo passa-palavra | Liga a indicação e acompanha quem traz mais gente nova |
| Comunidade com gamificação | Dá pontos pela ação **Indicar membro** e um badge a quem indica 5 pessoas |
| Programa de embaixadores | Um workflow com **Indicou alguém** envia uma DM de agradecimento e põe a pessoa no grupo *Embaixadores* |

## Quem pode

| Papel | O que faz |
|---|---|
| Proprietário e administrador | Ligam e desligam a indicação; veem o relatório e o **Indicado por** de cada membro |
| Moderador | Vê o relatório e o **Indicado por** |
| Financeiro | Não vê o relatório nem quem indicou quem (é um dado pessoal, fora do âmbito financeiro) |
| Membro | Obtém a sua ligação e vê quantas pessoas indicou |

## Onde fica

| Quem | Onde |
|---|---|
| Proprietário e administrador | **Definições › Acesso e registo**, cartão **Indicação**: o botão liga e desliga, e **Ver o relatório de indicações** abre o relatório |
| Proprietário, administrador e moderador | **Membros › Indicações**: cada pessoa que indicou, com **Membro**, **Indicações** e **Última**, o **Período** (**30 dias**, **90 dias** ou **Tudo**) e **Descarregar CSV**. Na página de outro membro, o cartão **Indicado por** (*"Só a equipa vê."*) |
| Membro | **A Minha Conta › Indicar** e a própria página: o cartão **Indique a comunidade**, com a ligação, **Copiar** e quantas pessoas entraram por ela. Aparece só com a indicação ligada |

Quem abre a ligação e se regista pela aplicação conta como indicado: a aplicação guarda o código durante 30 dias, e o gatilho **Indicou alguém** está no editor de [workflows](/notificacoes/workflows).

## Como funciona

### Ligar

A indicação nasce **desligada**. Ligada, cada membro tem um código próprio, criado na primeira vez que pede a ligação, e a ligação é o endereço da comunidade com `?ref=` e o código (`https://suacomunidade.memberfy.net/?ref=ana7k2`). Desligada, ninguém tem ligação, e um código recebido não conta.

### Quando a indicação conta

A indicação conta **uma vez**, quando a pessoa indicada **passa a membro**, e só se:

- a indicação estiver ligada na comunidade nesse momento;
- o código for de um membro ativo **desta** comunidade;
- quem entra não for a própria pessoa que indicou (nem pelo perfil, nem pelo e-mail);
- quem entra **nunca tiver tido perfil** nesta comunidade;
- a ligação tiver sido aberta há **30 dias**, no máximo.

O código **nunca impede** um registo nem abre a comunidade a quem não poderia entrar: o registo segue as regras de sempre (ver [Registo e entrada](/membros/cadastro-e-entrada)). Numa comunidade com aprovação de registo, o código espera junto com o pedido e conta quando o pedido é aprovado.

### O que acontece numa indicação

- A pessoa nova fica com a origem **Indicação**, que aparece no cartão de crescimento do [Dashboard](/membros/dashboard), entre as origens dos novos membros dos últimos 7 dias.
- Quem indicou faz a ação **Indicar membro** da [gamificação](/membros/gamificacao): vale **0 pontos** por predefinição (a comunidade escolhe quanto) e conta para as regras de badge e os requisitos de nível com essa ação.
- Sai o evento **Indicou alguém**, sobre quem indicou, com o nome de quem entrou: gatilho de [workflow](/notificacoes/workflows) (com a variável `referred.name`) e [webhook](/api/eventos-de-webhook) `member.referred`.

### O relatório

Para o proprietário, o administrador e o moderador: cada pessoa que indicou, com quantas indicações e a data da última, e o total, num período. Também sai em CSV. Quem saiu da comunidade continua no relatório, marcado como removido.

## Exemplo

A comunidade liga a indicação e dá 50 pontos por **Indicar membro**. A Ana obtém a ligação e envia-a ao Bruno, que a abre, se regista no dia seguinte e passa a membro. A Ana ganha 50 pontos, o Bruno aparece com a origem **Indicação**, e o workflow com **Indicou alguém** envia à Ana: *"Obrigado por trazer o Bruno!"*.

## Erros comuns e como resolver

| Situação | O que fazer |
|---|---|
| A indicação não contou | Confirme se a indicação estava ligada, se a pessoa nunca teve perfil na comunidade e se a ligação foi aberta há menos de 30 dias |
| A pessoa indicou-se a si própria com outro registo | Não conta: o mesmo e-mail ou o mesmo perfil é recusado como indicação |
| A indicação não deu pontos | A ação **Indicar membro** vale 0 por predefinição; mude o valor nas regras de pontos da [gamificação](/membros/gamificacao) |

## Perguntas frequentes

**O indicado sabe quem o indicou?**
Não por aqui. Quem indicou só aparece à equipa (proprietário, administrador e moderador).

**Desligar apaga as indicações?**
Não. As indicações que já contaram ficam; só deixam de contar novas.

**É possível indicar alguém para uma comunidade paga?**
Sim. A ligação leva à comunidade, e a pessoa entra pelas regras de sempre, incluindo a compra. A indicação conta quando ela passa a membro.

## Na API

`GET` e `PUT /api/referrals/settings` (proprietário e administrador; os outros papéis recebem `403`) ligam e desligam (`enabled`). `GET /api/referrals/me` (qualquer membro) devolve `enabled`, `code`, `path` (`/?ref=<código>`) e `count`. `GET /api/referrals/report` (proprietário, administrador e moderador; o financeiro recebe `403`) traz, por pessoa, `memberId`, `name`, `avatarUrl`, `removed`, `count` e `lastReferredAt`, com `totals`, paginação, `from`/`to` e `format=csv`.

No registo, `POST /api/auth/register` e `POST /api/auth/signup-request` aceitam `referralCode` e `referralSeenAt` (quando a ligação foi aberta; mais de 30 dias, é ignorado). `GET /api/members/{id}` traz `referredBy` (`memberId`, `name`, `avatarUrl`, `removed`, `referredAt`) no perfil de outra pessoa, só para proprietário, administrador e moderador, e `source` pode ser `REFERRAL`. O cartão de crescimento do Dashboard traz `extra.bySource`. Ver [Referrals](/api/referencia/referrals) na Referência da API.

## Pelo assistente (MCP)

Peça ao assistente a sua ligação (*"qual é a minha ligação de indicação?"*, [`get_my_referral`](/mcp/ferramentas-membros#get-my-referral)), o relatório (*"quem mais trouxe membros novos este mês?"*, [`get_referral_report`](/mcp/ferramentas-membros#get-referral-report), para o proprietário, o administrador e o moderador) ou para ligar a indicação ([`update_referral_settings`](/mcp/ferramentas-membros#update-referral-settings)). Quem indicou um membro aparece em [`get_member`](/mcp/ferramentas-membros#get-member).

## Relacionados

- [Convidar membros](/membros/convidar-membros)
- [Registo e entrada](/membros/cadastro-e-entrada)
- [Gamificação](/membros/gamificacao)
- [Workflows](/notificacoes/workflows)
- [Eventos de webhook](/api/eventos-de-webhook)
