Skip to content

Sobe uma planilha de membros e devolve a análise

POST/api/members/imports

Auth
Requires a token
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

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** (F-86): 403 com `errors`, `code: COMMUNITY_SUSPENDED` e o motivo (em `message` e em `reason`) para owner, admin, moderador e financeiro; nada é lido nem guardado.

Headers

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

Request body multipart/form-data

NameTypeDescription
filerequiredstring (binary)

Responses

StatusDescription
201A análise.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
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.

curl example

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