# Base de conhecimento

## Estrutura

```javascript
[
    {
        "default": {
            "type": "knowledge_base",
            "payload": {
                "base_id": "base_id || array",
                "intent": "<? intent ?>",
                "entity": "<? entities ?>",
                "no_answer_messages": [
                    "Desculpe!",
                    "Não encontrei respostas para a sua pergunta",
                    "delay": 2000
                ]
            }
        }
    }
]
```

### Atributos

* **type:** knowledge\_base
* **payload:**
  * **base\_id:** número identificador da base (Exemplo 1) || conjunto condicional (Exemplo 2)
  * **intent (default: `<? intent ?>`):** intenção que compõe a filtragem pelas respostas. Pode ser passada por variável de contexto, por exemplo: `$variavel_com_intent`
  * **entity (opcional, default: `<? entities ?>`):** entidades que irão compor a busca por uma resposta na base de conhecimento. Podem passar por variáveis de contexto, como por exemplo: `$variavel_com_entidade`
  * **no\_answer\_messages:** mensagem que é exibida ao usuário, caso uma resposta não seja encontrada, dadas as demais configurações do payload.
  * **delay (opcional):** tempo (milissegundos) de atraso antes da próxima opção aparecer. Sendo de 0 á 5000, se for inserido um valor acima de 5000 o delay é descartado.

## Exemplos

{% tabs %}
{% tab title="Exemplo 1" %}

```javascript
[
    {
        "default": {
            "type": "knowledge_base",
            "payload": {
                "intent": "<? intent ?>",
                "base_id": 1,
                "no_answer_messages": [
                    "Desculpe!",
                    "Não encontrei respostas para a sua pergunta"
                ]
            }
        }
    }
]
```

{% endtab %}

{% tab title="Exemplo 2" %}

```javascript
{
    "default": {
        "type": "knowledge_base",
        "payload": {
            "intent": "<? intent ?>",
            "base_id": [
                {
                    "base_id": 1,
                    "condition": "($variavel == 'valor' && ($variavel2 == 'valor2' || $variavel3 == 'valor3'))"
                },
                {
                    "base_id": 4,
                    "condition": "true"
                }
            ],
            "no_answer_messages": [
                "Desculpe!",
                "Não encontrei respostas para a sua pergunta"
            ]
        }
    }
}
```

{% endtab %}
{% endtabs %}
