> For the complete documentation index, see [llms.txt](https://docs.milksrota.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.milksrota.com.br/milks-rota/ponto-de-coleta/enviar-pontos-de-coleta.md).

# Enviar pontos de coleta

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

## Requisição

### Dados da requisição

```javascript
{
    "conta_id": "DDDDD",
    "token": "XXXX-XXXX-XXXX-XXXX",
    "doc": "99.999.999/9999-99",
    "programacao":"P-0006",
    "linha":"BR250",
    "data": [
        // lista de registros de pontos de coleta
    ]
}
```

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

**programacao:** Informe o código da programação cadastrada para uma linha especifica.

\
**linha:** Informe o código da linha vinculada a programação a que se referem os pontos de coleta

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

### Propriedades do ponto de coleta.

| **Campo**        | **Descrição**                                                                                                                                                                                | **Tipo** | **Obrigatório** |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------- |
| **codigo**       | Código único do ponto de coleta                                                                                                                                                              | Texto    | SIM             |
| **produtor  \*** | Código do produtor                                                                                                                                                                           | Texto    | SIM             |
| **fazenda  \***  | Código da fazenda                                                                                                                                                                            | Texto    | SIM             |
| **tanque  \***   | Código do tanque (Ponto de coleta)                                                                                                                                                           | Texto    | SIM             |
| horario          | Horário previsto da coleta                                                                                                                                                                   | Texto    | NÃO             |
| ordem            | Ordem de coleta na programação                                                                                                                                                               | Número   | NÃO             |
| coleta\_seletiva | <p>Indica se o volume coletado neste ponto deverá ser armazenado em compartimento específico no veículo de transporte:  </p><p><strong>1</strong> - Sim,</p><p><strong>0</strong> - Não.</p> | Número   | 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.

As propriedades marcadas com **(\*) asterisco,** são utilizadas para localizar os registros de relacionamento com as respectivas tabelas. O registro precisar existir na tabela relacionada para que o ponto de coleta seja importado.
{% endhint %}

### Exemplo de requisição

```javascript
{
    "conta_id": "9999",
    "token": "s0637r",
    "doc": "99.999.999/9999-99",
    "programacao":"P-0006",
    "linha":"BR250",
    "data": [
        {
            "codigo": "PC-0006/01",
            "produtor": "1178",
            "fazenda": "0013",
            "tanque": "0013",
            "ordem": "1",
            "horario": "06:00",
            "coleta_seletiva": "0"
        },
        {
            "codigo": "PC-0006/02",
            "produtor": "000386",
            "fazenda": "F386",
            "tanque": "000386",
            "ordem": "2",
            "horario": "06:45",
            "coleta_seletiva": "0"
        },
       
         {
            "codigo": "PC-0006/03",
            "produtor": "",
            "fazenda": "0037",
            "tanque": "0037",
            "ordem": "3",
            "horario": "07:25",
            "coleta_seletiva": "0"
        }
 
    ]
}

```

## Resposta

### 200: Registros importados

```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": "PC-0006/03", // Código do ponto de coleta não importada
            "error_message": "código do produtor 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&#x20;

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