Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Versão antiga do Jira
serverSystem Jira
serverIdcb609c21-3f84-3212-98cc-2b10a1d59979
keyCCF-69264

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.image-20241008-121146.pngImage Removed

Nota

Para saber se produto controla ou não estoque, verifique se a opção Participa do Fechamento de estoque está marcada. Para mais informações, ver produtos

Informações

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

...

Body

Será necessário enviar um header com o tokenos dados abaixo para consultar as informações do depósito. Como parâmetros enviar:

...

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
Bloco de código
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:
View file
nameestoque.json
)

Serão retornados os saldos disponíveis de até 15 produtos (que controlam estoque). O status da resposta sempre será 200. 

...

Bloco de código
# 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  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.

Caso o Token não esteja válido

Bloco de código
{
    "error": "Unauthorized",
    C"status": 401
}

Caso o usuário não pode ter acesso à empresa escolhida

Bloco de código
{
    "error": "Empresa inválida",
    "status": 400
}

Solução

...

Nota

Iremos limitar artificialmente o resultado a 15 produtos apenas por uma questão de performance somente.