Aller au contenu

Link de download de uma exportação grande

GET/api/exports/{exportId}/download

Auth
Jeton requis
Qui peut l’appeler:
owner
admin
finance
Clé d’API:
Clé d’API non acceptée
X-CommunityId
X-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

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. A exportação dos dados pessoais de um membro (`kind: personal`) nunca sai por aqui: 403, mesmo para quem da equipe a pediu; só o próprio membro baixa, por `GET /api/privacy/exports/{exportId}/download`.

Paramètres

NomEmplacementTypeDescription
exportIdobligatoirepathstring (uuid)
redirectfacultatifqueryboolean`true` responde 302 para o arquivo em vez do JSON.

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Réponses

StatutDescription
200URL assinado do arquivo
302Com `redirect=true`, redireciona para o URL assinado
401Token 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`).
403Sem papel de equipe, ou exportação de dados pessoais de um membro (só o próprio membro baixa)
404Exportação não encontrada (ou de outra pessoa, ou sem o papel)
409A exportação ainda está sendo gerada
410A exportação expirou e o arquivo foi apagado

Exemple curl

curl -X GET "https://api.memberfy.net/api/exports/<exportId>/download" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID"