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étodo | Caminho | Descrição |
|---|---|---|
| GET | /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions | Lista as perguntas da área |
| POST | /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions | Cadastra 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}/options | Lista as opções da pergunta |
| POST | /operational/surveys/{survey_uuid}/areas/{survey_area_id}/questions/{survey_question_id}/options | Cadastra 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âmetro | Obrigatório | Descrição |
|---|---|---|
| survey_uuid | Sim | uuid da pesquisa |
| survey_area_id | Sim | id da área |
| column | Não | Coluna de ordenação, com o nome da tabela (por exemplo, surveys_questions.sort_order) |
| order | Não | Direção da ordenação: asc ou desc |
| per_page | Não | Quantidade de registros por página. Se omitido, a lista vem completa |
| page | Não | Nú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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| question_type_id | Sim | Número inteiro | Tipo de pergunta. Use o id de GET /operational/surveys/questions-types |
| label | Sim | Texto | Texto da pergunta |
| help_text | Não | Texto | Texto de auxílio exibido junto à pergunta |
| sort_order | Não | Número inteiro | Posição da pergunta na área. Se omitido, a pergunta vai para o fim da área |
| required | Não | Booleano | Indica se a pergunta precisa ser respondida. Padrão: true |
| weight | Não | Número | Peso 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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| question_type_id | Não | Número inteiro | Tipo de pergunta. Use o id de GET /operational/surveys/questions-types |
| label | Não | Texto | Texto da pergunta |
| help_text | Não | Texto | Texto de auxílio exibido junto à pergunta |
| sort_order | Não | Número inteiro | Posição da pergunta na área |
| required | Não | Booleano | Indica se a pergunta precisa ser respondida |
| weight | Não | Número | Peso 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âmetro | Obrigatório | Descrição |
|---|---|---|
| survey_uuid | Sim | uuid da pesquisa |
| survey_area_id | Sim | id da área |
| survey_question_id | Sim | id da pergunta |
| column | Não | Coluna de ordenação, com o nome da tabela (por exemplo, surveys_questions_options.sort_order) |
| order | Não | Direção da ordenação: asc ou desc |
| per_page | Não | Quantidade de registros por página. Se omitido, a lista vem completa |
| page | Não | Nú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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| label | Sim | Texto | Texto da opção, mostrado ao respondente |
| value | Sim | Texto | Valor da resposta |
| sort_order | Sim | Número inteiro | Posição da opção na pergunta |
| score_value | Não | Número | Pontos 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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| label | Não | Texto | Texto da opção |
| value | Não | Texto | Valor da resposta |
| sort_order | Não | Número inteiro | Posição da opção na pergunta |
| score_value | Não | Número | Pontos 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."}.