API Incluir / Cancelar Ordens de Carregamento

Objetivo

Detalhar a API de inclusão de ordens de carregamento de terceiros.

1. Uso Geral

Obter token autenticação

Introdução

Qualquer webservice do projeto SispetroWeb exigirá um token de autenticação. Este token é gerado a partir deste webservice e será válido por 24 horas. Assim, recomendamos que o sistema consumidor dos webservices aqui descritos salvem o token armazenando também a data e hora em que ele foi gerado para que, quando chegar próximo de sua validade, seja obtido novo token.

Para mais informações, ver Documentação - API Obtenção de Token

2. Inclusão Ordem de Carregamento

Introdução

Este webservice tem por finalidade a inclusão de uma ordem de carregamento na empresa conectada ao token, obtido no passo anterior.

Endereço

<endereço do SispetroWeb>/ordem_carregamento/create_from_api


Parâmetros

Será necessário enviar um header com o token e, no corpo do webservice, os dados relativos à OC que se deseja incluir.

Headers

NomeDescritivoExemploObservações
Authorization

Conteúdo do token obtido no passo de autenticação do usuário

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM
Content-Typetipo do formato de envioapplication/json
Accepttipo do formato de envioapplication/json


Body

Layout abaixo em formato JSON.


ItemChaveConteúdoPaiObrigatório
1ordem_carregamentofixo-Sim
2CnpjEmpresaCNPJ da empresa Congênere1Sim
3Tipo"D" descarga ou "C" carregamento1Sim
4dataData da Ordem Carregamento dd/mm/aaaa1Sim
5CodTranspCPF ou CNPJ da empresa transportadora exatamente como está no cadastro de transportadoras do SisPetro1Sim
6SeqFrotaPlaca do veículo transportador (cavalo) exatamente como está registrado no cadastro de frotas do SisPetro1Sim
7SeqFrotaCarretaPlaca do veículo transportador (carreta) exatamente como está registrado no cadastro de frotas do SisPetro1Não
8SeqFrotaTremPlaca do veículo transportador (treminhão) exatamente como está registrado no cadastro de frotas do SisPetro1Não
9SeqFrota4Placa do veículo transportador (frota 4) exatamente como está registrado no cadastro de frotas do SisPetro1Não
10ColetaAmostraSe coleta Amostra Testemunha ao carregar ou descarregar produto. 0 = Sem definição (padrão), 1 = Coleta, 2 = Não coleta.1Não
11webNumeroOCClienteNúmero da OC em seu sistema. Caso seja preenchido, será validado e não será permitido incluir duas OCs com este número igual. Campo String1Não
12ObservacaoCampo livre para inclusão de observação1Não
13DepositoOrigemCódigo do depósito no qual será incluída esta OC (é opcional, se não for passado, pega o código do depósito de vendas da empresa).1Não
13compartimentacao_ocfixo1Sim
14CompartimentoNúmero do compartimento9Sim
15CodProdCódigo do Produto (pode ser utilizado o código do produto do Sistema da congênere pois será cadastrado um de-para no SisPetro para cada produto da Congênere9Sim
16QtdeQuantidade movimentada9Sim


Método

POST

Exemplo de chamada de WebService

# oc1.data é um arquivo com o formato JSON e conteúdo conforme abaixo
#{"ordem_carregamento": {"CnpjEmpresa": "01.999.999/0001-99", "Tipo": "D", "data": "25/04/2017",  "CodTransp": "12345678901", "SeqFrota": "AAA-9999", "SeqFrotaCarreta": "BBB-9999", "SeqFrotaTrem": "CCC-9999",  #"ColetaAmostra": 1,  "webNumeroOCCliente": "1010", "compartimentacao_oc": [{"Compartimento": 1, "CodProd": "OLEODIESEL", "Qtde": "5000" }]}}
 
curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST -H "Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTQ5OTk2MDYzOX0.ab6PXQRfG_-lAVz6te4wZPZpx5xsm6ncc_LQ9zHeGJI" http://192.168.0.33:80/ordem_carregamento/create_from_api -d@oc1.data


Retorno Bem Sucedido

Será retornada todos os dados relativos à Ordem de Carregamento incluída com sucesso. O status da resposta sempre será 200.

{"CodEmpresa":1,"NumeroOC":8412,"Tipo":"D",...etc}


Retorno Sem Sucesso

Será retornado um objeto JSON com o motivo da não inclusão (poderá ser um erro de autenticação, caso o token tenha expirado ou seja inválido, ou alguma regra de negócio não atendida. O status da resposta sempre será diferente de 200.

{"error":"Frota deve ser preenchido e valido","status":422}


Caso a quantidade informada na OC seja superior a capacidade permitida em algum dos Frotas utilizados, será exibida a mensagem abaixo:

{"error":"Volume da OC deve ser menor ou igual à capacidade dos Frotas","status"

3. Cancelamento de Ordem de Carregamento

Introdução

Este webservice tem por finalidade o cancelamento de uma ordem de carregamento, conforme seu número e empresa do token, obtido em passo anterior.


Endereço

<endereço do SispetroWeb>/ordem_carregamento/cancel_from_api


Parâmetros

Será necessário enviar um header com o token e, no corpo do webservice, o número da ordem de carregamento que se deseja cancelar.

Headers


NomeDescritivoExemploObservações
Authorization

Conteúdo do token obtido no passo de autenticação do usuário

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM
Content-Typetipo do formato de envioapplication/json
Accepttipo do formato de envioapplication/json


Body

Layout abaixo em formato JSON.


ItemChaveConteúdoPaiObrigatório
1idNúmero da OC no Sispetro-Sim


Método

POST

Exemplo de chamada de WebService


curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST -H "Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM" http://192.168.0.33:80/ordem_carregamento/cancel_from_api -d '{"id":"8383"}'


Retorno Bem Sucedido

Será retornado um objeto JSON com uma mensagem fixa e o status 200. O status da resposta sempre será 200.

{"mensagem":"ordem carregamento cancelada com sucesso","status":200}


Retorno Sem Sucesso

Será retornado um objeto JSON com o motivo da não inclusão (poderá ser um erro de autenticação caso o token tenha expirado ou seja inválido ou alguma regra de negócio não atendida). O status da resposta sempre será diferente de 200.

{"error":"Não é possível cancelar esta OC (já cancelada, sem permissão, na fila ou carregada)","status":400}