Saltar al contenido

Cria uma pesquisa (rascunho)

POST/api/surveys

Auth
Requiere token
Clave de API:
surveys:write
X-CommunityId
X-CommunityId Enví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.

Owner e admin. Precisa do `spaceId` de um espaço de pesquisas da comunidade. Nasce rascunho, invisível para todos, inclusive pelo link. Com `template` e sem `sections`, recebe as seções e perguntas do modelo no idioma da comunidade. O `publicToken` é gerado na criação; o link só responde com `publicLinkEnabled` e depois de aberta.

Headers

NombreTipoDescripción
X-CommunityIdopcionalstring (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

NombreTipoDescripción
spaceIdopcionalstring (uuid)**Obrigatório na criação.** Um espaço do módulo `surveys` da comunidade do header (outro módulo, outra comunidade ou apagado: 422 em `spaceId`). Num espaço "Uma pesquisa" (`moduleConfig.mode = single`) que já tem uma, 409. Na edição (só no rascunho), move a pesquisa para outro espaço de pesquisas, com as mesmas regras.
titleopcionalstringmax 200
descriptionopcionalstringmax 5000
templateopcionalnps | csat | event | course | enps | blankSó na criação: sem `sections`, a pesquisa nasce com as do modelo, no idioma da comunidade.
anonymityopcionalIDENTIFIED | ANONYMOUS
publicLinkEnabledopcionalboolean
startsAtopcionalstring (date-time)Início da coleta (opcional). Abrir com ele no futuro agenda a pesquisa.
closesAtopcionalstring (date-time)Fim da coleta (opcional), depois de `startsAt`.
responseModeopcionaloptional | required | immediate
sectionsopcionalobject[]
sections[].idopcionalstring (uuid)
sections[].positionopcionalinteger
sections[].titleobligatoriostringmax 200
sections[].descriptionopcionalstring
sections[].questionsopcionalobject[]
sections[].questions[].idopcionalstring (uuid)
sections[].questions[].sectionIdopcionalstring (uuid)
sections[].questions[].positionopcionalinteger
sections[].questions[].typeobligatorioSINGLE_CHOICE | MULTIPLE_CHOICE | SCALE | NPS | TEXT
sections[].questions[].titleobligatoriostringmax 500
sections[].questions[].helpopcionalstringmax 1000
sections[].questions[].requiredopcionalboolean
sections[].questions[].optionsopcionalobject[]
sections[].questions[].minopcionalinteger
sections[].questions[].maxopcionalinteger
sections[].questions[].minLabelopcionalstring
sections[].questions[].maxLabelopcionalstring
sections[].questions[].displayopcionalnumbers | stars | short | long
groupByPrimaryGroupopcionalbooleanSó anônima e só no rascunho (identificada: 422 `groupingAnonymousOnly`; mudar para identificada desliga). Aceito e guardado, mas sem efeito até o mapa de calor anônimo chegar.
recurrenceopcionalobjectSó no rascunho (aberta ou agendada: 422 `recurrenceDraftOnly`; numa rodada: 422 `recurrenceRoundCannotRepeat`). Um objeto liga a repetição (ou muda a agenda) e a primeira rodada abre na próxima data depois de agora (ou de `startsAt`); a pesquisa recorrente continua editável e cada mudança vale só para as próximas rodadas. `null` desliga: sem rodadas, volta a ser rascunho comum; com rodadas, encerra a repetição. Encerrada: 422 `recurrenceEnded`.

Respuestas

CódigoDescripción
201Criada.
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.
409O espaço é "Uma pesquisa" e já tem a sua (`errors[0].param = spaceId`).
422Sem `spaceId` ou espaço que não é de pesquisas da comunidade (`errors[0].param = spaceId`); árvore inválida (cada problema com o caminho em `errors[].param`, ex.: `sections[1].questions[0].options`), mais de 20 seções ou 100 perguntas, modelo desconhecido.
500Erro interno do servidor.

Ejemplo con curl

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