# Registrar indicadores

> ## Método POST
>
> <http://app.milksrota.com.br/api/retaguardasync/writeParametroAnalise>

## Requisição

### Dados da requisição

```javascript
{
    "conta_id": "DDDDD",
    "doc": "99.999.999/0009-99,
    "token": "XXXX-XXXX-XXXX-XXXX",
    "data": [
        // lista de registros de indicadores
    ]
}
```

{% hint style="info" %}
**conta\_id**: Deve ser informado o ID da conta que você encontra na tela ***"Sua conta"*** no menu principal no painel do Milk's Rota.

**doc:** Deve ser informado o CNPJ da conta, que você encontra na tela ***"Sua conta"*** no menu principal no painel do Milk's Rota.

**token**: Deve ser informado o Token da conta, que você encontra na tela ***"Sua conta"*** no menu principal no painel do Milk's Rota.

**data**: Lista que deve conter um ou mais registros de  indicadores de qualidade. Cada registro de indicador de qualidade pode ser informando com a relação de propriedades detalhadas abaixo. Apenas os campos obrigatórios não podem ser ignorados.
{% endhint %}

### Propriedades dos indicadores de qualidade

| **Campo**                       | **Descrição**                                                                                                                                                   | **Tipo** | **Obrigatório**                       |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------- |
| **codigo**                      | Código do indicador                                                                                                                                             | Texto    | SIM                                   |
| **descricao**                   | Nome do indicador                                                                                                                                               | Texto    | SIM                                   |
| **deleted**                     | Se o registro deve ser excluído. Se enviar o valor **1** ele será excluído caso já exista na plataforma. Se for enviado **0** ele será reativado na plataforma. | Número   | SIM                                   |
| **tipo**                        | <p>Tipo de indicador de qualidade.</p><p> <strong>N</strong> = numéro;</p><p> <strong>L</strong> = Lista de opções. </p>                                        | Texto    | SIM                                   |
| valor\_minimo                   | Informar o valor mínimo aceito para o indicador                                                                                                                 | Texto    | Somente se o **tipo** for **"N"**     |
| valor\_maximo                   | Informar o valor máximo aceito para o indicador                                                                                                                 | Texto    | Somente quando o **tipo** for **"N"** |
| opcao\_referencia               | Indica que opção da lista é utilizada como referência para o resultado da análise                                                                               | Texto    | Somente quando o **tipo** for **"L"** |
| <ul><li>opcoes\_lista</li></ul> | lista de opções possíveis para o resultado do exame. **Deve vir com os valores separados por (;) ponto e vírgula**                                              | Texto    | Somente quando o **tipo** for **"L"** |
| ordem                           | ordem para apresentação no resultado                                                                                                                            | Texto    | NÃO                                   |

### Exemplo de requisição

```javascript
{
    "conta_id": 40001,
    "token": "s0909r",
    "doc": "99.999.999/0001-99",
    "data": [
        {
            "codigo": "105",
            "descricao": "Acidez ºD",           
            "tipo": "N", // Numérico
            "valor_minimo": "14.000",
            "valor_maximo": "17.000",
            "opcao_referencia": null,
            "opcoes_lista": null,
            "ordem": "1",
            "deleted": "0"
        },
        {
            "codigo": "106",
            "descricao": "Alizarol 80 ºGL",           
            "tipo": "L", // Lista
            "valor_minimo": null,
            "valor_maximo": null,
            "opcao_referencia": "ESTÁVEL",
            "opcoes_lista": "ESTÁVEL; INSTÁVEL;NÃO SE APLICA",
            "ordem": "2",
            "deleted": "0"
        }
        
    ]
}
```

## Resposta

### 200: Importação realizada

```javascript
{
  "succes": true,
    "message": "OK",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}  
```

{% hint style="success" %}
Os registros foram enviados para a plataforma Milk's e importados sem erro.
{% endhint %}

### 200: Importação com falhas

```javascript
{
    "success": true,
    "message": "OK",
    "data": {
        "rejeitados": [
            [
                {
                    "codigo": "",
                    "descricao": "PARAMETRO VINDO DA API",
                    "Status": "Não importado, falta código do registro !"
                }
            ]
        ],
        "importados": {
            "total": 0
        },
        "apagados": {
            "total": 0
        },
        "reativados": {
            "total": 0
        },
        "atualizados": {
            "total": 1,
            "0": "110"
        }
    },
    "monitor.time": 1.33903503418
}
```

{% hint style="info" %}
Os registros foram enviados para a plataforma Milk's e importados, entretanto, alguns registros não puderam ser importados.
{% endhint %}

### 404: Conta não localizada

```javascript
{    
    "success": false,
    "message": "Conta não localizada",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}
```

{% hint style="danger" %}
**O que isso significa?** Significa que o ID da conta não foi localizado na Plataforma Milk's.
{% endhint %}

### 403: Token inválido

```javascript
{
    "success": false,
    "message": "Token inválido",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}
```

{% hint style="danger" %}
**O que isso significa?** Significa que o token informado na requisição não corresponde ao token cadastrado para a conta.
{% endhint %}
