Instrução condicional (if, then, else)

Última atualização em 2023-05-24
  • Tópicos
  • Journeys
    Exibir mais informações sobre este tópico
  • Criado para:
  • Experienced
    Developer

A instrução condicional (if, then, else) é compatível com o editor avançado. Ele permite definir expressões mais complexas. Ele é composto pelos seguintes elementos:

  • if: a condição a ser avaliada primeiro.
  • then: a expressão a ser avaliada caso o resultado da avaliação da condição seja true.
  • else: a expressão a ser avaliada caso o resultado da avaliação da condição seja falso.
OBSERVAÇÃO

São necessários parênteses em todas as expressões.

if  (<expression1>)
then
   (<expression2>)
else
   (<expression3>)

<expression1> deve retornar um booleano.

<expression2> e <expression3> deve ter o mesmo tipo ou tipos compatíveis. As assinaturas compatíveis e os tipos retornados são:

boolean,boolean : boolean
dateTime,dateTime : dateTime
dateTimeOnly,dateTimeOnly : dateTimeOnly
decimal,integer : decimal
integer,decimal : integer
integer,decimal : decimal
duration,duration : duration
string,string : string
listBoolean,listBoolean : listBoolean
listDateTime,listDateTime : listDateTime
listDateTimeOnly,listDateTimeOnly : listDateTimeOnly
listDateOnly,listDateOnly : listDateOnly
listDecimal,listDecimal : listDecimal
listInteger,listInteger : listInteger
listString,listString : listString

Uso

A instrução condicional permite otimizar o workflow de jornada reduzindo o número de atividades de condição. Por exemplo, na mesma atividade de ação, é possível especificar duas alternativas para uma definição de campo usando apenas uma expressão de condição.

Exemplo de uma atividade de ação (para um campo que espera uma string como o resultado da instrução condicional):

if (startWithIgnoreCase(@{eventiOSPushPermissionAllowed.device.model}, 'iPad') or startWithIgnoreCase(@{eventiOSPushPermissionAllowed.device.model}, 'iOS'))
then
   ('apns')
else
   ('fcm')

Nesta página