Aller au contenu

Cria um campo customizado

POST/api/member-fields

Auth
Jeton requis
Qui peut l’appeler:
owner
admin
moderator
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. A `key` é gerada do rótulo (sem acento, minúsculas, espaço e hífen viram `_`) e ganha `_2`, `_3`… quando já existe na comunidade (inclusive em campo apagado). Sem `order`, o campo vai para o fim. `SELECT` exige `options` (texto ou `{ value?, label }`; sem `value`, ele sai do rótulo). Até 100 campos por comunidade. **Na página do membro:** `profileVisibility` diz se outros membros veem o campo no perfil: `NEVER` ("Nunca no perfil": só a pessoa e a equipe, em `fields`), `MEMBER_CHOOSES` ("A pessoa escolhe", começando em Membros; a pessoa pode passar para Privado) ou `ALWAYS` ("Sempre no perfil", para quem é da comunidade). Campo de cadastro nunca vai para a página pública. `null` = automático: campos de telefone, e-mail e data e os rotulados como dado sensível (CPF e outros documentos, registro profissional, endereço, nascimento, nacionalidade, salário, dados bancários, senha, saúde, biometria, sexo/gênero, estado civil, filiação, religião, orientação, raça/etnia, política, sindicato; nas 5 línguas, sem acento e sem caixa) ficam `NEVER`, os outros `MEMBER_CHOOSES`. O `NEVER` automático fica gravado no campo: renomear um campo nunca o abre (um rótulo ou tipo novo sensível volta o campo para `NEVER`, mesmo com escolha anterior, a não ser que a mesma requisição reafirme `MEMBER_CHOOSES` ou `ALWAYS`; um rótulo novo comum mantém o `NEVER`). `null` num campo que está `NEVER` o mantém `NEVER`: abrir pede `MEMBER_CHOOSES` ou `ALWAYS` explícito. As respostas trazem `profileVisibility` (o valor que vale) e `profileVisibilityAutomatic`. Só owner e admin (moderador: 403). Valor inválido: 400 `memberFields.errors.profileVisibilityInvalid`. `MULTI_SELECT` (múltipla escolha) exige de 2 a 50 `options`, cada rótulo com até 80 caracteres, e aceita `minSelections` e `maxSelections` (inteiros de 1 a 50, mínimo até o máximo e até o número de opções). O valor do membro é uma lista de `value` das opções. `required` equivale a mínimo 1; com `minSelections` e sem `required`, o membro pode deixar vazio, mas, se marcar, marca ao menos o mínimo. `minSelections` ou `maxSelections` em outro tipo: 400. Tipos e o valor gravado: `EMAIL` (minúsculas), `PHONE` (E.164, `+5541999998888`; sem `+`, vale o país da comunidade), `URL` (só http/https; sem esquema ganha `https://`). Só em `TEXT`: `pattern` é uma expressão regular (sintaxe RE2, sem retrovisor nem lookaround, até 200 caracteres) que o valor inteiro precisa casar (é ancorada com `^… POST /api/member-fields · Référence de l’API · Centre d’aide Memberfy

); `patternMessage` (até 120) é a dica mostrada quando não casa. Expressão inválida ou recusada pelo RE2, ou `pattern` em outro tipo: 422. `askOnSignup` pede o campo no cadastro da comunidade; campo obrigatório é sempre pedido (`askOnSignup` vira `true`).

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 application/json

NomTypeDescription
labelobligatoirestringmax 120
typeobligatoireTEXT | NUMBER | DATE | SELECT | BOOLEAN | EMAIL | PHONE | URL | MULTI_SELECT
optionsfacultatifobject[]
minSelectionsfacultatifintegerSó em MULTI_SELECT. · ≥ 1, ≤ 50
maxSelectionsfacultatifintegerSó em MULTI_SELECT. · ≥ 1, ≤ 50
requiredfacultatifboolean
askOnSignupfacultatifboolean
profileVisibilityfacultatifNEVER | MEMBER_CHOOSES | ALWAYSNa página do membro. null = automático.
patternfacultatifstringmax 200
patternMessagefacultatifstringmax 120
orderfacultatifinteger≥ 0

Réponses

StatutDescription
201Campo criado.
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.
409Conflito com o estado atual do recurso.
422`pattern` inválido, longo demais, recusado pelo RE2 ou enviado em tipo que não é `TEXT`.
500Erro interno do servidor.

Exemple curl

curl -X POST "https://api.memberfy.net/api/member-fields" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"label":"string","type":"TEXT"}'