Pular para o conteúdo

Reanalisa a planilha e, com o mapeamento, devolve o resumo

POST/api/members/imports/{id}/preview

Auth
Exige token
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Owner e admin; só enquanto a importação está `ANALYZED`. Com `sheet`, `headerRow` (1 a 30), `delimiter` (`,` `;` tab `|`) ou `encoding` (`utf-8`, `windows-1252`, `iso-8859-1`, `utf-16le`, `utf-16be`), devolve a análise de novo. Com `mapping` (e `options`), devolve também `summary`, o resumo do passo 4: linhas, pessoas novas, já membros (recebem grupos, tags e campos vazios), ignoradas por motivo (`NO_EMAIL`, `INVALID_EMAIL`, `DUPLICATE_IN_FILE`, `NO_CONSENT`), `declined` (pediram para não participar, fora de `skipped`), e-mails a enviar e os grupos, tags e campos que serão criados. Não grava nada. O mapeamento exige exatamente uma coluna `email`; `firstName`, `lastName`, `phone` e `consent` aceitam uma coluna cada (duas colunas para o mesmo destino são recusadas); `tags` e `groups` aceitam várias.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriopathstring (uuid)

Headers

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

Corpo da requisição application/json

NomeTipoDescrição
sheetopcionalstring
headerRowopcionalinteger≥ 1, ≤ 30
delimiteropcional, | ; | | |
encodingopcionalstring
mappingopcionalobject[]
mapping[].columnobrigatóriointegerO `index` da coluna, como veio na análise.
mapping[].targetobrigatórioignore | email | firstName | lastName | phone | tags | groups | consent | field | newField
mapping[].fieldKeyopcionalstringCom `field`: a `key` de um campo customizado existente.
mapping[].newFieldopcionalobjectCom `newField`: o campo criado na hora, sempre opcional.
mapping[].newField.labelopcionalstringmax 120
mapping[].newField.typeopcionalTEXT | NUMBER | DATE | SELECT | BOOLEAN
optionsopcionalobject
options.roleopcionalmember | moderator
options.groupIdsopcionalstring (uuid)[]
options.tagsopcionalstring[]
options.originopcionalstringDe onde veio a lista. Obrigatória no start; texto simples, sem link; vai no e-mail. · max 150
options.consentValuesopcionalstring[]Com uma coluna `consent`: os valores que contam como sim.
options.consentDeclarationopcionalbooleanSem coluna `consent`: a declaração aceita (obrigatória no start).

Respostas

CódigoDescrição
200A análise, com `summary` quando veio o mapeamento.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409A importação já foi confirmada ou abandonada.
429Outra planilha está sendo lida nesta comunidade (uma por vez) ou no servidor. Tente de novo em instantes (`reason: busy`).

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/members/imports/<id>/preview" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'