onChange), ou calcular automaticamente o valor de um campo a partir de uma expressão envolvendo outros campos (gatilho onCalculate).PUT .../fields), e deve ser feita depois que os campos referenciados já existirem: as regras fazem referência aos campos pelo fieldId gerado pela API, que só existe após o campo ser criado.items associa um fieldId a um objeto rules com um trigger (onChange ou onCalculate) e uma das duas estruturas a seguir:operations (usado com onChange): uma lista de operações, cada uma com conditions (uma ou mais condições sobre valores de campos) e actions (as ações aplicadas quando as condições são satisfeitas). Operadores de condição aceitos: =, !=, >, >=, <, <=, in, not_in, is_empty, is_not_empty, contains e not_contains. Ações aceitas: show, hide, setRequired, setOptional, clearValue e setValue.calculation (usado com onCalculate): uma expressão matemática livre (expression) referenciando outros campos pelo seu identificador, um campo de destino (targetFieldId), a precisão decimal do resultado (precision) e se o campo calculado permanece editável manualmente (editable).select, radio ou checkList, o valor armazenado é sempre um array — mesmo quando apenas uma opção é selecionada. Utilize o operador in com um valor em array (por exemplo, ["Sim"]) para esses tipos, em vez de = com uma string simples.value de uma condição deve estar presente mesmo em operadores unários como is_empty e is_not_empty, que não o utilizam semanticamente — nesses casos, envie uma string ou array vazio.curl --location --request PUT '/v1/flows//phases//fields/rules' \
--header 'Content-Type: application/json' \
--data '{
"items": {
"items": [
{
"fieldId": "<id-do-campo-gatilho>",
"rules": {
"trigger": "onChange",
"active": true,
"operations": [
{
"conditions": [
{
"fieldId": "<id-do-campo-gatilho>",
"operator": "=",
"value": "Sim"
}
],
"actions": [
{
"type": "show",
"targetFieldId": "<id-do-campo-alvo>"
},
{
"type": "setRequired",
"targetFieldId": "<id-do-campo-alvo>"
}
]
},
{
"conditions": [
{
"fieldId": "<id-do-campo-gatilho>",
"operator": "=",
"value": "Não"
}
],
"actions": [
{
"type": "hide",
"targetFieldId": "<id-do-campo-alvo>"
},
{
"type": "setOptional",
"targetFieldId": "<id-do-campo-alvo>"
},
{
"type": "clearValue",
"targetFieldId": "<id-do-campo-alvo>"
}
]
}
]
}
}
]
}
}'{
"items": [
{
"fieldId": "string",
"rules": {}
}
]
}