# Registrar tanques

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

## Enviar solicitud al servidor

### Datos&#x20;

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

{% hint style="info" %}
**conta\_id**: Se debe informar el ID de cuenta que encuentra en la pantalla "Su cuenta" en el menú principal del panel de Milk's Rota.

**token**: Se debe informar el Token de la cuenta, el cual puedes encontrar en la pantalla "Su cuenta" en el menú principal del panel de Milk's Rota.

**doc:** Se debe informar el RUC de la cuenta registrada. Se puede encontrar en la pantalla "Su cuenta" en el menú principal del tablero de Milk's Rota.

**data**: Lista que debe contener uno o más registros de productores. Cada registro puede ser informado con la lista de propiedades que se detalla a continuación. Solo los campos obligatorios no se pueden omitir.
{% endhint %}

### Propriedades

| **Campo**                        | **Descripción**                                                                                                                                                                                                                                                           | **Tipo** | **Obrigatório** |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------- |
| **codigo**                       | código único para identificar el registro en el ERP.                                                                                                                                                                                                                      | Texto    | SIM             |
| **tipo**                         | Identifica el tipo de tanque: **F** - Tanque de granja (punto de recogida), **V** - Compartimiento del tanque del vehículo de transporte (boca), **P** - Tanque de plataforma (Globo o Silo).                                                                             | Texto    | SIM             |
| tipo\_leite                      | Tipo de leche a almacenar: **V**- Vaca; **C** - Cabra; **B** - Búfalo                                                                                                                                                                                                     | Texto    | NÃO             |
| fazenda                          | Código de granja cuando el tipo es "**F**"                                                                                                                                                                                                                                | Texto    | NÃO             |
| veiculo                          | Código de vehículo cuando el tipo es "**V**"                                                                                                                                                                                                                              | Texto    | NÃO             |
| **capacidade**                   | capacidad total de almacenamiento                                                                                                                                                                                                                                         | Número   | SIM             |
| perimetro                        | medición del perímetro                                                                                                                                                                                                                                                    | Decimal  | NÃO             |
| **volume**                       | Volumen total de almacenamiento                                                                                                                                                                                                                                           | Número   | SIM             |
| altura                           | medida de la altura                                                                                                                                                                                                                                                       | Decimal  | NÃO             |
| **comunitario**                  | Indica si el tanque es utilizado por más de un productor para almacenar leche: **1** - Sí; **0** - No                                                                                                                                                                     | Número   | SIM             |
| comunitario\_lancamento          | Quién distribuirá los volúmenes en los tanques comunitarios: **DC** - agente recaudador; **DP** - Panel de monitoreo; **DA** - Aplicación específica "Tanque de leches"                                                                                                   | Texto    | NÃO             |
| comunitario\_diferenca           | Cómo se tratará la distribución de la diferencia en los tanques comunitarios: **P** - El propietario asume; **D** - Reparto proporcional entre los participantes del tanque; **L** - Lácteos asume la diferencia; **N** - No permitido (resolver antes de la recolección) | Texto    | NÃO             |
| comunitario\_divisao             | Forma de distribución de valores: **M** - Manual; **A** - Automático                                                                                                                                                                                                      | Texto    | NÃO             |
| comunitario\_impressao           | Tipo de impresión del ticket de recogida: **D** - Detallado; **S** - Simplificado                                                                                                                                                                                         | Texto    | NÃO             |
| **comunitario\_impressao\_mapa** | Tipo de impresión en el informe final de cobranza: **D** - Detallado; **S** - Simplificado                                                                                                                                                                                | Texto    | NÃO             |
| proprietario                     | Indica quién es el propietario del tanque: **P** - Productor; **E** - Empresa; **A** - Alquiler                                                                                                                                                                           | Texto    | NÃO             |
| email                            | Usuario para iniciar sesión en la aplicación "Milk's Tank"                                                                                                                                                                                                                | Texto    | NÃO             |
| senha                            | Contraseña de acceso para iniciar sesión en la aplicación "Tanque de leche:.                                                                                                                                                                                              | Texto    | NÃO             |
| descricao                        | Descripción Identificación o Nombre Común                                                                                                                                                                                                                                 | Texto    |                 |
| label\_impressao                 | Identificación del grupo en caso de que el tanque sea comunitario                                                                                                                                                                                                         | Texto    | NÃO             |
| coleta\_seletiva                 | Indica si el volumen recogido en este tanque debe almacenarse por separado en el vehículo de transporte y plataforma: **1** - Sí; **0** - no                                                                                                                              | Número   | NÃO             |
| fabricante                       | Nombre del Fabricante                                                                                                                                                                                                                                                     | Texto    | NÃO             |
| marca                            | marca del tanque                                                                                                                                                                                                                                                          | Texto    | NÃO             |
| modelo                           | modelo de fabricación                                                                                                                                                                                                                                                     | Texto    | NÃO             |
| numero\_serie                    | Número de serie de fábrica.                                                                                                                                                                                                                                               | Texto    | NÃO             |
| numero\_patrimonio               | Número de capital en la empresa.                                                                                                                                                                                                                                          | Texto    | NÃO             |
| **deleted**                      | Si se debe eliminar el registro. Si envía el valor **1**, se eliminará si ya existe en la plataforma. Si se envía **0**, se reactivará en la plataforma.                                                                                                                  | Texto    | SIM             |

## Ejemplo solicitud al servidor

```javascript
{
    "conta_id": 999999,
    "token": "77d3-96a6-c1a3-c58e",
    "doc": "99.999.999/9999-99",
    "data": [
        {
            "codigo": "000058",  // tanque de granja
            "tipo": "F",
            "Tipo_leite": "V",   // Almacenar la leche de vaca
            "veiculo": "",
            "fazenda": "907010",
            "comunitario": "1",   // Indica que el tanque es comunal
            "comunitario_lancamento": "DC",
            "comunitario_divisao": "M",
            "comunitario_diferenca": "P",
            "comunitario_impressao": "D",
            "capacidade": "1500",
            "volume": "1500",
            "email": "",
            "senha": "",
            "deleted": "0"
        },
        {
            "codigo": "V-001/01",  // tanque de vehiculo
            "tipo": "V",
            "veiculo": "V-001", // boca delantera
            "fazenda": "",
            "comunitario": "0",
            "capacidade": "3200",
            "volume": "3200",
            "email": "",
            "senha": "",
            "deleted": "0"
        },
        {
            "codigo": "V-001/02",  // tanque de vehiculo
            "tipo": "V",
            "veiculo": "V-001", // boca central
            "fazenda": "",
            "comunitario": "0",
            "capacidade": "3200",
            "volume": "3200",
            "email": "",
            "senha": "",
            "deleted": "0"
        },
        {
            "codigo": "SILO/01",  // tanque de plataforma
            "tipo": "P",
            "veiculo": "",
            "fazenda": "",
            "comunitario": "0",      
            "capacidade": "25000",
            "volume": "25000",
            "email": "",
            "senha": "",
            "deleted": "1"  // Indica que el registro ya existe y
        },                  // debe eliminarse lógicamente.
    ]
}
```

{% hint style="info" %}
La propiedad "**código**" asocia el registro con la base de datos del ERP, se debe enviar un contenido único por registro, para poder identificar el conjunto de datos entre la API y la base de datos del ERP. La API utiliza la propiedad "**código**" para ubicar registros, incluidos los relacionados con claves externas en tablas.&#x20;

Ej.: Antes de insertar el registro a continuación, la rutina verificará si hay un vehículo con el código "V-001" en la tabla de vehículos.

```
 {
   "codigo": "V-001/01",  // tanque de vehiculo
   "tipo": "V",
   "veiculo": "V-001" // boca delantera
   ...
 }  
```

La propiedad "**Deleted**" se utiliza para comandar el proceso de actualización, incluyendo o eliminando lógicamente el registro. Si su valor es "**0**" (cero) y no se ha encontrado el registro, se creará. Si se encuentra, el valor se actualizará y si el valor es "**1**" (uno), el contenido se excluirá lógicamente de la base de datos.
{% endhint %}

## Respuesta

### 200: Importación realizada

```javascript
{
  "succes": true,
    "message": "OK",
    "data": [],
    "monitor.time": 2.14737200737 // Tiempo de ejecución
}  
```

{% hint style="success" %}
Los registros fueron subidos a la Plataforma de Leche e importados sin error.
{% endhint %}

### 200: importación fallida

```javascript
{
    "succes": true,
    "message": "OK",
    "data": [ // errores de importación
        {
            "codigo": "V-001/01", // Código del VEHICULO no localizado
            "error_message": "código do veículo inválido", // mensaje de error
            "error_code": 40003 // código de error        }
    ],
    "monitor.time": 2.14737200737 // Tiempo de ejecución
}
```

{% hint style="warning" %}
Los registros se cargaron en la Plataforma de Milk y se importaron, sin embargo, algunos registros no se pudieron importar.
{% endhint %}

### 404: Cuenta no encontrada

```javascript
{    
    "success": false,
    "message": "Conta não localizada",
    "data": [],
    "monitor.time": 2.14737200737 // Tiempo de ejecución
}
```

{% hint style="danger" %}
**Que significa eso?** Significa que la identificación de la cuenta no se encontró en la Plataforma de Milk's.
{% endhint %}

### 403: Token no valido

```javascript
{
    "success": false,
    "message": "Token inválido",
    "data": [],
    "monitor.time": 2.14737200737 // Tiempo de ejecución
}
```

{% hint style="danger" %}
**Que significa eso?** Significa que el token informado en la solicitud no corresponde al token registrado para la cuenta.
{% endhint %}
