# Registrar motivos

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

## 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 motivos de cancelamento
    ]
}
```

{% 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 agentes de coleta. 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 motivo de cancelamento

| Campo              | Descrição                                                                                                                                                  | Tipo  | Obrigatório |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | ----------- |
| **codigo**         | Código do motivo                                                                                                                                           | Texto | SIM         |
| **motivo**         | Descrição da justificativa de cancelamento                                                                                                                 | Texto | SIM         |
| exige\_foto        | <p>Exige que o agente de coleta faça uma foto ao selecionar o motivo de cancelamento. </p><p><strong>0</strong> - Não; </p><p><strong>1</strong> - Sim</p> | Texto | NÃO         |
| envia\_notificacao | <p>Indica se o sistema enviará uma notificação quando o motivo for utilizado.</p><p><strong>0</strong> - Não; </p><p><strong>1</strong> - Sim</p>          | Texto | NÃO         |
| gravidade          | <p>Grau de gravidade da notificação: </p><p><strong>A</strong> = Alta;</p><p><strong>M</strong> = Média;</p><p><strong>B</strong> = Baixa</p>              | Texto | NÃO         |
| bloqueado          | <p>Indica se o registro deve ser bloqueado para atualizaçoes pela API: </p><p><strong>1 (um)</strong> - Sim; </p><p><strong>0 (zero)</strong> - Não.</p>   | Texto | NÃO         |

{% hint style="info" %}
**codigo**: O campo código deverá ser preenchido com o mesmo código  já cadastrado no ERP, esta propriedade é utilizada para localizar os registros na base de dados da Plataforma Milk's e direcionar as operações CRUD.

A propriedade ***"deleted"*** é utilizada para comandar o processo de atualização, inclusão ou exclusão lógica do registro. Caso seu valor seja **"0" (zero)** e o registro não tenha sido encontrado, ele será criado. Se for encontrado, o valor será atualizado e se o valor for "**1" (um)**, o conteúdo será excluído logicamente da base de dados.&#x20;
{% endhint %}

## Exemplo de requisição

```javascript
{
    "conta_id": 9999,
    "token": "s0637r",
    "doc": "99.999.999/9999-90",
    "data": [
        {
            "codigo": "001",
            "motivo": "LAMA NA ESTRADA",
            "gravidade": "B"
        },
        {
            "codigo": "002",
            "motivo": "ESTRADA INTERROMPIDA",
            "gravidade": "B"
        },
        {
            "codigo": "003",
            "motivo": "QUEBRA DO CAMINHAO",
            "gravidade": "B"
        },
        {
            "codigo": "004",
            "motivo": "",
            "gravidade": "B"
        },
        {
            "codigo": "005",
            "motivo": "CAPACIDADE DO VEICULO ATINGIDA",
            "gravidade": "B"
        },
        {
            "codigo": "006",
            "motivo": "ORDENHA EM PRODUCAO",
            "gravidade": "B"
        },
        {
            "codigo": "007",
            "motivo": "NAO DEU MEDIDA DE REGUA",
            "gravidade": "B"
        },
        {
            "codigo": "008",
            "motivo": "TANQUE COM LEITE CONGELADO",
            "gravidade": "B"
        },
        {
            "codigo": "009",
            "motivo": "TANQUE VAZIO",
            "gravidade": "B"
        }
    ]
}
```

## 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
{
    "succes": true,
    "message": "OK",
    "data": [ // Falhas de importação
        {
            "codigo": "004", // Código do agente não importado
            "error_message": "Motivo 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/espanol/milks-rota/motivo-de-cancelamento/enviar-motivo.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.
