# Enviar resultados

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

## Requisição

### Dados da requisição

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

{% 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.

**token**: Deve ser informado o Token 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 cadastra. Pode ser encontrado na tela ***"Sua conta"*** no menu principal do painel Milk's Rota.

**data**: Lista que deve conter um ou mais registros de resultados de análise obtidos do laboratório externo. Cada registro  pode ser informando com a relação de propriedades detalhadas abaixo. Apenas os campos obrigatórios não podem ser ignorados.
{% endhint %}

### Propriedades do agente de coleta

| Campo           | Descrição                                                   | Tipo           | Obrigatório |
| --------------- | ----------------------------------------------------------- | -------------- | ----------- |
| **conta**       | Código de registro da conta da empresa na plataforma Milk's | Texto          | SIM         |
| **produtor**    | Código do produtor a quem pertence o resultado              | Texto          | SIM         |
| tanque          | Código do tanque de onde foi obtida a amostra para análise  | Texto          | NÃO         |
| fazenda         | Código da fazenda onde se produz o leite da amostra         | Texto          | NÃO         |
| laboratorio     | Nome do laboratório onde foram feitas as análises           | Texto          | NÃO         |
| codigo\_os      | Código da ordem de serviço enviada ao laboratório           | Texto          | NAO         |
| codigo\_analise | Código de identificação da análise                          | Texto          | NAO         |
| teor\_gordura   | indicador do teor de gordura obtido no exame                | Decimal (10,2) | NÃO         |
| **ccs**         | Indicador de CCS obtido na análise                          | Decimal (10,2) | SIM         |
| **ufc**         | Indicador de UFC (CPP) obtido na análise                    | Decimal (10,2) | SIM         |
| proteinas       | Indicador de proteínas obtido na análise                    | Decimal (10,2) | NÃO         |
| esd             | Indicador de ESD obtido na análise                          | Decimal (10,2) | NÃO         |
| lactose         | Indicador de lactose obtido na análise                      | Decimal (10,2) | NÃO         |
| solido          | Indicador de sólidos totais obtido na análise               | Decimal (10,2) | NÃO         |
| acidez          | Indicador de acidez obtido na análise                       | Decimal (10,2) | NÃO         |
| densidade       | Indicador de densidade obtido na análise                    | Decimal (10,2) | NÃO         |
| criscopia       | Indicador de crioscopia obtido na análise                   | Decimal (10,2) | NÃO         |
| **dt\_coleta**  | Data da coleta da amostra                                   | DateTime       | SIM         |
| **dt\_analise** | Data de realização da análise                               | DateTime       | SIM         |

{% hint style="info" %}
**Importação direta dos laboratórios do RBQL**: Alguns laboratórios da rede possuem uma API de integração que permitem a importação direta dos resultados de ordens de serviço enviadas. A Plataforma Milk's tem, até o momento, a rotina já integrada para a **Clínica do Leite (ESALQ)** e **CPA (Goiás).** Pode-se utilizar a interface do painel de monitoramento da plataforma para obter e importar os resultados sem a necessidade de se escrever uma rotina de alimentação vinda do ERP.
{% endhint %}

## Exemplo de requisição

```javascript
{
    "conta_id": 9999,
    "token": "s0637r",
    "doc": "99.999.999/9999-90",
    "data": [
        {
            "produtor": "1152",
            "tanque": "",
            "fazenda": "",
            "dt_coleta": "2021-01-03 10:00:00",
            "dt_analise": "2021-01-10 14:00:00",
            "laboratorio": "EMBRAPA GADO DE LEITE",
            "codigo_os": "OS_9001/2021",
            "codigo_analise": "123456",
            "teor_gordura": "12.6",
            "ccs": "300",
            "ufc": "400",
            "proteinas": "3.9",
            "esd": "12.9",
            "lactose": "",
            "solido": "",
            "acidez": "",            
            "densidade": "",
            "crioscopia": "0.540"            
        }
    ]
}
```

## Resposta

### 200: Importação realizada

```javascript
{
    "success": true,
    "message": "OK",
    "data": null,
    "monitor.time": 1.1079120636
}
```

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

### 200: Importação com falhas

```javascript
{
    "succes": true,
    "message": "OK",
    "data": [ // Falhas de importação
        {
            "produtor": "1152", // Código do produtor não importado
            "error_message": "Valor de CCS inválido", // mensagem de erro
            "error_code": 40003 // código do erro
        }
    ],
    "monitor.time": 2.14737200737 // Tempo de execução
}
```

{% 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 %}


---

# 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.milksrota.com.br/milks-rota/analise-de-qualidade/enviar-resultados.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.
