Enviar tanques

Envia os registros de tanques cadastrados no ERP para a Plataforma Milk's.

Método POST

http://app.milksrota.com.br/api/retaguardasync/writeTanque

Requisição

Dados da requisição

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

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 tanque. Cada registro de tanque pode ser informando com a relação de propriedades detalhadas abaixo. Apenas os campos obrigatórios não podem ser ignorados.

Propriedades do tanque

Campo

Descrição

Tipo

Obrigatório

codigo

código único para identificação do registro no ERP.

Texto

SIM

tipo

Identifica o tipo de tanque: F - Tanque de fazenda(ponto de coleta), V - Compartimento do tanque do veículo de transporte (boca), P - Tanque de plataforma (Balão ou Silo).

Texto

SIM

tipo_leite

Tipo de leite que será armazenado: V- Vaca ; C - Cabra; B - Búfala

Texto

NÃO

fazenda

Código da fazenda quando o tipo for "F"

Texto

NÃO

veiculo

Código do veículo quando o tipo for "V

Texto

NÃO

capacidade

Capacidade total de armazenamento

Número

SIM

perimetro

Medida do perímetro

Decimal

NÃO

volume

Volume total de armazenamento

Número

SIM

altura

Medida da altura

Decimal

NÃO

comunitario

Indica se o tanque é utilizado por mais de um produtor para armazenar leite : 1 - Sim ; 0 - Não

Número

SIM

comunitario_lancamento

Quem fará a distribuição de volumes em tanques comunitários: DC - agente de coleta; DP - Painel de monitoramento; DA - Aplicativo específico "Milks Tanque"

Texto

NÃO

comunitario_diferenca

Como será trata a distribuição de diferença nos tanques comunitários: P - Proprietário assume ; D - Rateio proporcional entre os participantes do tanque; L - Laticínio assume a diferença; N - Não se permite (resolver antes da coleta)

Texto

NÃO

comunitario_divisao

Forma de distribuição do valores : M - Manual; A - Automática

Texto

NÃO

comunitario_impressao

Tipo de impressão do ticket de coleta : D - Detalhado; S - Simplificado

Texto

NÃO

comunitario_impressao_mapa

Tipo de impressão no relatório final de coleta: D - Detalhado; S - Simplificado

Texto

NÃO

proprietario

Indica quem é o proprietário do tanque: P - Produtor; E - Empresa; A - Aluguel

Texto

NÃO

email

Usuário para login no aplicativo "Milk's Tanque

Texto

NÃO

senha

Senha de acesso para logIn no aplicativo "Milk's Tanque:.

Texto

NÃO

descricao

Descrição

Identificação ou Nome Comum

Texto

label_impressao

Identificação do grupo em caso do tanque ser comunitário

Texto

NÃO

coleta_seletiva

Indica se o volume coletado neste tanque deve ser armazenado separadamente no veículo de transporte e plataforma: 1 - Sim; 0 - Não.

Número

NÃO

fabricante

Nome do fabricante

Texto

NÃO

marca

Marca do tanque

Texto

NÃO

modelo

Modelo de fabricação

Texto

NÃO

numero_serie

Número de série da fábrica.

Texto

NÃO

numero_patrimonio

Número de patrimônio na empresa.

Texto

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

{
    "conta_id": 999999,
    "token": "77d3-96a6-c1a3-c58e",
    "doc": "99.999.999/9999-99",
    "data": [
        {
            "codigo": "000058",  // Tanque de fazenda
            "tipo": "F",
            "Tipo_leite": "V",   // Armazenar leite de vaca
            "veiculo": "",
            "fazenda": "907010",
            "comunitario": "1",   // Indica tanque é comunitario
            "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 veículo
            "tipo": "V",
            "veiculo": "V-001", // Boca dianteira
            "fazenda": "",
            "comunitario": "0",
            "capacidade": "3200",
            "volume": "3200",
            "email": "",
            "senha": "",
            "deleted": "0"
        },
        {
            "codigo": "V-001/02",  // tanque de veículo
            "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 o registro já existe e 
        },                  // deverá ser apagado logicamente.
    ]
}

A propriedade "codigo" faz associação do registro com a base de dados do ERP, deve ser enviado um conteúdo único por registro, de forma a identificar o conjunto de dados entre a API e a base de dados do ERP.

A API utiliza a propriedade "codigo" para localizar os registros, inclusive para fazer o relacionamento com chaves estrangeiras nas tabelas. Ex.: Antes de inserir o registro abaixo, a rotina irá verificar se existe o veículo com código "V-001" na tabela veículo.

 {
   "codigo": "V-001/01",  // Tanque de veículo
   "tipo": "V",
   "veiculo": "V-001" // Boca dianteira
   ...
 }  

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.

Resposta

200: Importação realizada

{
  "succes": true,
    "message": "OK",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}  

Os registros foram enviados para a plataforma Milk's e importados sem erro.

200: Importação com falhas

{
    "succes": true,
    "message": "OK",
    "data": [ // Falhas de importação
        {
            "codigo": "000101", // Código do tanque não importado
            "error_message": "tipo não informado", // mensagem de erro
            "error_code": 40003 // código do erro
        }
    ],
    "monitor.time": 2.14737200737 // Tempo de execução
}

Os registros foram enviados para a plataforma Milk's e importados, entretanto, alguns registros não puderam ser importados.

404: Conta não localizada

{    
    "success": false,
    "message": "Conta não localizada",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}

O que isso significa? Significa que o ID da conta não foi localizado na Plataforma Milk's.

403: Token inválido

{
    "success": false,
    "message": "Token inválido",
    "data": [],
    "monitor.time": 2.14737200737 // Tempo de execução
}

O que isso significa? Significa que o token informado na requisição não corresponde ao token cadastrado para a conta.

Last updated