Mutações
Criar Variável
Registra um novo campo tipado para captura de dados no FormFlow
Endpoint
POST /createVariable
Parâmetros
keyName
string
requiredNome canônico único do campo (ex: lead_email). Usado como chave de referência.
label
string
requiredRótulo legível do campo (ex: Email do Cliente).
dataType
string
requiredTipo de dado: text, number, boolean, integer, date, datetime, json, email, phone.
scope
string
requiredOnde o valor é armazenado: lead, conversation, global ou form.
description
string
Descrição do campo para contexto da IA.
required
boolean
default: "false"Se a captura do campo é obrigatória por padrão.
uniquePerScope
boolean
default: "true"Se true, sobrescreve o valor anterior. Se false, permite múltiplos valores (append).
validators
object
Fragmentos de JSON Schema para validação (ex: { "pattern": "^[0-9]+$" }).
timeToExpire
number
Duração em dias até o valor capturado expirar.
Exemplo
curl -X POST {BASE_URL}/createVariable \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"keyName": "lead_email",
"label": "Email do Cliente",
"dataType": "email",
"scope": "lead",
"required": true,
"validators": { "format": "email" }
}'
Resposta
{
"id": "uuid",
"host_id": "uuid",
"key_name": "lead_email",
"label": "Email do Cliente",
"description": null,
"data_type": "email",
"scope": "lead",
"validators": { "format": "email" },
"unique_per_scope": true,
"required": true,
"time_to_expire": null,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"deleted_at": null
}
Campos da Resposta
id
string
UUID da variável criada.
key_name
string
Nome canônico.
data_type
string
Tipo de dado.
scope
string
Escopo de armazenamento.
unique_per_scope
boolean
Estratégia de escrita: overwrite (
true) ou append (false).time_to_expire
number | null
Dias até expirar.
null = sem expiração.deleted_at
string | null
Preenchido em caso de soft delete.
Erros
| Código | Descrição |
|---|---|
400 | Campos obrigatórios ausentes ou keyName já existente |
401 | Token inválido ou ausente |
500 | Erro interno do servidor |