Pular para o conteúdo principal

Perguntas e opções

Perguntas ficam dentro de uma área da pesquisa. Cada pergunta tem um tipo, que define como o respondente responde. As opções de resposta ficam dentro da pergunta, nos tipos que usam escolha. Corresponde às abas Perguntas e ao formulário de opção da tela Pesquisas de satisfação, do módulo Operacional.

A pesquisa é indicada pelo uuid no caminho. A área, a pergunta e a opção são identificadas pelo id numérico. O tipo de pergunta é informado pelo id obtido em GET /operational/surveys/questions-types, na página de Pesquisas de satisfação.

Endpoints​

MétodoCaminhoDescrição
GET/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questionsLista as perguntas da área
POST/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questionsCadastra uma pergunta na área
GET/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}Consulta uma pergunta
PUT/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}Altera uma pergunta
DELETE/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}Apaga uma pergunta
GET/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/optionsLista as opções da pergunta
POST/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/optionsCadastra uma opção na pergunta
GET/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}Consulta uma opção
PUT/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}Altera uma opção
DELETE/operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}Apaga uma opção

Perguntas​

GET /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions​

Lista as perguntas de uma área.

Parâmetros de URL

ParâmetroObrigatórioDescrição
survey_uuidSimuuid da pesquisa
survey_area_idSimid da área
columnNãoColuna de ordenação, com o nome da tabela (por exemplo, surveys_questions.sort_order)
orderNãoDireção da ordenação: asc ou desc
per_pageNãoQuantidade de registros por página. Se omitido, a lista vem completa
pageNãoNúmero da página, quando per_page é informado

Resposta (200). Com per_page, a resposta é paginada. Sem per_page, é uma lista direta. Cada item traz os campos da pergunta (id, survey_area_id, question_type_id, label, help_text, sort_order, required, weight), além de type (nome do tipo de pergunta), is_scoreable, area_name, survey_name, user_create_name e user_update_name.

curl -X GET "https://api.pedagogo.app/operational/surveys/<uuid-da-pesquisa>/areas/1/questions?per_page=15&page=1" \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao>"

POST /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions​

Cadastra uma pergunta na área. O servidor preenche o usuário que criou o registro.

Corpo

CampoObrigatórioTipoDescrição
question_type_idSimNúmero inteiroTipo de pergunta. Use o id de GET /operational/surveys/questions-types
labelSimTextoTexto da pergunta
help_textNãoTextoTexto de auxílio exibido junto à pergunta
sort_orderNãoNúmero inteiroPosição da pergunta na área. Se omitido, a pergunta vai para o fim da área
requiredNãoBooleanoIndica se a pergunta precisa ser respondida. Padrão: true
weightNãoNúmeroPeso numérico da pergunta. Padrão: 1

Resposta (200). A pergunta criada, com o id gerado.

curl -X POST https://api.pedagogo.app/operational/surveys/<uuid-da-pesquisa>/areas/1/questions \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-d '{"question_type_id": 1, "label": "Pergunta exemplo", "required": true, "weight": 1}'

GET /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}​

Consulta uma pergunta. Diferente da listagem, a resposta traz type como objeto, com id, type (nome) e is_scoreable.

Resposta (200). A pergunta, com o objeto type.

PUT /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}​

Altera uma pergunta. Os campos não enviados mantêm o valor atual.

Corpo

CampoObrigatórioTipoDescrição
question_type_idNãoNúmero inteiroTipo de pergunta. Use o id de GET /operational/surveys/questions-types
labelNãoTextoTexto da pergunta
help_textNãoTextoTexto de auxílio exibido junto à pergunta
sort_orderNãoNúmero inteiroPosição da pergunta na área
requiredNãoBooleanoIndica se a pergunta precisa ser respondida
weightNãoNúmeroPeso numérico da pergunta

Resposta (200). A pergunta após a alteração.

DELETE /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{id}​

Apaga uma pergunta. A exclusão é lógica.

Resposta (200): {"message": "Deleted successfully."}.

Opções de resposta​

GET /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options​

Lista as opções de uma pergunta.

Parâmetros de URL

ParâmetroObrigatórioDescrição
survey_uuidSimuuid da pesquisa
survey_area_idSimid da área
survey_question_idSimid da pergunta
columnNãoColuna de ordenação, com o nome da tabela (por exemplo, surveys_questions_options.sort_order)
orderNãoDireção da ordenação: asc ou desc
per_pageNãoQuantidade de registros por página. Se omitido, a lista vem completa
pageNãoNúmero da página, quando per_page é informado

Resposta (200). Com per_page, a resposta é paginada. Sem per_page, é uma lista direta. Cada item traz id, survey_question_id, label, value, sort_order, score_value, question_label, user_create_name e user_update_name.

POST /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options​

Cadastra uma opção de resposta na pergunta.

Corpo

CampoObrigatórioTipoDescrição
labelSimTextoTexto da opção, mostrado ao respondente
valueSimTextoValor da resposta
sort_orderSimNúmero inteiroPosição da opção na pergunta
score_valueNãoNúmeroPontos atribuídos à opção

Resposta (200). A opção criada, com o id gerado.

curl -X POST https://api.pedagogo.app/operational/surveys/<uuid-da-pesquisa>/areas/1/questions/1/options \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-d '{"label": "Opção exemplo", "value": "opcao-exemplo", "sort_order": 1, "score_value": 5}'

GET /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}​

Consulta uma opção de resposta.

Resposta (200). A opção.

PUT /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}​

Altera uma opção de resposta. Os campos não enviados mantêm o valor atual.

Corpo

CampoObrigatórioTipoDescrição
labelNãoTextoTexto da opção
valueNãoTextoValor da resposta
sort_orderNãoNúmero inteiroPosição da opção na pergunta
score_valueNãoNúmeroPontos atribuídos à opção

Resposta (200). A opção após a alteração.

DELETE /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options/{id}​

Apaga uma opção de resposta. A exclusão é lógica.

Resposta (200): {"message": "Deleted successfully."}.