📗 2️⃣ Integração com Lexos E-commerce.O “Integrador e-commerce”, agora possui a plataforma “Lexos” disponível para integração dos pedidos feitos através do e-commerce para o Guarani ERP (Imagem 1). Informações |
---|
Para configurar a integração com a “Lexos” no “Integrador ECommerce”, serão necessários os dados: URL Integração: api.lexos.com.br; Usuário: E-mail para a autenticação (api.lexos.com.br/Autenticacao); Senha: Senha para a autenticação (api.lexos.com.br/Autenticacao); Code: Primeiro token disponibilizado com o usuário e senha da autenticação; Chave de Integração: Token disponibilizado pela Lexos, disponível no painel do usuário; Refresh Token: Campo de preenchimento automático que controla os tokens de atualização para realizar novas requisições.
|
Painel |
---|
| Ao criar este acesso, o primeiro code (um token JWT), será gerado na própria URL. Devido ao “Integrador ECommerce” não conseguir inserir estes dados via código, este primeiro passo deverá ser feito manualmente através do navegador (Imagem 3). |
Painel |
---|
| Com o code da URL copiado, será necessário colar no campo “Code”, nas configurações do integrador. A “Chave de Integração” também deverá ser inserida (a própria “Lexos” localiza esta informação, caso o usuário não encontre no painel). O campo “Refresh Token” será o único a não ser preenchido inicialmente (Imagem 4). |
Aviso |
---|
Ao testar pela primeira vez, o “Integrador ECommerce” preencherá o campo “Refresh Token”, que será atualizado automaticamente em toda chamada na integração (Imagem 5). |
Informações |
---|
Catálogo O “Integrador ECommerce” possui cinco chamadas para cadastramento de catálogo da “Lexos”, sendo elas: |
Painel |
---|
| Da mesma forma que as demais integrações, as informações “De -> Para” deverão ser inseridas. Apenas uma tabela de preço foi disponibilizada neste momento, pois isso dependerá de uma condição específica do usuário que utilizará a integração. O status para importação no integrador, neste momento deverá ser “Todos” e para o ERP, vazio. Além disso, deverão ser inseridos os estoques e usuários de cancelamento. As demais informações serão necessárias com o início da chegada dos pedidos (Imagem 6). |
Aviso |
---|
Nenhum POST foi realizado em lojas reais da Lexos, por não haver ambiente de testes. De qualquer maneira, é possível capturar o JSON gerado em cada carga. Os arquivos (payload) ficarão na pasta Response, da instalação do integrador, nas pastas do nome do endpoint da API. |
Painel |
---|
| Como exemplo, será enviada uma carga individual de produto (da mesma maneira que as demais integrações) (Imagem 8). |
O arquivo será gerado em “…\Response\PRODUTO” com a data e hora atual: Painel |
---|
| [ { "ProdutoTipoId": "configuravel", "Sku": "XXX-XXXX", "Ean": "XXXXXXXXXXXXX", "Nome": "ABRASIVO XXXXXXXXXXX", "LocalArm": "Deposito A", "Peso": 1.5, "Comprimento": 4, "Largura": 3, "Altura": 2, "DescricaoResumida": "Especificacao resumida.", "Descricao": "Especificacao detalhada.", "DescricaoMarketplace": "Descricao marketplace.", "Marca": "XXXXX", "Modelo": "GERAL", "VideoURL": "X ", "ProdutoImposto": { "NCM": "XXXX.XX.XX", "Cest": "XX.XXX.XX", "Origem": 0 }, "Estoques": [ { "Sku": "XXX-XXXX", "LojaIdGlobal": null, "LocalArm": "", "Quantidade": 10049, "QuantidadeReservado": 0, "Custo": 12159.29 } ], "Precos": [ { "Sku": "XXX-XXXX", "Codigo": "preco_venda", "Preco": 1.1 } ], "ProdutoEanComplemento": [ "XXXXXXXXXXXXX", "XXXXXX", "XXXXX", "XXXXX" ] } ] |
Aviso |
---|
São informações comuns, como descrição, valor unitário, estoque AFV. As informações sobre medidas e especificações são (Imagem 9). |
O arquivo da carga de estoque será gerado em “…\Response\ESTOQUE” com a data e hora atual. Painel |
---|
| [
{
"sku": "XXX-XXXX",
"quantidade": XXXXX,
"quantidadeReservado": 0,
"custo": 12159.29,
"lojaIdGlobal": null,
"localArm": ""
}
]
|
O arquivo da carga de preço será gerado em “…\Response\PRECO” com a data e hora atual. Painel |
---|
| [ { "sku": "XXX-XXXX", "preco": 1.1, "codigo": "preco_venda" } ] |
Aviso |
---|
Apesar de não disponibilizar uma loja teste para postagem de produtos, a Lexos passou informações de uma loja com pedidos para testarmos a importação (porém, sem responder com o status de importado no ERP). Na carga manual buscando todos ou no serviço, o integrador irá utilizar o método ObterLista. Esse método responde com resumos dos pedidos a partir de uma data atribuída (para nós, o LastUpdate). |
Painel |
---|
| { "PaginaAtual": 1, "TotalPaginas": 1, "TotalRegistros": 14, "Pedidos": [ { "PedidoId": XXXXXXXX, "Data": "2023-03-20T17:17:43Z", "AtualizadoEm": "2023-03-20T17:26:56.173Z", "PedidoStatus": "Aguardando Pagamento" }, { "PedidoId": XXXXXXXX, "Data": "2023-03-20T17:17:12Z", "AtualizadoEm": "2023-03-20T17:27:05.487Z", "PedidoStatus": "Aguardando Pagamento" }, { "PedidoId": XXXXXXXX, "Data": "2023-03-20T17:16:10Z", "AtualizadoEm": "2023-03-20T17:56:26.747Z", "PedidoStatus": "Cancelado antes do envio" }, { "PedidoId": XXXXXXXX, "Data": "2023-03-16T09:25:33Z", "AtualizadoEm": "2023-03-21T00:01:46Z", "PedidoStatus": "Pagamento Confirmado" }, { "PedidoId": XXXXXXXX, "Data": "2023-03-16T09:15:42Z", "AtualizadoEm": "2023-03-21T00:03:19Z", "PedidoStatus": "Pagamento Confirmado" }, { "PedidoId": XXXXXXXX, "Data": "2023-03-16T09:20:32Z", "AtualizadoEm": "2023-03-21T00:03:38Z", "PedidoStatus": "Enviado" } ] } |
Os arquivos de payload dessa requisição ficarão na pasta …\Response\OBTERLISTA. Assim, o integrador irá percorrer esses resumos para capturar a informação completa do pedido, disponibilizada no método ObterPorId. Painel |
---|
| { "PedidoId": XXXX, "PedidoERPId": -1, "Codigo": "XXXXXXXX", "Data": "2019-11-03T23:45:59Z", "Status": "pagamento_confirmado", "Desconto": 0, "Acrescimo": 0, "Frete": 0, "FreteCusto": 18.54, "SubTotal": 165.65, "Total": 165.65, "TipoFrete": "me2", "EntregasStatus": null, "ClienteCpfcnpj": "XXXXXXXX", "ClienteNome": "XXXXX", "ClienteNomeFantasia": "XXXXXXXX", "ClienteDataNascimento": null, "ClienteSexo": null, "ClienteRg": null, "Observacao": null, "CodigoRastreio": null, "CodigoPlataforma": "meli", "Plataforma": "Mercado Livre", "Canal": "Mercado Livre", "LojaId": 1, "PedidoStatusERPId": null, "UpdatedOn": "2020-04-21T02:01:59.293Z", "CodigoLojaErpExterno": null, "PedidoCampanhaView": null, "Contatos": [ { "Nome": "XXXXXXXX", "Telefone": "XXXXXXXX", "Email": "XXXXXXXXXX" } ], "Enderecos": [ { "TipoEndereco": "entrega", "Endereco": "XXXXXXXX", "Bairro": null, "Cidade": "XXXXXXXX", "Uf": "PR", "Pais": null, "Cep": "XXXXXXXX", "Numero": "XXX", "Complemento": "XXXXXX" } ], "ComposicaoPagamento": [ { "FormaPagamento": "credit_card", "QuantidadeParcelas": 1, "Data": "2019-11-03T23:46:01Z", "Valor": 165.65 } ], "Itens": [ { "Sku": "ds_64452_2", "Descricao": "XXXXXXXXXXXXX", "Qtde": 1, "Valor": 165.65, "Desconto": 0, "Acrescimo": 0, "Comissao": 18.22, "ProdutoTipo": "simples", "ProdutoId": 1, "AnuncioId": 1321129 } ], "NFes": [ { "ChaveNFe": "NFeXXXXXXXXX", "LojaId": 26, "Status": 1 } ], "Integracao": "Meli Fulfillment", "Transportadora": { "TransportadoraId": 3, "Nome": "Mercado Envios" }, "TipoLogistica": "Full" } |
Aviso |
---|
Os arquivos de “payload” desta requisição ficarão na pasta “…\Response\OBTERPORID”. Este será o pedido que será gravado na tabela “Pedidos” do integrador, assim como posteriormente no Guarani ERP. Todas as associações possíveis foram realizadas, ao homologar, mais informações podem ser encontradas e/ou alteradas em relação aos campos da Lexos com os da Guarani. Ao realizar uma carga por todos os pedidos, o integrador percorrerá a lista citada e irá gravar os pedidos disponíveis nela.
|
Painel |
---|
| Neste ponto, os logs de “De → Para” serão exibidos (por se tratar de uma integração nova), como cidades, cobranças etc (Imagem 11). |
Painel |
---|
| O processo comum será inserir normalmente, assim como nos outros E-Commerces (Imagens 12, 13 e 14). |
Painel |
---|
| Quando os “De → Para” estiverem informados corretamente, os pedidos subirão para o Guarani ERP (Imagem 15). |
Painel |
---|
| Já na importação de pedidos específicos, o “endpoint” utilizado será o “ObterPorCodigo”, (número do pedido na plataforma da “Lexos”). Para estes pedidos, o payload ficará na pasta “…\Response\OBTERPORCODIGO” (apenas manuais). Ao pesquisar, o pedido será exibido normalmente (Imagens 16, 17, 18 e 19). |
|