# Registrar calendario

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

## 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 programação
    ]
}
```

{% 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 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 da programação

| **Campo**                | **Descrição**                                                                                                                                                   | **Tipo**    | **Obrigatório** |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | --------------- |
| **codigo**               | Código da rota                                                                                                                                                  | Texto       | SIM             |
| **linha \***             | Código da linha de coleta                                                                                                                                       | Texto       | SIM             |
| **dt\_vigencia\_inicio** | Data de vigência inicial da programação                                                                                                                         | Data e Hora | SIM             |
| **dt\_vigencia\_fim**    | Data da vigência final da programação                                                                                                                           | Data e hora | 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      | 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.

* **linha*****:*** Esta  propriedade  é utilizada para associar a linha de coleta na tabela "*linha*" com com o registro da programação. Se  registro de linha não for localizado, o registro de programação não será importado. &#x20;
  {% endhint %}

### Exemplo de requisição

```javascript
{
    "conta_id": "9999",
    "token": "s0637r",
    "doc": "99.999.999/9999-99",
    "data": [
        {
            "codigo": "P-0006",
            "linha":"BR250",
            "dt_vigencia_inicio": "2020-08-01 00:00:01",
            "dt_vigencia_fim": "2030-08-01 23:59:59",
            "deleted": "0"
        },
         {
            "codigo": "P-0007",
            "linha":"",
            "dt_vigencia_inicio": "2020-08-01 00:00:01",
            "dt_vigencia_fim": "2030-08-01 23:59:59",
            "deleted": "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": "P-0007", // Código da programação não importada
            "error_message": "código do linha 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 %}
