Aller au contenu

Sobe uma planilha de membros e devolve a análise

POST/api/members/imports

Auth
Jeton requis
Clé d’API:
members:write
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.

Owner e admin. Multipart com o campo `file`: `.xlsx` ou `.csv`, reconhecidos pelo conteúdo (não pela extensão). Até 5 MB, 5.000 linhas de dados e 100 colunas; `.xls`, `.xlsm` (mesmo renomeado), XLSX que descompacta acima de 50 MB (ou com o ZIP inconsistente) e leitura acima de 30 s (`reason: readTimeout`) são recusados. Fórmulas valem pelo valor calculado guardado no arquivo (nunca são avaliadas). O arquivo original fica guardado no armazenamento privado como cópia de segurança (sem expirar; baixável por owner e admin em `GET /api/members/imports/{id}/file`). A análise traz as abas (`sheets`), a codificação e o separador do CSV, a linha de cabeçalho detectada (`headerRow`, 1 = primeira linha; `headerDetected: false` quando nenhuma linha pareceu cabeçalho), as primeiras linhas cruas (`rawRows`, para escolher outra) e as colunas: `index` (0 = coluna A), `name` (com "(col. N)" quando o nome se repete), os 3 primeiros valores, a sugestão de destino (`suggestion.target`, `confidence` `high` ou `low`; consentimento, tags e grupos nunca são sugeridos), o tipo que um campo novo teria (`inferredType`) e até 50 valores distintos. Nada é enviado a serviço externo para sugerir. A importação nasce `ANALYZED` e vira `ABANDONED` se não for confirmada em 24 h. **Comunidade suspensa pela Memberfy**: 403 com `errors`, `code: COMMUNITY_SUSPENDED` e o motivo (em `message` e em `reason`) para owner, admin, moderador e financeiro; nada é lido nem guardado.

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.

Corps de la requête multipart/form-data

NomTypeDescription
fileobligatoirestring (binary)

Réponses

StatutDescription
201A análise.
400Requisição inválida — falha de validação.
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`).
403Autenticado, mas sem permissão para esta operação.
413Arquivo acima de 5 MB.
429Outra planilha está sendo lida nesta comunidade (uma por vez) ou no servidor. Tente de novo em instantes (`reason: busy`).
503Armazenamento indisponível.

Exemple curl

curl -X POST "https://api.memberfy.net/api/members/imports" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -F "file=@caminho/do/arquivo"