Link de download de uma exportação grande
GET/api/exports/{exportId}/download
- Auth
- Exige token
- Quem pode:
- owner
- admin
- finance
- Chave de API:
- Não aceita chave de API
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Exportações acima de 2.000 linhas (assinaturas, extrato de engajamento, painel de feedbacks) são geradas pela fila e respondem 202 com `exportId`; quando o arquivo fica pronto, quem pediu recebe um e-mail com o link do app (`/exports/{exportId}`), e o app chama esta rota. Só quem pediu a exportação, na comunidade do X-CommunityId e ainda com o papel que aquele tipo exige hoje (assinaturas: owner, admin ou finance; extrato de engajamento: equipe; feedbacks: owner ou admin), recebe um URL assinado que vale 5 minutos (`url`, até `urlExpiresAt`). O arquivo fica disponível até `expiresAt` (72 h depois de gerado) e é apagado nesse momento. Com `redirect=true` a resposta é um 302 direto para o arquivo. Exportação de outra pessoa, de outra comunidade ou sem o papel responde 404; ainda sendo gerada, 409; expirada, 410.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
exportIdobrigatório | path | string (uuid) | |
redirectopcional | query | boolean | `true` responde 302 para o arquivo em vez do JSON. |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Respostas
| Código | Descrição |
|---|---|
200 | URL assinado do arquivo |
302 | Com `redirect=true`, redireciona para o URL assinado |
401 | Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`). |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Exportação não encontrada (ou de outra pessoa, ou sem o papel) |
409 | A exportação ainda está sendo gerada |
410 | A exportação expirou e o arquivo foi apagado |
Exemplo com curl
curl -X GET "https://api.memberfy.net/api/exports/<exportId>/download" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID"