Criar formulário
POST/api/forms
- Auth
- Requiere token
- Quién puede:
- owner
- admin
- Clave de API:
- No acepta clave de API
- X-CommunityId
X-CommunityIdEnvía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.
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
| Nombre | Tipo | Descripción |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Cuerpo de la solicitud application/json
| Nombre | Tipo | Descripción |
|---|---|---|
spaceIdopcional | string (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. |
titleopcional | string | max 200 |
descriptionopcional | string | max 5000 |
acceptMembersopcional | boolean | |
acceptVisitorsopcional | boolean | |
saveAsMemberopcional | boolean | |
sendConfirmationopcional | boolean | |
thankYouMessageopcional | string | max 2000 |
redirectUrlopcional | string | Só `https`. |
privacyPolicyUrlopcional | string | Só `https`. |
accessPasswordopcional | string | Define a senha de acesso; `null` remove. Guardada com hash. · min 6, max 100 |
closesAtopcional | string (date-time) | |
maxSubmissionsopcional | integer | ≥ 1 |
responderIdsopcional | string (uuid)[] | Membros da comunidade. Na criação, sem a lista, quem criou. |
sectionsopcional | object[] | |
sections[].idopcional | string (uuid) | |
sections[].positionopcional | integer | |
sections[].titleobligatorio | string | max 200 |
sections[].descriptionopcional | string | max 2000 |
sections[].fieldsopcional | object[] | |
sections[].fields[].idopcional | string (uuid) | |
sections[].fields[].sectionIdopcional | string (uuid) | |
sections[].fields[].positionopcional | integer | |
sections[].fields[].typeobligatorio | NAME | EMAIL | PHONE | COMPANY | JOB_TITLE | SHORT_TEXT | LONG_TEXT | SINGLE_CHOICE | MULTIPLE_CHOICE | NUMBER | DATE | URL | CONSENT | |
sections[].fields[].labelobligatorio | string | max 1000 |
sections[].fields[].helpopcional | string | max 1000 |
sections[].fields[].placeholderopcional | string | max 200 |
sections[].fields[].requiredopcional | boolean | |
sections[].fields[].optionsopcional | object[] | |
sections[].fields[].minopcional | number | |
sections[].fields[].maxopcional | number | |
sections[].fields[].lockToProfileopcional | boolean |
Respuestas
| Código | Descripción |
|---|---|
201 | Criado. |
401 | Token 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`). |
403 | O espaço não deixa esta pessoa criar, ou membro tentou ligar uma opção da equipe. |
409 | Espaço "Um formulário" que já tem um. |
422 | Árvore, título, URL, senha ou responsáveis inválidos (com cada caminho em `errors`). |
Ejemplo con 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 '{}'