Formulários
CRUD completo para formulários — conjuntos de perguntas que podem ser aplicados por uma URA durante o atendimento.
Endpoints
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/v1/formularios | Lista formulários |
| POST | /api/v1/formularios | Cria 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string, max 255 | Sim | Nome do formulário. |
description | string | Não | Descrição do formulário. |
is_active | boolean | Não | Padrão: conforme cadastro. |
questions | array (mín. 1 item) | Sim | Lista de perguntas do formulário. |
Cada item de questions
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
question | string | Sim | Texto da pergunta. |
key | string, max 64 | Sim | Identificador único da pergunta dentro do formulário (^[a-z0-9_]+$). |
type | string | Sim | text, number, boolean, date ou select. |
options | string | Condicional | Obrigatório quando type é select (lista de opções). |
required | boolean | Não | Se 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"