CONTEÚDO
01. VISÃO GERAL
E-Commerces podem ser integrados ao TOTVS Omni totalmente através das APIs REST do TOTVS Omni.
Desta forma o desenvolvimento da integração pode ser feita dentro dos sistemas E-Commerces (canal de venda) e assim não é necessário o desenvolvimento de conectores no OMNI para todas as operações de integração.
O TOTVS Omni disponibiliza APIs REST para realizar operações das duas entidades: Produtos e Pedidos.
Para utilizar a API REST do TOTVS Omni é necessário ter um usuário criado no TOTVS Omni com acesso administrativo à API, realizar a autenticação via endpoint "Autenticacao TOTVS Omni - Gerar Token" e utilizar o token gerado nas demais chamdas à API REST.IMPORTANTE!
02. PUBLICAÇÃO DE PRODUTOS, PREÇO E ESTOQUE
Normalmente a publicação de produtos no canal de venda é realizada através de conector desenvolvido e publicado no TOTVS Omni, sendo assim o Omni é ativo na comunicação com o canal de venda e o canal de venda passivo nesta integração.
Porém, é possível que esta integração seja realizada pelo canal de venda, tornando-se o ativo, e o Omni seja passivo na integração: O Omni sendo consultado periodicamente pelo canal de venda.
Neste modelo cria-se publicações e associa-se produtos à publicação da mesma forma através da interface web do TOTVS Omni.
Como não existe conector cabe ao canal de venda realizar a consulta ao Omni para recuperar as informações sobre produtos publicados, incluindo preço e estoque.
Periodicamente é necessário que o método "calcularCambios" das publicações precisam ser executados. Este método atualiza a base do Omni com o valor da hash calculada para atributos, preços e estoque.
Esta atividade é necessária para que a consulta de produtos em publicações retorne somente os produtos adequadamente.
O fluxo a seguir demonstra como utilizar a Postman Collection anexada no fim desta página para desenvolver esta parte da integração com o TOTVS Omni:
A consulta "Lista de IDs de Produtos em Publicações" deve ser feita passando no body da requisção a lista de ids de produtos e suas respectivas hashs, que foram retornadas desde a ultima consulta e armazenadas do lado do canal de venda.
Desta forma o TOTVS Omni irá calcular se houve mudança de preço, atributo ou estoque perante as hashs apresentadas e retornar a lista somente dos produtos que sofreram alteração.
A lista de IDs de produtos retornada desta consulta é utilizada na consulta "Lista de Produtos em Publicações" para trazer os detalhes dos produtos.
Ambas consultas devem ser feita usando o Site ID do canal de venda (que representa o canal de venda do cliente no TOTVS Omni).
Veja Conceito de Sites, Lojas e Estrutura de Pedidos
Também é necessário que a propriedade "gestionado.en.gestor.de.canales" do site canal de venda esteja ativa
Abaixo um exemplo de JSON de resposta da consulta de produtos com comentários nos campos mais importantes:
Importante que o canal de venda armazene o codigo de referência e o tamanho do produto (mesmo nos casos tamanho único) para que o canal de venda possa criar um pedido referenciando o produto.
05. CICLO DE VIDA DE PEDIDO
Com as informações de produtos, preço e estoque disponíveis no canal de venda, e uma vez selecionado o(s) produto(s) que o cliente deseja realizar a compra, o Ecommerce deve realizar a jornada do carrinho de compras culminando na criação do pedido no Omni.
Durante o carrinho de compras é possível realizar uma consulta no Omni para verificar os níveis de serviço de entrega, isto é, as formas de entrega dos produtos no carrinho de compras.
Para isso é necessário realizar a chamada à API REST correspondente.
Os níveis de serviço precisam ser previamente cadastrados pelo cliente dentro do TOTVS Omni, e o uso da API recebe como parametro o EAN do produto, conforme JSON explicado abaixo:
A API retorna uma lista de informações sobre a entrega:
As informações contidas na resposta devem ser analisadas pelo canal de venda e exibidas de acordo com o requisito de negócio do canal de venda.
Os pedidos só devem ser criados no TOTVS OMNI após a confirmação do pagamento realizada no canal de venda.
O Fluxo a seguir exemplifica o ciclo de vida de um pedido pago e o consumo de APIs do Omni que os Ecommerce devem fazer para prosseguir com este pedido pelo fluxo (veja Ciclo de Vida de Pedido).
Ao retornar a lista de pedidos filhos (veja Ciclo de Vida de Pedido) o canal de venda pode exibir ao cliente o status e demais detalhes do pedido, incluindo se ele foi splitado ou não.
06. POSTMAN COLLECTION
Abaixo uma postman collection contendo as chamadas relacionadas neste documento.