Aller au contenu

Responde pelo link público

POST/api/public/surveys/{publicToken}/responses

Auth
Public
Clé d’API:
Clé d’API non acceptée
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.

Login opcional. Quem tem perfil na comunidade da pesquisa responde **como membro** (deduplicado pelo perfil, 409 na segunda vez, em qualquer navegador) e não manda `visitorToken` nem `altcha`. Os demais são **visitante**: `visitorToken` (aleatório, um por pesquisa, guardado no navegador; o servidor guarda só o hash, sem horário e sem ligação com a resposta; o mesmo token de novo é 409 — deduplicação por esforço, não garantida) e `altcha` (o payload do widget ALTCHA, resolvido sobre o desafio de `GET /api/public/surveys/{publicToken}/challenge`; ausente, inválido, de outra pesquisa, vencido ou já usado é 422 com `param = altcha`). Limite de 300 envios por IP e pesquisa em 10 minutos e teto de 5.000 respostas de visitante por pesquisa: acima, 429. Link desligado, rascunho ou token inválido: 404; encerrada ou ainda não começou (`notYetOpen`): 422. Esta rota não aparece em log de acesso, Sentry, log da comunidade nem analytics, e o IP não vai ao banco.

Paramètres

NomEmplacementTypeDescription
publicTokenobligatoirepathstring

Corps de la requête application/json

NomTypeDescription
answersobligatoireobject[]
answers[].questionIdobligatoirestring (uuid)
answers[].optionValuesfacultatifstring[]
answers[].numberfacultatifinteger
answers[].textfacultatifstringmax 5000
visitorTokenfacultatifstringSó visitante. · min 16, max 200
altchafacultatifstringSó visitante: o payload do widget ALTCHA (base64 de `{ challenge, solution }`). · max 8192

Réponses

StatutDescription
201Resposta gravada. `data.respondAs`: `member` ou `visitor`.
400Requisição inválida — falha de validação.
404Recurso não encontrado.
409Conflito com o estado atual do recurso.
422Respostas inválidas, `visitorToken` ausente, `altcha` ausente, inválido, vencido ou já usado, pesquisa encerrada ou ainda não começou.
429Limite por IP e pesquisa, ou teto de respostas de visitante.
500Erro interno do servidor.
503Verificação indisponível (API sem chave ALTCHA).

Exemple curl

curl -X POST "https://api.memberfy.net/api/public/surveys/<publicToken>/responses" \
  -H "Content-Type: application/json" \
  -d '{"answers":[{}]}'