ALTU
Search…
Lista modal
Exibe um lista de opções que ocupa, por completo, a tela do chat.

Estrutura

1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "pergunta",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "valor da opção 1"
10
},
11
{
12
"title": "opção 2",
13
"value": "valor da opção 2"
14
},
15
{
16
"title": "opção 3",
17
"value": "valor da opção 3"
18
}
19
],
20
"tries": 3,
21
"mandatory": true,
22
"error_message": [
23
"Você errou, tente novamente",
24
"Por favor tente uma última vez",
25
"Não consegui validar o seu cpf, tente novamente mais tarde"
26
]
27
}
28
}
29
}
Copied!

Atributos

  • type: option_list
  • payload:
    • pick: mensagem que será exibido no cabeçalho da lista de opções
    • multiple (default: false): se passado o valor true, o usuário poderá selecionar uma ou mais opções
      • Com múltipla seleção o input que é passado para o builder possui as opções selecionadas separadas por vírgula no text e um array no values. Ex:
        1
        {
        2
        "text": "option1,option2,option3",
        3
        "values": [
        4
        "option1",
        5
        "option2",
        6
        "option3"
        7
        ]
        8
        }
        Copied!
    • accentSensitive (opcional): Considera acentuações.
    • mandatory (default: true):booleano, determina se o usuário precisa escolher uma nota para avançar ou não.booleano
      • tries:(opcional) inteiro > 0, corresponde à quantidade de tentativas que queremos
      • error_message:(opcional) array de strings, corresponde as mensagens que serão exibidas sequencialmente após cada erro
    • error_message (default: Por favor, selecione uma opção da lista): mensagem de erro para quando o nó for obrigatório e o input não for válido.
    • fuzzyThreshold (default: 0.3): determina o quão próximo da opção da lista o usuário precisará digitar. Aceita valores de 0 a 1.
      • Para usar esse atributo é necessário setar o fuzzy: true.
      • Se 0, somente inputs exatos serão aceitos. Se 1, qualquer input será aceito.
      • A opção será considerada somente se o que o usuário digitar, tiver uma reconhecimento abaixo do threshold (maior precisão). Cabe a quem estiver programando o fluxo definir o melhor valor, na situação em que está trabalhando.
    • fuzzyMinMatchCharLength (default: 5): define a quantidade mínima de caracteres digitados para que possa retornar uma busca.
    • fuzzy (default: false): determina se irá utilizar a busca por aproximação, para detecção do input do usuário.
      • A busca difusa (fuzzy searching) é a técnica de encontrar strings que são aproximadamente iguais a um determinado padrão (em vez de exatamente).
      • Se true, o considerado em cada option, na busca pela aproximação, é o valor do title ou do value, e o que mais se aproximar daquilo que foi digitado pelo usuário será o resultado escolhido.
      • Para tanto, utilizamos a lib Fuse.js. O playground deles disponível aqui, permitirá que os programadores de fluxos testem as opções que disponibilizamos como, fuzzyMinMatchCharLength (minMatchCharLength, na Fuse.js) e fuzzyThreshold (threshold, na Fuse.js)
    • delay (opcional): tempo (milissegundos) de atraso antes da próxima opção aparecer.
    • options: opções que serão exibidas ao usuário a medida que ele digita
      • title: título (label) da opção que estará visível ao usuário
      • value: valor que será enviado ao Altu ao escolher a opção. Se não for definido, será passado o próprio title
A validação do input que é passado para o builder possui um valor boolean (true ou false).
1
{
2
"valid": true|false
3
}
Copied!

Exemplo

Exemplo
Preview no Widget
1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "Por favor, escolha uma das opções:",
6
"options": [
7
{
8
"title": "Como eu consulto minha conta de energia?",
9
"value": "Como eu consulto minha conta de energia?"
10
},
11
{
12
"title": "Como eu faço para religar minha energia?",
13
"value": "Como eu faço para religar minha energia?"
14
},
15
{
16
"title": "Como eu peço uma nova ligação de energia?",
17
"value": "Como eu peço uma nova ligação de energia?"
18
},
19
{
20
"title": "Outras",
21
"value": "Outras",
22
"cognitive": false
23
},
24
{
25
"title": "Quero encerrar a conversa",
26
"value": "Quero encerrar a conversa",
27
"cognitive": false
28
}
29
]
30
}
31
}
32
}
Copied!

Inverter Lista

Permite a inversão da ordem das opções, por exemplo:
1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "Pergunta do Modal",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "valor da opção 1"
10
},
11
{
12
"title": "opção 2",
13
"value": "valor da opção 2"
14
},
15
{
16
"title": "opção 3",
17
"value": "valor da opção 3"
18
},
19
{
20
"title": "opção 4",
21
"value": "valor da opção 4"
22
},
23
{
24
"title": "opção 5",
25
"value": "valor da opção 5"
26
}
27
],
28
"reverse": true
29
}
30
}
31
}
Copied!

Atributos

  • reverse: por padrão está definido como false, deve ser definido como true para alterar a sequência.

Exemplo:

1
5 - opção 5
2
4 - opção 4
3
3 - opção 3
4
2 - opção 2
5
1 - opção 1
Copied!
Caso o reverse não seja adicionado no payload ou seja definido um valor diferente de true , a ordem não será afetada.

Conversão para o canal ABC

Para utilizar, deve acessar as opções avançadas presente na edição de integrações da LivePerson. Lá terá um campo onde poderá ser feito o cadastro de um metadata, após isso é só utilizar o componente no builder que a conversão será feita automaticamente.
1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "seleciona ai",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "1",
10
"image": "url da imagem 1"
11
},
12
{
13
"title": "opção 2",
14
"value": "2"
15
"image": "url da imagem 2"
16
}
17
]
18
}
19
}
20
}
Copied!

Atributos:

  • title: título (label) da opção que estará visível ao usuário
  • value: valor que será enviado ao Altu ao escolher a opção. Se não for definido, será passado o próprio title
  • image: será inserido uma url de uma imagem que aparecerá no componente de ABC.
Essa funcionalidade serve apenas para canais ABC, os demais canais não utiliza o atributo image dos componentes option_list.

WhatsApp Zenvia

Para input do tipo Lista Modal com a quantidade de options menores ou iguais a 10, será usado o componente de lista que possui alguns campos extras que podem ser editados como o botão e o Título da lista, também é possível atrelar uma descrição para cada item.
Segue um exemplo de payload cujo botão e título da lista estão personalizados:
Estrutura
Visualização
1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "Qual item deseja escolher?",
6
"button": "Escolhas",
7
"sectionTitle": "Escolha um:",
8
"options": [
9
{
10
"title": "opção 1",
11
"value": "row1",
12
"description": "Descrição item 1"
13
},
14
{
15
"title": "opção 2",
16
"value": "row2",
17
"description": "Descrição item 2"
18
},
19
{
20
"title": "opção 3",
21
"value": "row3",
22
"description": "Descrição item 3"
23
},
24
{
25
"title": "opção 4",
26
"value": "row4",
27
"description": "Descrição item 4"
28
},
29
{
30
"title": "opção 5",
31
"value": "row5",
32
"description": "Descrição item 5"
33
}
34
]
35
}
36
}
37
}
Copied!
Caso os campos button e sectionTitle não forem usados, um texto padrão será exibido.
  • Para o button o texto padrão é: Opções
  • Para o sectionTitle o texto padrão é: Escolha uma opção
Estrutura
Visualização
1
{
2
"default": {
3
"type": "option_list",
4
"payload": {
5
"pick": "Escolha algo:",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "valor da opção 1"
10
},
11
{
12
"title": "opção 2",
13
"value": "valor da opção 2"
14
},
15
{
16
"title": "opção 3",
17
"value": "valor da opção 3"
18
},
19
{
20
"title": "opção 4",
21
"value": "valor da opção 4"
22
},
23
{
24
"title": "opção 5",
25
"value": "valor da opção 5"
26
}
27
]
28
}
29
}
30
}
Copied!
Caso a quantidade de opções ultrapasse o limite de 10, uma lista numérica será exibida.
1
Qual item deseja escolher?
2
3
4
1 - opção 1
5
2 - opção 2
6
3 - opção 3
7
4 - opção 4
8
5 - opção 5
9
6 - opção 6
10
7 - opção 7
11
8 - opção 8
12
9 - opção 9
13
10 - opção 10
14
11 - opção 11
15
12 - opção 12
Copied!
Pontos de atenção, os campos da lista tem tamanhos limitados:
  • button: 10 caracteres
  • sectionTitle: 24 caracteres
  • description: 72 caracteres
  • value: 24 caracteres
  • title: 24 caracteres
Caso o limite de algum desses for ultrapassado, o texto será cortado para o limite máximo esperado.

Skip Curatorship

Envie uma flag para indicar que a mensagem recebida naquele nó não deve ser enviada para a curadoria.
Exemplo 1
Exemplo 2
1
{
2
"default": {
3
"type": "select",
4
"payload": {
5
"pick": "pergunta",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "valor da opção 1"
10
},
11
{
12
"title": "opção 2",
13
"value": "valor da opção 2"
14
},
15
{
16
"title": "opção 3",
17
"value": "valor da opção 3"
18
}
19
],
20
"skip_curatorship": true
21
}
22
}
23
}
Copied!
1
{
2
"default": {
3
"type": "select",
4
"payload": {
5
"pick": "pergunta",
6
"options": [
7
{
8
"title": "opção 1",
9
"value": "valor da opção 1",
10
“skip_curatorship”: true
11
},
12
{
13
"title": "opção 2",
14
"value": "valor da opção 2",
15
“skip_curatorship”: true
16
},
17
{
18
"title": "opção 3",
19
"value": "valor da opção 3"
20
}
21
]
22
}
23
}
24
}
Copied!
  • Quando for setado true, a mensagem irá bater no cognitivo, mas a mensagem não será enviada para a área de curadoria.
  • Por default o seu valor é false.
  • Ele pode ser ativado para todas as opções do componente (exemplo 1) ou somente para uma opção em específica (exemplo 2).