# Enviar veículos

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

## 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 veículos
    ]
}
```

{% 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 veículos. Cada registro de veículo pode ser informando com a relação de propriedades detalhadas abaixo. Apenas os campos obrigatórios não podem ser ignorados.
{% endhint %}

### Propriedades do veículo

<table data-header-hidden><thead><tr><th width="294">Campo</th><th>Descrição</th><th>Tipo</th><th>Obrigatório</th></tr></thead><tbody><tr><td>Campo</td><td>Descrição</td><td>Tipo</td><td>Obrigatório</td></tr><tr><td><strong>codigo</strong></td><td>Código do veículo</td><td>Texto</td><td>SIM</td></tr><tr><td><strong>placa</strong></td><td>placa de identificação</td><td>Texto</td><td>SIM</td></tr><tr><td>tipo</td><td>Identifica o veículo quanto a seu tipo: <strong>V -</strong> Veículo simples<strong>; R -</strong> Reboque (julieta)</td><td>Texto</td><td>NÃO</td></tr><tr><td>fabricante</td><td>Nome do fabricante do veículo</td><td>Texto</td><td>NÃO</td></tr><tr><td>modelo</td><td>Modelo do veículo</td><td>Texto</td><td>NÃO</td></tr><tr><td>cor</td><td>Cor predominante</td><td>Texto</td><td>NÃO</td></tr><tr><td>ano</td><td>Ano de fabricação/Modelo</td><td>Texto</td><td>NÃO</td></tr><tr><td>categoria_cnh</td><td>Categoria mínima de habilitação requerida para condução do veículo</td><td>Texto</td><td>NÃO</td></tr><tr><td>peso_bruto</td><td>Peso total do veículo</td><td>Decimal</td><td>NÃO</td></tr><tr><td>peso_liquido</td><td>Peso líquido do veículo</td><td>Decimal</td><td>NÃO</td></tr><tr><td>bloqueado</td><td><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></td><td>Número</td><td>NÃO</td></tr><tr><td><strong>deleted</strong></td><td>Se o registro deve ser excluído. Se enviar o valor <strong>1</strong> ele será excluído caso já exista na plataforma. Se for enviado <strong>0</strong> ele será reativado na plataforma.</td><td>Texto</td><td>SIM</td></tr></tbody></table>

{% 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": "99999",
    "token": "b66c-78f2-fd62-e931",
    "doc": "99.999.999/9999-99",
    "data": [
        {
            "codigo": "5",
            "placa": "OPA-4421",
            "tipo": "V",
            "pesoBruto": "3100",
            "pesoLiquido": "17100",
            "capacidade": "14000",
            "deleted": "1"
        },
        {
            "codigo": "6",
            "placa": "AYJ-4801",
            "tipo": "V",
            "pesoBruto": "",
            "pesoLiquido": "",
            "capacidade": "",
            "deleted": "1"
        },
        {
            "codigo": "",
            "placa": "BCM-6572",
            "tipo": "V",
            "pesoBruto": "",
            "pesoLiquido": "",
            "capacidade": "",
            "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": "", // Código do veículo não importada
            "error_message": "código 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 %}
