Árvore de páginas


  1. Alteração de jornada:

Data alteração

       Motivo 

O que mudou?

   Aprovadores

Versão

21/03/2025Deixar claro que na API de processo online de estoque que GET é para PDV e POST para retaguarda.O processo continua o mesmo, porém a escrita poderia gerar interpretação errada, pois estava apenas descrito a API de GET utilizada pelo PDV e não evidenciado o POST utilizado pela retaguarda.


   2. O que fazer?

Desenvolver o processo de consulta de estoque de produto com visualização de destalhes de deposito. No processo de integração de venda efetuar a baixa de estoque de acordo com o deposito vinculado ao tipo da operação. 





Dores e necessidades

Possibilitar a utilização de diferentes depositos no processo no PDV e pedido de venda para baixa do saldo de estoque na retaguarda

Negócio

Na operação no PDV e no pedido de venda, de acordo com parametrização da retaguarda, deve ser possivel informar o deposito que o saldo de estoque deve ser utilizado para baixa nos processos de venda

Entrega de valor

Será possivel efetuar a selecão de diferentes depositos para as operações de venda 


3. Tabelas e campos novos - PDV Omni


3.1 Tabela: pre_venda_item

Nome do campo

Tipo do campo

Obrigatorio

id_retaguarda_depositoCharacter varyant (100)opcional 


4. Parametros novos 

Não há 


5. Definição de contratos de API:

Request

Parametro

Descrição

Tipo

Obrigatório

Observação

inquilinoIdentificador do inquilinostringSim
idRetaguardaProdutoIdentificador do produto na retaguardastringSim
idRetaguardaLojaOrigemIdentificador da loja de consultante do saldostringSim
idRetaguardaLojasConsultaEstoqueIdentificador das lojas para consulta do estoquestring

Não

Pode ser enviado mais de um valor separando-os por vírgula (,)

idRetaguardaProdutoEmbalagemIdentificador da embalagemstringNãoPode ser enviado mais de um valor separando-os por vírgula (,)


Response

Os novos campos estão em destaque.

Campo

Tipo

Obrigatório

Descrição

Observação

successBooleanoSimIndica se a requisição retornou sucesso
messageStringNãoCampo com as mensagens de erro
dataLista de ObjetosNãoConteúdo de retorno
data.estoqueLista de ObjetosNãoLista de estoques
data.estoque.depositoLista de ObjetosNãoLista de objetos de depósitosDeve ser utilizado pela retaguarda quando há a possibilidade de ter mais de um depósito de produto por loja.
data.estoque.deposito.idRetaguardaStringSimIdentificador de depósito na retaguarda
  • Campo deve ser enviado obrigatoriamente se o objeto de depósito for preenchido, caso contrário não será necessário enviar esse dado. 
data.estoque.deposito.descricaoStringSimDescrição do depósito
  • Campo deve ser enviado obrigatoriamente se o objeto de depósito for preenchido, caso contrário não será necessário enviar esse dado. 
data.estoque.deposito.quantidadeDecimalSimQuantidade de produto disponível por depósito
  • Campo deve ser enviado obrigatoriamente se o objeto de depósito for preenchido, caso contrário não será necessário enviar esse dado. 
data.estoque.deposito.padraoBooleanSimDepósito padrão para venda
  • Caso ocorra uma venda onde o depósito não for identificado, esse campo pode ser utilizado para ser direcionador de baixa do depósito na retaguarda.
  • Campo deve ser enviado obrigatoriamente se o objeto de depósito for preenchido, caso contrário não será necessário enviar esse dado. 
data.estoque.armazemObjetoNãoObjeto armazem
  • Deve ser utilizado pela retaguarda quando
há apenas um armazém de produto por loja.
data.estoque.armazem.idStringNãoIdentificador do armazem
data.estoque.armazem.descricaoStringNãodescrição do armazem
data.estoque.lojaObjetoNãoObjeto loja
data.estoque.loja.enderecoStringNãoEndereço da loja
data.estoque.loja.idRetaguardaStringNãoIdentificador da loja na retaguarda
data.estoque.loja.descricaoStringNãoDescrição da loja
data.estoque.produtoLoteLista de ObjetosNãoIdentificação de lotes do produto
data.estoque.produtoLote.idRetaguardaStringNãoIdentificador do lote do produto na retaguarda
data.estoque.produtoLote.quantidadeNumericNãoQuantidade de produtos disponível no lote.
data.estoque.produtoLote.identificacaoLoteStringNãoCódigo ou identificação única do lote.
data.estoque.produtoLote.dataValidadeDateTime (formato ISO 8601)NãoData de validade do lote.
data.estoque.quantidadeDecimalNãoQuantidade em estoque
data.idRetaguardaProdutoStringNãoIdentificador do produto na retaguarda
errorsNuloNãoLista com erros
totalTimeInteiroNãoTempo de requisição
numberOfRecordsInteiroNãoNúmero de linhas retornadas


Exemplos

Sucesso:

{
    "success": true,
    "message": "",
    "data": [
        {
            "estoque": [
                {
                    "armazem": null,
                    "deposito":
                    [
                        {
                            "idRetaguarda":"22325869",
                            "descricao":"Depósito São Paulo/Santana",
                            "quantidade": 400.0
                            "padrao": true
                        },
                        {
                            "idRetaguarda":"78556697",
                            "descricao":"Depósito São Paulo/Ipiranga"
                            "quantidade": 402.0
                            "padrao": false
                        }
                    ],
                    "loja": {
                        "endereco": "GOIANIA - RUA 135",
                        "idRetaguarda": "1",
                        "descricao": "TOTVS BRASILIA SOFTWARE LTDA "
                    },
                    "produtoLote": [],
                    "quantidade": 882.0
                }
            ],
            "idRetaguardaProduto": "2-2"
        }
    ],
    "errors": null,
    "totalTime": 0,
    "numberOfRecords": 0
}


5.2 Contrato de envio de pré-venda no processo online

  • Endpoints:
    • /api/pdvsyncserver/retaguarda/v2/processoonlineprevenda
  • Método: POST
  • Autenticação: Bearer token
  • Permissão: Client

Adicionar no body de requisição do POST novo campo idRetaguardaDeposito  no objeto preVendaItens.


Campo

Tipo

Descrição

Obrigatório

Observação

PreVendaItens.idRetaguardaDeposito

string

Identificação de qual depósito o produto será retirado

Não

  • Tamanho máximo 100 caracteres



6. Restrições:

Não será efetuado transferência automática entre depósitos na primeira versão da funcionalidade


7. Pontos de atenção: 

O Processo de utilização de múltiplos depósitos para reserva deverá ocorrer apenas no fluxo online e offline.

A identificação do deposito irá ocorrer de forma manual para a operação de pedido de venda.

A reserva de estoque de mercadoria deve ocorrer para o estoque de acordo com o deposito selecionado.

Para operação de de PDV venda autosserviço e pedido com o tipo de entrega Retira imediata (RI) o deposito utilizado deverá ser padrão.


  • Sem rótulos