# Validator V1 (Descontinuado)

{% hint style="info" %}
A funcionalidade Validator V1 foi descontinuada e não recebe mais atualizações. Por favor, acesse o documento com a versão mais recente da funcionalidade: [Validator V2](/documentation/connectors-and-triggers/pt-br/connectors/tools/validator-v2.md).
{% endhint %}

O **Validator** tem a função de analisar um JSON de entrada e compará-lo ao *schema* fornecido, para que seja criada uma validação dentro de seu *pipeline* e interrompa o fluxo se a estrutura não estiver de acordo com o declarado.

*JSON Schema* é um vocabulário bastante difundido no mercado, que permite validar documentos JSON. [Para saber mais, visite a documentação oficial do JSON](https://json-schema.org/).

## Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados com `(DB)`.

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th width="206">Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>JSON Schema</strong></td><td>Definição JSON Schema que valida o JSON.</td><td>N/A</td><td>JSON</td></tr></tbody></table>

## Fluxo de mensagens <a href="#h_b973e0f591" id="h_b973e0f591"></a>

### Entrada <a href="#h_0e8e92558e" id="h_0e8e92558e"></a>

O componente aceita mensagens de entrada do tipo JSON para realizar a validação.

```
{
   "data": [
       {
           "product": "Samsung 4k Q60T 55",
           "price": 3278.99
       },
       {
           "product": "Samsung galaxy S20 128GB",
           "price": 3698.99
       }
   ]
}
```

### Saída <a href="#h_a5ce7d5374" id="h_a5ce7d5374"></a>

O componente não altera nenhuma informação da mensagem de entrada quando o *JSON Validator* estiver de acordo com *JSON Schema*. Portanto, a mensagem é retornada para o componente seguinte ou é utilizada como resposta final se esse componente for o último passo do *pipeline*.

```
{
   "data": [
       {
           "product": "Samsung 4k Q60T 55",
           "price": 3278.99
       },
       {
           "product": "Samsung galaxy S20 128GB",
           "price": 3698.99
       }
   ]
}
```

## Validator em ação <a href="#h_be2ba24eca" id="h_be2ba24eca"></a>

Veja abaixo como o componente se comporta em determinada situação e a sua respectiva configuração.

### **Informando um&#x20;*****schema*****&#x20;e enviando um JSON que não atende aos requisitos**

Configure o componente com o seguinte *schema*:

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "price": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "price"
  ]
}
```

Depois, envie o seguinte JSON para o componente:

#### **Entrada**

```
{
    "name": "Samsung galaxy S20 128GB",
    "price": 3698.99
}
```

#### **Saída**

```
{
  "timestamp": 1614186691087,
  "error": "Failed to validate message. #Validation: error: object has missing required properties ([\"product\"])\n    level: \"error\"\n    schema: {\"loadingURI\":\"#\",\"pointer\":\"\"}\n    instance: {\"pointer\":\"\"}\n    domain: \"validation\"\n    keyword: \"required\"\n    required: [\"price\",\"product\"]\n    missing: [\"product\"]\n",
  "code": 400
}
```

### **Informando um&#x20;*****schema*****&#x20;e enviando um JSON que atende aos requisitos**

Configure o componente com o seguinte *schema*:

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": [
        {
          "type": "object",
          "properties": {
            "product": {
              "type": "string"
            },
            "price": {
              "type": "number"
            }
          },
          "required": [
            "product",
            "price"
          ]
        },
        {
          "type": "object",
          "properties": {
            "product": {
              "type": "string"
            },
            "price": {
              "type": "number"
            }
          },
          "required": [
            "product",
            "price"
          ]
        }
      ]
    }
  },
  "required": [
    "data"
  ]
}
```

Depois, envie o seguinte JSON para o componente:

#### Entrada <a href="#h_2772aafb26" id="h_2772aafb26"></a>

```
{    
    "product": "Samsung galaxy S20 128GB",    
    "price": 3698.99
}
```

#### Saída <a href="#h_38fea8cd86" id="h_38fea8cd86"></a>

```
{    
    "product": "Samsung galaxy S20 128GB",    
    "price": 3698.99
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/tools/validator-v1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
