> 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/tanque-coletivo/enviar-produtores-vinculados.md).

# Enviar produtores vinculados

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

## 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 produtores participantes
    ]
}
```

{% 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 dois ou mais registros de produtores. Cada registro de produtor pode ser informando com a relação de propriedades detalhadas abaixo. Apenas os campos obrigatórios não podem ser ignorados.
{% endhint %}

### Propriedades dos vínculos de tanques coletivos

| **Campo**        | **Descrição**                                                                                                                                                   | **Tipo**       | **Obrigatório**   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ----------------- |
| **produtor**     | código produtor participante.                                                                                                                                   | Texto          | SIM               |
| **fazenda**      | código do registros de fazenda do produtor participante                                                                                                         | Texto          | SIM               |
| **tanque**       | **código do tanque coletivo ao qual o registro será vinculado**                                                                                                 | Texto          | SIM               |
| **proprietário** | Indica se o produtor é o responsável pelo tanque coletivo (0) - **NÃO**, (1) - **SIM**                                                                          | Texto          | SIM               |
| **fornecedor**   | Indica se o produtor é fornecedor ou apenas participante no tanque coletivo (0) - **NÃO**, (1) - **SIM**                                                        | Texto          | SIM (Default = 1) |
| **porcentagem**  | Indica o percentual de participação no volume produzido para o participante. Aplicável em casos de tanques ajustados para divisão automática por percentual     | Decimal (10,4) | NÃO               |
| **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. | Texto          | SIM               |

### Exemplo de requisição

```javascript
{
    "conta_id": 999999,
    "token": "77d3-96a6-c1a3-c58e",
    "doc": "99.999.999/9999-99",
    "data": [
        {
            "tanque": "T-0001",  // Código do tanque coletivo cadastrado na plataforma    
            "produtor": "000058", // Código do produtor vinculado            
            "fazenda": "907010", // Código da fazenda do produtor
            "proprietário": "1",   // somente 1 proprietário deve ser indicado para o conjunto.
            "fornecedor": "0",    // Indica que este participante não poderá receber lançamentos de volume. 
            "porcentagem": null,           
            "deleted": "0"
        },
        {
            "tanque": "T-0001",
            "produtor": "000059",             
            "fazenda": "907011", 
            "proprietário": "0", 
            "fornecedor": "1", // Este participante poderá receber lançamento de volumes.  
            "porcentagem": null,           
            "deleted": "0"
        },
        {
            "tanque": "T-0001",
            "produtor": "000060",             
            "fazenda": "907012", 
            "proprietário": "1", 
            "fornecedor": "1",  
            "porcentagem": null,           
            "deleted": "0"
        }                   
    ]
}
```

{% hint style="info" %}
A propriedade ***"tanque"***  deve conter o código tanque previamente cadastrado na plataforma e ajustado para ser um tanque coletivo, (propriedade "**coletivo = 1**") no momento da geração do registro de tanques. Caso este ajuste não tenha sido feito, ao receber registros de participantes vinculados ao tanque, a API irá ajustar automaticamente o registro deste tanque indicando que o mesmo passa a ser coletivo.

A  propriedade ***"proprietário"*** indica que o produtor vinculado a este registro é o "responsável ou cabeça" do grupo, e só poderá conter para cada tanque, um único registro de vinculado com esta propriedade contendo o valor (1), pois somente um responsável é admitido para cada tanque coletivo

A propriedade "**fornecedor**" indica se o participante do tanque coletivo pode ou não receber lançamentos ou distribuição de volumes. Caso este atributo esteja marcado com **(0) - Zero**, o aplicativo de coleta irá **inibir o lançamento de volumes para este participante.**

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

## 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
        {
            "tanque": "T-0001", // Código do tanque não importado
            "error_message": "proprietário não informado", // 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 %}
