Páginas filhas
  • DVARHAN-7161 DT API Estoque Produtos


01. DADOS GERAIS

Produto:

TOTVS Varejo Food Service

Linha de Produto:

 

Segmento:

Fly01 

Módulo:ChefWebAPI
Função:API Estoque Produtos
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARHAN-7161


02. 
SITUAÇÃO/REQUISITO

Disponibilizar uma API para listagem do estoque das lojas

03. SOLUÇÃO

Foi disponibilizada uma API para listar o estoque da(s) loja(s) e está disponível no endpoint abaixo: 

URL: http://chefweb.chef.totvs.com.br/chefwebapi/api/Estoque/ListarEstoque

        Possibilidades de requisições:

        Consulta Completa: Listar o estoque de todos os produtos ativos da loja. O parâmetro "Completa" deve ser passado como 1.

        Payload Request (exemplo):        
        {

               "Token""860758ef-665e-4206-8007-acfb91eee184",   
               "CodigoLoja""50",
               "Completa": 1,
               "Produtos""",
               "CodigoComplementar""CODIGOPROTHEUS"

         }     

        Payload Response (exemplo):

        {
              "Estoque": [
               {
                    "skuId""CHMAN0150A18",
                    "lotId""01",
                    "quantity"0,
                    "locationId"50,
                    "stockType""PHYSICAL",
                    "updatedAt""2021-06-01T08:59:43",
                    "unit""UN"
               },
               {
                    "skuId""ITMAR0149A18",
                    "lotId""01",
                    "quantity"69,
                    "locationId"50,
                    "stockType""PHYSICAL",
                    "updatedAt""2021-06-01T08:59:43",
                    "unit""UN"
                },

                .

                .

                .

                .

               {
                     "skuId""ARESC0951A17",
                     "lotId""01",
                     "quantity"0,
                     "locationId"50,
                     "stockType""PHYSICAL",
                     "updatedAt""2021-06-01T08:59:43",
                     "unit""UN"
               }
              ],
              "Sucesso"true,
              "Erros": []
       }

       Consulta parcial: Listar o estoque de todos os produtos ativos da loja que sofreram alteração de estoque desde a última consulta completa ou parcial. O parâmetro "Completa" deve ser passado como 0.

       Payload Request (exemplo):       
       {            

               "Token""ca0b3a1b-87c7-419b-b885-52dfe004c712",   
               "CodigoLoja""50",
               "Completa": 0,
               "Produtos""",
               "CodigoComplementar""CODIGOPROTHEUS"

       }

       Payload Response (exemplo):

       {
               "Estoque": [
               {
                     "skuId""ITALG0249A16",
                     "lotId""01",
                     "quantity"0,
                     "locationId"50,
                     "stockType""PHYSICAL",
                     "updatedAt""2021-06-01T09:31:15",
                     "unit""UN"
               }
               ],
               "Sucesso"true,
               "Erros": []
        }

       Consulta por produtos específicos: Listar o estoque de todos os produtos ativos da loja com base na lista de códigos recebidos. O parâmetro "Completa" deve ser passado como 0. O         parâmetro "Produtos" deve conter uma lista do tipo texto (entre aspas e separados por vírgula) com todos os códigos desejados.

       Payload Request (exemplo):       

       {
                "Token""045bafa6-9da9-4d48-8028-8fe4b4dba5b6",    
                "CodigoLoja""50",
                "Completa"0,
                "Produtos"["ITALG0249A16","ATKRA0149A16"],    
                "CodigoComplementar""CODIGOPROTHEUS"

       }

       

       Payload Response:

       {
             "Estoque": [
              {
                     "skuId""ITALG0249A16",
                     "lotId""01",
                     "quantity"11,
                     "locationId"50,
                     "stockType""PHYSICAL",
                     "updatedAt""2021-06-01T08:56:54",
                     "unit""UN"
               },
              {
                     "skuId""ATKRA0149A16",
                     "lotId""01",
                     "quantity"11,
                     "locationId"50,
                     "stockType""PHYSICAL",
                     "updatedAt""2021-06-01T08:56:54",
                     "unit""UN"
               },
               {
                     "skuId""ATKRA0149A16",
                     "lotId""01",
                     "quantity"0,
                     "locationId"50,
                     "stockType""PHYSICAL",
                     "updatedAt""2021-06-01T08:56:54",
                     "unit""UN"
               }
               ],
              "Sucesso"true,
              "Erros": []
       }

04. DEMAIS INFORMAÇÕES

  • O parâmetro "Completa" da requisição é do tipo lógico. Sendo assim os valores possíveis são: 0 e 1 ou False e True;
  • Para a consulta completa, há uma limitação diária de 2 consultas por loja no máximo. Quando atingido o limite, a api retornará o erro abaixo:

Payload request (exemplo):

{
    "Token""8fdef75e-0422-4748-bfb8-dc1a75a0e7b2",
    "CodigoLoja""50",
    "Completa"1,
    "Produtos""",
    "CodigoComplementar""" 
}

Payload response (exemplo):

{
    "Estoque": [],
    "Sucesso"false,
    "Erros": [
        {
            "CodigoErro"20,
            "DescricaoErro""A consulta completa não pode ser realizada pois já atingiu a quantidade máxima liberada para o dia!"
        }
    ]
}

  • A api disponibiliza os produtos pelo código do sistema ou pelo código complementar que pode ser configurável no cadastro dos produtos. Para a consulta ser realizada e retornada com o código do sistema, o campo "CodigoComplementar" da requisição deve ser passado vazio. O campo "skuId" do resultado será o código do sistema. Exemplos de requisições:

          Consulta Completa:

Payload request (exemplo):

{
    "Token""689bfd30-ab01-4b10-adba-d13b6fbed298",
    "CodigoLoja""50",
    "Completa"1,
    "Produtos""",    
    "CodigoComplementar"""
}

Payload response (exemplo):

{
    "Estoque": [
        {
            "skuId""12241",
            "lotId""01",
            "quantity"0,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:24:42",
            "unit""UN"
        },
        {
            "skuId""12249",
            "lotId""01",
            "quantity"2,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:24:42",
            "unit""UN"
        },

        .

        .

        .

        .

       {
            "skuId""9116",
            "lotId""01",
            "quantity"0,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:24:42",
            "unit""UN"
        }
    ],
    "Sucesso"true,
    "Erros": []
}

      Consulta parcial:

      Payload request (exemplo):

{
    "Token""49b9e162-85f1-447e-ad5a-915d4bbae8c5",
    "CodigoLoja""50",
    "Completa"0,
    "Produtos""",    
    "CodigoComplementar"""
}

      Payload response (exemplo):

{
    "Estoque": [
        {
            "skuId""11900",
            "lotId""01",
            "quantity"0,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:29:35",
            "unit""UN"
        }
    ],
    "Sucesso"true,
    "Erros": []
}

Consulta por produtos:

Payload request (exemplo):

{
    "Token""f5f947a7-89a3-46b2-8f77-be9e958cd262",
    "CodigoLoja""50",
    "Completa"0,
    "Produtos": ["9944", "12514", "11846"],     
    "CodigoComplementar""" 
}

Payload response (exemplo):

{
    "Estoque": [
        {
            "skuId""9944",
            "lotId""01",
            "quantity"0,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:34:51",
            "unit""UN"
        },
        {
            "skuId""12514",
            "lotId""01",
            "quantity"11,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:34:51",
            "unit""UN"
        },
        {
            "skuId""11846",
            "lotId""01",
            "quantity"11,
            "locationId"50,
            "stockType""PHYSICAL",
            "updatedAt""2021-06-01T10:34:51",
            "unit""UN"
        }
    ],
    "Sucesso"true,
    "Erros": []
}

05. ASSUNTOS RELACIONADOS

        Não se aplica