Skip to main content

Formulários

CRUD completo para formulários — conjuntos de perguntas que podem ser aplicados por uma URA durante o atendimento.

Endpoints

MétodoRotaDescrição
GET/api/v1/formulariosLista formulários
POST/api/v1/formulariosCria um formulário
GET/api/v1/formularios/{formulario}Exibe um formulário
PUT/PATCH/api/v1/formularios/{formulario}Atualiza um formulário
DELETE/api/v1/formularios/{formulario}Remove um formulário

Filtros de listagem

search, is_active.

Campos

CampoTipoObrigatórioDescrição
namestring, max 255SimNome do formulário.
descriptionstringNãoDescrição do formulário.
is_activebooleanNãoPadrão: conforme cadastro.
questionsarray (mín. 1 item)SimLista de perguntas do formulário.

Cada item de questions

CampoTipoObrigatórioDescrição
questionstringSimTexto da pergunta.
keystring, max 64SimIdentificador único da pergunta dentro do formulário (^[a-z0-9_]+$).
typestringSimtext, number, boolean, date ou select.
optionsstringCondicionalObrigatório quando type é select (lista de opções).
requiredbooleanNãoSe a pergunta é obrigatória durante o preenchimento.

Exemplos com curl

Listar formulários

curl "$ROUXINOL_URL/api/v1/formularios?is_active=true" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"

Criar um formulário

curl -X POST "$ROUXINOL_URL/api/v1/formularios" \
-H "Authorization: Bearer $ROUXINOL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Qualificação de Lead",
"is_active": true,
"questions": [
{ "question": "Qual seu nome completo?", "key": "nome", "type": "text", "required": true },
{ "question": "Já é cliente?", "key": "ja_e_cliente", "type": "boolean", "required": true },
{ "question": "Qual serviço procura?", "key": "servico", "type": "select", "options": "Voz,WhatsApp,Ambos", "required": true }
]
}'

Exibir um formulário

curl "$ROUXINOL_URL/api/v1/formularios/7" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"

Atualizar um formulário

curl -X PATCH "$ROUXINOL_URL/api/v1/formularios/7" \
-H "Authorization: Bearer $ROUXINOL_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "is_active": false }'

Remover um formulário

curl -X DELETE "$ROUXINOL_URL/api/v1/formularios/7" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"