create_rule
Criar regra textual determinística de categorização.
Regras de classificação · Criar · Escrita local
Efeito da chamada
Esta ferramenta altera dados locais da instalação. Confirme a ação e o espaço com o proprietário antes de enviar confirmed: true e uma chave de idempotência. Ela não altera registros nem executa pagamentos no banco.
Parâmetros
| Campo | Obrigatório | Tipo | Uso |
|---|---|---|---|
confirmed | Sim | true | Deve ser true somente depois da confirmação explícita do proprietário. |
idempotency_key | Sim | texto | Chave única para esta solicitação. Reutilize apenas para repetir exatamente a mesma operação. |
spaceId | Sim | texto | Espaço da instalação. Consulte get_spaces; o espaço inicial é personal. |
accountId | Não | texto ou null | ID de conta devolvido por get_accounts. Padrão: null. |
categoryId | Sim | texto | ID de categoria devolvido por get_categories no mesmo espaço. |
direction | Não | "DEBIT" / "CREDIT" ou null | Direção DEBIT ou CREDIT. Ela não determina, sozinha, despesa ou receita. Padrão: null. |
enabled | Não | booleano | Define se a regra ou preferência está habilitada. Padrão: true. |
filter | Não | objeto ou null | Filtro composto da ferramenta; veja objetos, alternativas e condições no schema. Padrão: null. |
name | Sim | texto | Nome de exibição do registro. |
priority | Não | inteiro | Prioridade da regra. Dentro do mesmo grupo, números menores vêm primeiro. Padrão: 100. Máximo: 1000. Mínimo: 0. |
text | Não | texto | Texto literal de busca ou condição. Confira as regras de comparação da ferramenta. Padrão: "". |
Filtros compostos e limites estão no schema completo. Campos não listados são recusados.
Exemplo de chamada
Substitua os IDs fictícios pelos da sua instalação, obtidos nas consultas indicadas nos parâmetros.
{
"name": "create_rule",
"arguments": {
"confirmed": true,
"idempotency_key": "docs:create_rule:01",
"spaceId": "personal",
"categoryId": "categoryId-exemplo",
"name": "Mercado de exemplo",
"text": "MERCADO"
}
}
Interpretar o resultado
Confira o resultado da chamada antes de dar a alteração como concluída. Se a rede falhar, repita somente os mesmos argumentos com a mesma chave. Atualize a leitura se a revisão estiver obsoleta antes de confirmar outra operação.
O registro desta ferramenta não declara outputSchema. Consulte as regras de resposta no guia de contratos.
Contrato completo
Ver JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"confirmed": {
"type": "boolean",
"const": true
},
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"accountId": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
},
"categoryId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"direction": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"DEBIT",
"CREDIT"
]
},
{
"type": "null"
}
]
},
"enabled": {
"default": true,
"type": "boolean"
},
"filter": {
"default": null,
"anyOf": [
{
"type": "object",
"properties": {
"alternatives": {
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"conditions": {
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "description"
},
"operator": {
"type": "string",
"enum": [
"contains",
"not_contains",
"equals",
"starts_with"
]
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "direction"
},
"operator": {
"type": "string",
"const": "equals"
},
"value": {
"type": "string",
"enum": [
"DEBIT",
"CREDIT"
]
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "status"
},
"operator": {
"type": "string",
"const": "equals"
},
"value": {
"type": "string",
"enum": [
"POSTED",
"PENDING"
]
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "accountId"
},
"operator": {
"type": "string",
"const": "equals"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "personId"
},
"operator": {
"type": "string",
"const": "equals"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "date"
},
"operator": {
"type": "string",
"enum": [
"equals",
"gte",
"lte"
]
},
"value": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"const": "amount"
},
"operator": {
"type": "string",
"enum": [
"equals",
"gte",
"lte"
]
},
"value": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,29})$"
}
},
"required": [
"field",
"operator",
"value"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"conditions"
],
"additionalProperties": false
}
},
"currency": {
"default": null,
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{3}$"
},
{
"type": "null"
}
]
}
},
"required": [
"alternatives"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"priority": {
"default": 100,
"type": "integer",
"minimum": 0,
"maximum": 1000
},
"text": {
"default": "",
"type": "string",
"maxLength": 240
}
},
"required": [
"confirmed",
"idempotency_key",
"spaceId",
"categoryId",
"name"
],
"additionalProperties": false
}
Voltar para Regras de classificação · Confirmações e contratos