Saltar para o conteúdo

Criar formulário

POST/api/forms

Auth
Exige token
Quem pode:
owner
admin
Chave de API:
Não aceita chave de API
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Quem o "Quem pode postar" (`canCreate`) do espaço permite; owner e admin sempre. Os demais, 403. Nasce em rascunho, com uma seção vazia se `sections` não vier, e com quem criou como responsável. Num espaço "Um formulário" que já tem um, 409. `acceptVisitors` e `saveAsMember` só a equipe liga (membro: 403).

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
spaceIdopcionalstring (uuid)**Obrigatório na criação.** Um espaço `forms` da comunidade do header. Num espaço "Um formulário" que já tem um, 409.
titleopcionalstringmax 200
descriptionopcionalstringmax 5000
acceptMembersopcionalboolean
acceptVisitorsopcionalboolean
saveAsMemberopcionalboolean
sendConfirmationopcionalboolean
thankYouMessageopcionalstringmax 2000
redirectUrlopcionalstringSó `https`.
privacyPolicyUrlopcionalstringSó `https`.
accessPasswordopcionalstringDefine a senha de acesso; `null` remove. Guardada com hash. · min 6, max 100
closesAtopcionalstring (date-time)
maxSubmissionsopcionalinteger≥ 1
responderIdsopcionalstring (uuid)[]Membros da comunidade. Na criação, sem a lista, quem criou.
sectionsopcionalobject[]
sections[].idopcionalstring (uuid)
sections[].positionopcionalinteger
sections[].titleobrigatóriostringmax 200
sections[].descriptionopcionalstringmax 2000
sections[].fieldsopcionalobject[]
sections[].fields[].idopcionalstring (uuid)
sections[].fields[].sectionIdopcionalstring (uuid)
sections[].fields[].positionopcionalinteger
sections[].fields[].typeobrigatórioNAME | EMAIL | PHONE | COMPANY | JOB_TITLE | SHORT_TEXT | LONG_TEXT | SINGLE_CHOICE | MULTIPLE_CHOICE | NUMBER | DATE | URL | CONSENT
sections[].fields[].labelobrigatóriostringmax 1000
sections[].fields[].helpopcionalstringmax 1000
sections[].fields[].placeholderopcionalstringmax 200
sections[].fields[].requiredopcionalboolean
sections[].fields[].optionsopcionalobject[]
sections[].fields[].minopcionalnumber
sections[].fields[].maxopcionalnumber
sections[].fields[].lockToProfileopcionalboolean

Respostas

CódigoDescrição
201Criado.
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`).
403O espaço não deixa esta pessoa criar, ou membro tentou ligar uma opção da equipe.
409Espaço "Um formulário" que já tem um.
422Árvore, título, URL, senha ou responsáveis inválidos (com cada caminho em `errors`).

Exemplo com curl

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