Informações
LogManager é um orquestrador logístico voltado a atender Last Mile e Retirada em Loja.
Com esta nova integração teremos os seguintes benefícios:
- Simplificação dos processos em loja;
- Redução dos chamados no SAC;
- Digitalização da sua frota dedicada com o App LogManager;
- Mais informações: LogManager.
1 - Configuração do Meio de entrega:
- Criação do meio de entrega LogManager através do menu Configs > Meio de Entrega, clicar em Adicionar Meio de Entrega.
- Na tela de criação do meio de entrega, na aba Forma de Entrega, selecione Personalizado nos campos Transportadora e Método de Entrega:
- No campo Nome, preencha o nome do meio de transporte (LogManager). O campo Alias preencherá automaticamente de acordo:
- Selecione a opçao Inativo na opção Múltiplas Cotações;
- Quanto a opção Exibir se a cotação for zero, a seleção será conforme regra de negócio do lojista.
- Se necessário, use o campo Descrição para instruções aos clientes e Identificador de Integração para identificar o meio de transporte;
- Caso queria incluir uma Faixa de valor permitido, preencha o Valor Inicial, que deve ser maior que 0 e Valor Final, que para cotações sem restrição de valor do gateway, manter os valores zerados;
- Se utilizado Tempo de Manuseio e Cross Docking em alguns produtos, é necessário ativar o Ajuste no prazo de entrega
- Ao configurar para Considerar os dias para envio do SKU, o cálculo de frete irá somar o prazo da planilha com o prazo inserido no produto;
- Selecione a primeira opção se Utilizar faixa de peso definida automaticamente pelo Gateway de entrega ou Definir manualmente, selecione a opção e preencha o Peso Inicial e Final:
- Na aba Configurações do Gateway realize o download do modelo da planilha que deve ser utilizada na forma de entrega;
- Após configurar a planilha com o mesmo padrão da planilha modelo, carregue a mesma na plataforma clicando em Escolher arquivo:
- Clique em Salvar ao finalizar as configurações.
2 - Configuração do envio do pedido para Consumo Integrador:
Todo o pedido que for criado com o meio de entrega sendo LogManager será necessário ser consumido pelo parceiro logístico. Para que essa integração de pedidos possa ocorrer é necessário que haja a criação de uma fila de pedido, e também, um mecanismo que envie o pedido para essa fila para consumo.
Será criado a fila de recebimento do pedido e o workflow de envio do pedido com o meio de entrega LogManager para esta mesma fila.
2.1 - Fila de integração:
- No painel, acesseo menu Integrações > Gerenciamento de filas > Adicionar Fila e clique em Adicionar Fila;
- Preencha as informações da Guia Fila e clique em salvar ou Salvar e fechar:
Na seção Consumidores é necessário criar um usuário com permissionamento de administrador para receber os pedidos.
2.2 - Fuxo de pedido
- No painel, acesse o menu Configs > Fluxos > e selecione o workflow que será desejado conter a tarefa que envia o pedido para a fila recém criada para que a LogManager possa consumir o pedido.
- Ao selecionar o workflow desejado, será necessário adicionar um novo grupo e inserir a tarefa Enviar pedido para a fila de integração, e preencher conforme imagem abaixo:
- Sendo assim, sempre que o pedido for da LogManager e entrar nesse estágio, o pedido será direcionado para a fila para ser consumido.
3. Consumo do pedido pelo Integrador:
O consumo é realizado através do pedidos contido na fila de integração criada exclusivamente para a LogManager. Sendo assim, todo o pedido que constar nessa fila será um pedido que a LogManager fará o consumo para dar as tratativas, e posteriormente, atualizar a entrega na plataforma.
3.1 - Obtendo pedidos na fila de integração
Deverá ser executado o método da API (SearchQueueItems) com o devido conteúdo no body: (o QueueAlias a ser passado é o nome da fila criado na seção 2.1)
- Método /v1/Queue/API.svc/web/SearchQueueItems.
{
"QueueID": null,
"QueueAlias": "Transportadora",
"LockItems": 0,
"LockSpan": null,
"Attempts": 10,
"Page": {
"PageIndex": 0,
"PageSize": 200
},
"Where": "",
"WhereMetadata": "",
"OrderBy": ""
}- No retorno deve ser levado em consideração o conteúdo da propriedade EntityKeyValue, onde ele representa a identificação do pedido que deverá ser informado no método. Um ponto de observação é o conteúdo da próriedade EntityTypeName. Caso seja EZ.Store.Model.Sales.PurchaseOrder, o conteúdo da propriedade EntityKeyValue será passado no método GetOrderByNumber, mas caso seja OrderGroupNumber faremos a busca dos dados do pedido através do método GetOrderGroupByNumber.
3.2 - Busca das informações do Pedido
- Deverá ser executado o método da API GetOrderByNumber para pedidos PurchaseOrder e o método da API GetOrderGroupByNumber para o EntityTypeName OrderGroupNumber.
- Ambos os métodos o conteúdo da requisição é o número do pedido obtido na busca de pedidos na fila de integração.
3.3 - Atualização de Pedidos (UpdateOrder)
- Após consumir o pedido que consta na fila, o mesmo deverá ser removido desta fila para que tenhamos um gerência correta da integração.
Deverá ser chamado o método da API de QUEUE DequeueQueueItems com o devido conteúdo na requisição: (Notem que deve ser inserido o QUEUEITEMID do item retornado no primero passo de consulta a fila):
Método:/v1/Queue/API.svc/web/DequeueQueueItems
{ "QueueItems": [ "d0a81f13-6072-4c02-a960-fec808983658" ] }
3.4 - Atualização de Pedidos (UpdateOrder)
- Após consumir o pedido que consta na fila, e dar todas as tratativas internamente na transportadora, as atualizações que ocorrerem na transportadora deverão ser enviadas para a plataforma;
- Para atualizar os pedidos, utilizamos o método v1/Sales/API.svc/web/UpdateOrder, onde através dele serão inseridas as informações de atualizações dos pedidos.
WorkflowTypes permitidos:
- ConfirmPayment, Invoiced, Shipped, Delivered, Canceled, PickupReady, PickupFail.
4 - Coleção Postman:
Abaixo os métodos listados na seção 3 com os respectivos exemplos a serem seguidos para ter uma completa integração:
- Os métodos recebem como endpoint o nome da loja, conforme exemplo: https://nomedaloja.layer.core.dcg.com.br/v1/Sales/API.svc/web/UpdateOrder;
- A autenticação é basic auth, onde será gerada uma por ambiente visando conseguirem realizar a integração completa.
Observação 1: Caso haja alguma propriedade em tela que não exista no método, poderão acionar-nos para adicionarmos alguma propriedade faltante.