Árvore de páginas

Versões comparadas

Chave

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

...

Informações
titleProcedimentos para Configuração
Expandir
titleRequisitos mínimos para uso do TOTVS Varejo PDV Omni Smart Hub (POSH)
Expandir
titleAtivação do inquilino

A criação do inquilino é realizada pelo time de Integração Varejo da TOTVS,

O que é um inquilino?

Para solicitar a criação de um inquilino é necessário ....

Expandir
titleAtivação do RAC

A criação do usuário no RAC ...

Expandir
titleAutenticação

Para realizar requisições no TOTVS VAREJO PDV OMNI SMART HUB (POSH) é necessário ter uma chave de acesso (Token).

Para se obter este token é necessário ter um usuário ativo no RAC e realizar a requisição com as informações corretas.

O usuário do RAC deverá ter a permissão de RETAGUARDA para se conectar com o POSH

Expandir
titleFluxo inicial de cadastro

Nesta seção iremos fazer as configurações iniciais para uso do TOTVS Varejo PDV Omni Smart Hub (POSH), antes de iniciarmos essas configurações, devemos ter os requisitos iniciais.

Caso esse passo não esteja concluído, favor acessar a seção de Requisitos mínimos para uso do TOTVS Varejo PDV Omni Smart Hub (POSH) e finalizar os requisitos.

A partir desse ponto a retaguarda é responsável pelos dados que serão enviados e também responsáveis pela integridade dos dados.


Nos passos abaixo iremos mostrar como realizar a configuração de compartilhamento e loja, dois tipo de dados extremamente importante para a integração.

Neste fluxo mandaremos os dados de compartilhamento e loja no mesmo lote, porém também podem ser mandados em lotes separados caso necessário.

Aqui iremos mostar o passo a passo para seguir este fluxo. Salientamos que as informações mais completas sobre fluxos ou tipo de dados estão em suas respectivas páginas e podem ser acessadas através dos links nessa página.

Após o envio dessas informações, os dados já estão esperando para serem baixados pelo POSH no PDV Omnishop

Esse passo precisam ser refeito sempre que precisar realizar o cadastro de uma loja, toda loja tem um compartilhamento para que a inteligência do POSH identifique para qual loja mandar os dados

{
    "success":true,
    "message":"",
    "data":{
        "loteOrigem":"{LoteOrigem}",
        "mensagem":null,
        "status":0,
        "tipoLote":[
            "17"
        ],
        "idInquilino":"{IdInquilino)",
        "dataAtualizacao":"{DataAtualizacao}",
        "dataCadastro":"{DataCadastro}",
        "id":"{Identificador}",
        "_expandables":[]
    }
}Número identificação do loteStatus do dos dados do lote

Todo lote que é aberto deve ser fechado após o envio dos dados.

Para se fechar um lote é necessário fazer uma requisição para o micro serviço PDVSync,Core.Controle.
  • Endpoint: /api/retaguarda/inquilinolotesexternos/{IdInquilino}/{LoteOrigem}
  • Método: Put
  • Autenticação: Bearer token
  • Permissão: Retaguarda
Ao ser fechado o começa a ser processado pela inteligência do POSH, nesse momento são feitas várias verificações de integridade dos dados e há um processo para enviar os dados para todas as lojas que fazem parte do compartilhamento.{
    "success":true,
    "message":"Lote finalizado e processado com sucesso",
    "data":null
} Monitoramento do lote
Informações
iconfalse
titleEnvio de dados do ERP para o PDV Omni
de lote

Para se abrir um lote é necessário fazer uma requisição para o micro serviço do PDVSync,Core.Controle.

  • Endpoint: /api/retaguarda/inquilinolotesexternos
  • Método: Post
  • Autenticação: Bearer token
  • Permissão: Retaguarda

O retorno dessa requisição gerará um código chamado loteOrigem, ele é de suma importância, pois, esse código identifica qual o lote que pertence o(s) dado(s) e deverá ser passado no envio dos dados para que a integração funcione corretamente.

{
    "status":0,
    "tipoLote":[
        17
    ],
    "idInquilino":"{{IdInquilino}}"
}
Expandir
titleDetalhamento
title

Todo a arquitetura do TOTVS Varejo PDV Omni Smart Hub (POSH) funciona através do envio de lotes.

Podemos imaginar um lote como um container em um navío, esse container contêm os dados que serão enviados para a(s) loja(s).

O envio dos dados segue o seguinte fluxo

  • Abertura de lote 
  • Envio dos dados 
  • Fechamento do lote
  • Monitoramento do lote 

    Abaixo está listado cada passo e as informações para o envio.

    Expandir
    title
    Expandir
    titleDetalhamento
    Expandir
    titleBody da requisição
    Expandir
    titleDefinição dos campos de requisição

    Campo

    Tipo

    Descrição

    Observações

    idInquilino

    stringidInquilino gerado na criação do inquilinoNão Nulo 

    tipoLote

    Lista de stringLista dos tipos de dados a serem enviados. São aceitos vários tipos. (Tipos  na seção Tipos Lote)Não nulo

    status

    stringStatus do lote, na abertura sempre enviar 0 - Inicio EnvioNão nulo
    Expandir
    titleTipos Lote

    Os tipos de dados passados na requisição são os seguintes:

        Cliente = 0
        Loja = 1
        Motivo = 2
        Perfil = 3
        Usuario = 4
        FcpProduto = 5
        Compartilhamento = 6
        Imposto = 7
        Ncm = 8
        PisCofins = 9
        TributoNcm = 10
        ClassificacaoProduto = 11
        Produto = 12
        Preco = 13
        Estoque = 14
        Operadora = 15
        DadoComplementarPagto = 16
        CondicaoPagto = 17
        FormaPagto = 18
        CanalVenda = 24
        AlteracaoCliente = 40
        AlteracaoImposto = 47
        AlteracaoNcm = 48
        AlteracaoPisCofins = 49
        AlteracaoTributoNcm = 50
        AlteracaoClassificacaoProduto = 51
        AlteracaoProduto = 52
        AlteracaoPreco = 53
        AlteracaoEstoque = 54
        PreVenda = 55
        ClienteEndereco = 56

    Expandir
    titleRetorno da requisição
    Expandir
    titleDefinição dos campos de retorno

    Campo

    Tipo

    Descrição

    SuccessboolIndica se a criação do lote foi feita com sucesso
    MessagestringCaso ocorra erros durante a criação do lote eles serão enviados nesse campo
    DataobjetoObjeto lote criado

    Data.LoteOrigem

    string

    Data.Mensagem

    string

    Data.Status

    int
    Data.TipoLoteList StringLista de tipos de dados que serão enviados no lote

    Data.IdInquilino

    stringidInquilino vinculado ao lote

    Data.DataAtualização

    datetimeData da ultima atualização do registo

    Data.DataCadastro

    datetimeData de criação do lote

    Data.Id

    stringIdentificador do lote no banco
    Expandir
    title

    Os dados são enviados para os seus respectivos micro serviços.

    Exemplo: venda é enviada para o serviço comercial

    Todos os dados que serão enviados deverão conter o loteOrigem para identificar qual lote ele pertence.Caso o loteOrigem não seja enviado os não serão integrados com o PDV Omni.O lote deve conter o tipo de dado que está sendo enviado
    Expandir
    title
    Expandir
    titleDetalhamento
    Expandir
    titleRetorno da requisição
    Expandir
    titleDefinição dos campos de retorno

    Campo

    Tipo

    Descrição

    SuccessboolIndica se a criação do lote foi feita com sucesso
    MessagestringMensagem enviada
    Expandir
    Expandir
    titleDetalhamento

    O monitoramento do lote pode ser feito de várias formas.

    Antes é necessário que haja o entendimento que há dois tipos de lote.

    • Lote Externo - Lote criado pela retaguarda que identifica os dados que serão enviados
    • Loja Lote - Lote criado pelo POSH para enviar para o PDV Omni

    O loja lote é criado pelo POSH quando o lote externo é fechado pela Retaguarda, o passo a passo é o seguinte:

    1. Retaguarda fecha o lote 
    2. O POSH verifica os dados do lote
    3. O POSH verifica os corpartilhamentos do inquilino
    4. O POSH cria os loja lotes de acordo com os compartlhamentos do inquilino

    Nesse módulo teremos a explicação de como fazer o monitoramento dos dois tipos de lotes.

    IMPORTANTE: O POSH tem rotinas de expurgo de dados que rodam automaticamente todos os dias, os dados ficam nos serviços do POSH por 14 dias corridos, depois disso não há como recuperar as informações dos lotes.

    Expandir
    titleMonitoramento Lote Externo
    Expandir
    titleDetalhamento

    O monitoramento do lote externo é feito pelas apis do PDVSync.Core.Controle.

    Nesse endpoint teremos algumas informações muito importante com relação ao lote aberto pela retaguarda.

    • Endpoint: /api/retaguarda/v2/inquilinolotesexternos/{id lote externo}
    • Método: GET
    • Autenticação: Bearer token
    • Permissão: Retaguarda

    Nesse endpoint um dos dados mais importantes é o status, ele indica se o lote prosseguiu para o próximo passo ou se ele foi barrado por algum motivo.

    Expandir
    titleRetorno da requisição
    {
        "success":true,
        "message":"",
        "data":{
            "loteOrigem":"string",
            "mensagem":"string",
            "status":int,
            "tipoLote":[
                "string"
            ],
            "idInquilino":"string",
            "dataAtualizacao":"datetime",
            "dataCadastro":"datetime",
            "id":"string",
            "_expandables":[]
        }
    } Expandir
    titleDefinição dos campos de retorno

    Campo

    Tipo

    Descrição

    SuccessboolIndica se a requisição foi realizada com sucessoMessagestringCaso ocorra erros durante a criação do lote eles serão enviados nesse campoDataobjetoObjeto lote externo

    Data.LoteOrigem

    stringNúmero de identificação do lote

    Data.Mensagem

    stringMensagem enviada no cadastro do lote

    Data.Status

    intStatus do lote (Definições na seção abaixo)Data.TipoLoteList StringLista de tipos de dados que serão enviados no lote

    Data.IdInquilino

    stringidInquilino vinculado ao lote

    Data.DataAtualização

    datetimeData da ultima atualização do registo

    Data.DataCadastro

    datetimeData de criação do lote

    Data.Id

    stringIdentificador do lote no banco Expandir
    titleStatus do lote
    CódigoNomeDescrição0InicioEnvioIndica que o lote foi aberto pela retaguarda e está sendo enviado os dados para o lote.1FimEnvioIndica que a retaguarda fechou o lote para iniciar o processamento do lote.2ValidadoOKIndica que o POSH validou os dados e criou os loja lotes para baixa3ValidadoErroIndica que ocorreu algum erro no processo e não foram criado os loja lotes. O erro mais comum nesse caso é o POSH não encontra os dados q foram enviados.4ProcessandoIndica que o POSH está processando o lote Expandirtitle Loja Lote Expandir
    titleDetalhamento

    O monitoramento do loja lote é feito pelas apis do PDVSync.Core.Controle.

    Nesse endpoint temos informações com relação aos loja lotes, informações como:

    • Quais itens deram problema na baixa? Por quê?
    • Quais lojas baixaram os dados? Quais não iniciaram a baixa?

    Para acessar os dados a requisição é a seguinte

    • Endpoint: /api/retaguarda/v2/LojaLoteStatusRetorno/{id lote externo}?{parâmetros}
    • Método: GET
    • Autenticação: Bearer token
    • Permissão: Retaguarda

    Para esse endpoint, alguns parâmetro precisam ser enviados na requisição. Estes parâmetros são:

    ParametroDescriçãoTipoObservaçãoinquilinoId inquilino do loja lotestringObrigatórioloteorigemLote origem que será buscado o statusstringObrigatórioidRetaguardaLojaId retaguarda da loja que será buscado o statusstringOpcionaltipoLoteTipo do lote que será buscado o statusintOpcional

    Os parâmetros opcionais funcionam como um filtro de dados, caso estejam preenchidos ele trará somente os dados relacionados ao filtro.

    Expandir
    titleRetorno da requisição

    {
        "success": bool,
        "message": "string",
        "data": {
            "lote": "string",
            "loteOrigem": "string",
            "lojaLotes": [
                {
                    "status": int,
                    "errosIdentificados": [
                        {
                            "tipoLote": int,
                            "idRetaguarda": "string",
                            "erro": "string",
                            "tipoLojaLote": int
                        }
                    ],
                    "idRetaguardaLoja": "string",
                    "idInquilino": "string",
                    "dataAtualizacao": "datetime",
                    "dataCadastro": "datetime",
                    "id": int
                }
            ],
            "pagina": int,
            "hasnext": bool
        }
    }

    Expandir
    titleDefinição dos campos de retorno

    Campo

    Tipo

    Descrição

    SuccessboolIndica se a requisição foi feita com sucessoMessagestring

    Mensagem de erro retornada 

    DataobjetoObjeto de retorno

    Data.Lote

    stringNúmero de identificação do lojaLote

    Data.Loteorigem

    stringNúmero de identificação Data.Lojaloteslista de objetosLista com os loja lotesData.Lojalotes.StatusintIndica o status em que o loja lote se encontra. (Definição dos status na seção abaixo)Data.Lojalotes.Errosidentificadoslista de objetosLista com o erros identificados na integração do loja lote

    Data.Lojalotes.Errosidentificados.Tipolote

    intIndica o tipo do loteData.Lojalotes.Errosidentificados.IdretaguardastringId retaguarda do itemData.Lojalotes.Errosidentificados.Erro

    string

    Erro ocorrido com o itemData.Lojalotes.ErrosidentificadosTipolojaloteintIndio o tipo do loja lote do itemData.IdretaguardalojastringId retaguada da loja proprietária do loteData.IdinquilinostringIdentificação do inquilinoData.Dataatualizacaodatetimedata de atualização do loja loteData.Datacadastrodatetimedata de cadastro do loja loteData.IdintId do loja lotePaginaintIndica em qual página está os dadosHasnextboolIndica se há mais páginas de dados Expandir
    titleStatus do loja lote
    CódigoNomeDescrição0EmPreparacao

    Indica que o POSH está criando o loja lote

    1EmProcessamentoIndica que o POSH está validando o loja lote2DisponivelIndica que o loja lote está disponível para a baixa pelo PDV Omni3IndisponivelIndica que o loja lote está indisponível para baixa pelo PDV Omni4EmProcessoDeBaixaIndica que o loja lote está sendo baixado pelo PDV Omni5BaixadoComSucessoIndica que todos os dados enviados para o loja lote foram integrados com sucesso ao PDV Omni6BaixadoComErroIndica que ao menos um item deu erro na integração com o PDV Omni7EnviadoComSucessoIndica que o loja lote foi envidado com sucesso para a retaguarda8EnviadoComErroIndica que o loja lote não foi enviado com sucesso para a retaguarda9ComProblemaVerificarIndica que ocorreu alguma problema com o loja lote e deve-se verificar
    Informações
    titleFluxogramas POSH
    Expandir
    titleFluxo Assíncrono (Offline)

    Expandir
    titleFluxo Síncrono (Online)

    ...