- CCF-69264Obtendo detalhes do item... STATUS
Objetivo
Implementar uma API que devolva os saldos disponíveis do estoque para uma empresa e depósito específicos, listando o saldo de todos os produtos (limitados a 15).
1. 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 API Obtenção de Token
2. Saldo Estoque
Introdução
Este webservice tem por finalidade obter o saldo disponível de UMA empresa e UM depósito, listando até 15 produtos que controlem estoque, estejam ativos e sejam do tipo Combustível.
Para saber se produto controla ou não estoque, ele deve estar marcado para participar do fechamento de estoque.
Somente os primeiros 15 produtos ativos (ordenados por código) serão retornados.
Além disso, o usuário logado deve ter permissão de acesso à empresa passada como parâmetro.
Endereço
<endereço do SispetroWeb>/posicao_estoque/get_estoque_escritural
Parâmetros
Será necessário enviar um header com o token. Como parâmetros enviar:
Nome | Descritivo | Exemplo | Observações |
---|---|---|---|
codEmpresa | Código da empresa | 1 | Obrigatório |
codDep | Código do Depósito | ‘01’ | Obrigatório |
Headers
Nome | Descritivo | Exemplo | Observações |
---|---|---|---|
Authorization | Conteúdo do token obtido no passo de autenticação do usuário | eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjozMiwiY25waiI6IjAxLjgwNC4zNDUvMDAwMS02MCIsImV4cCI6MTUwMDA1MzYxN30.-ZvhWFYI8fyx66b3kZY1UVUrfaWUTioV3_M6K2wiPGM | |
Content-Type | tipo do formato de envio | application/json | |
Accept | tipo do formato de envio | application/json |
Método
GET
Exemplo de chamada de WebService
curl -X GET -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZF91c3VhcmlvIjo4NCwiY25waiI6IjAwLjAwMC4wMDAvMDAwMC0wMSIsImRlcG9zaXRvX3BhZHJhbyI6bnVsbCwiZXhwIjoxNzE3NzY3NDAyfQ.j_CChFzlGOMkfvQ1psP8gaxZiKQ8yiD1pJnyVeUWkg0' http://localhost/posicao_estoque/get_estoque_escritural -d '{"codEmpresa":1, "codDep":"1"}'
Retorno Bem Sucedido (exemplo:
)Serão retornados os saldos disponíveis de até 15 produtos (que controlam estoque). O status da resposta sempre será 200.
Layout de matriz (um para cada produto) em formato JSON.
Chave | Conteudo | Pai |
---|---|---|
codEmpresa | Código da empresa | |
nomeUsualEmpresa | Nome Usual da Empresa | |
cidadeEmpresa | Cidade da Empresa | |
codDep | Código do Depósito | |
produtos | grupo | |
codProd | Código do produto | produtos |
classific | Código da Classificação do produto (até 13 caracteres) | produtos |
saldo | Saldo disponível escritural | produtos |
# exemplo retorno: { "codEmpresa": 1, "nomeUsualEmpresa": "BASE DEMO", "cidadeEmpresa": "SAO PAULO", "codDep": "1", "produtos": [ { "codProd": "00102", "classific": "01", "saldo": "-31500.0", "CodProd": null }, { "codProd": "00103", "classific": "01", "saldo": "-43000.0", "CodProd": null }, { "codProd": "02", "classific": "01", "saldo": "-460050.0", "CodProd": null }, { "codProd": "03", "classific": "01", "saldo": "-2034337.0", "CodProd": null }, { "codProd": "04", "classific": "01", "saldo": "-1459636.0", "CodProd": null }, { "codProd": "05", "classific": "01", "saldo": "2208374.0", "CodProd": null }, { "codProd": "06", "classific": "01", "saldo": "-156500.0", "CodProd": null }, { "codProd": "10", "classific": "01", "saldo": "-16000.0", "CodProd": null }, { "codProd": "16", "classific": "01", "saldo": "-14000.0", "CodProd": null } ] }%
Retorno Sem Sucesso
Será retornado um objeto JSON com o motivo da falha (normalmente 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": "Empresa inválida", "status": 400 }
Solução
Utilizaremos a view vwEstoqueDisponivel para retornar o saldo disponível escritural corrente para os 15 primeiros produtos ativos (em ordem de código de produto) para a empresa/depósito informados.
Iremos limitar artificialmente o resultado a 15 produtos por uma questão de performance somente.