Este guia deverá ser utilizado pelas Marketplaces/Integradoras que irão começar o processo de integração com o HUB 2.0.
Nele temos como objetivo facilitar o entendimento de como serão realizados os primeiros passos da integração.
Contato Time HUB Delivery: [email protected]
Para iniciar o processo, é necessário manifestar o interesse no e-mail acima solicitando o inicio da integração,
após o OK da equipe, será enviado o Usuário e Senha da sua Marketplace/Integradora e os dados da sua loja de teste.
Após realizar o contato com a equipe do HUB Delivery, recomendamos os seguintes passos.
- De uma olhada nas nossas estruturas de API's que compõem o HUB 2.0.
Clique aqui: HUB Delivery (Homologação) - Para utilizar os nossos Endpoints é necessário realizar a autenticação via Token.
Utilize o Usuário e a Senha gerados pela equipe do HUB Delivery
Usuário (CNPJ da Marketplace/Integradora)
Senha (Senha gerada para o CNPJ da Marketplace/Integradora)
Após colocar os dados e clicar em "Execute" o Token será gerado na resposta.
Copie o conteúdo dentro das aspas, clique no botão de Authorize na parte superior do Swagger.
Quando a janela de autorização abrir, utilize o prefixo Bearer para autorizar o Token.
ATENÇÃO: É importante ter o espaço entre o Bearer e o Token que vai ser colado, gerando algo parecido com:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9wOi8vcw.........
Após clicar em "Authorize" a Janela de autorização tem que ser exatamente esta:
Agora você conseguira utilizar todos os nossos Endpoints disponíveis no HUB 2.0. - Depois de efetuar a autorização, é necessário uma loja de teste para onde vão ser encaminhados os pedidos.
utilize o idLoja enviado pela equipe HUB Delivery para integrar os pedidos, seguindo toda a documentação.
Para facilitar a sua jornada de desenvolvimento, temos um dicionário de dados no link abaixo:
Seleção de dicionários de dados (lx-hub-delivery-api-hmg.azurewebsites.net) - (Fluxo Principal) O Fluxo principal são os Endpoints vitais para que a aplicação funcione, sendo eles:
IncluirPedidos;
ConsultarLotePedido;
ConsultarDetalhePedido;
Não é obrigatório realizar a mudança de Situação via Marketplace/Integradora, mas para o melhor controle dos
pedidos seria ideal utiliza-los.
Abaixo você confere o Fluxograma Principal do HUB Delivery.
Falando um pouco sobre o ConsultarLotePedido:
Nele existe um parâmetro chamado listarTudoDoDia, esse parâmetro serve para listar todos os pedidos do dia
independente da situação e do horário que ele foi lançado, caso queira essas informações mande como true.
Caso as requisições na API ConsultarLotePedido não tenha o listarTudoDoDia como true ela vai funcionar com as seguintes regras:
-Serão enviados pedidos das ultimas 2 horas;
-Serão enviados pedidos que não foram reconhecidos*;
Reconhecidos*: É possível reconhecer pedidos para que eles não sobrecarreguem a API ConsultarLotePedido ou seja,
se a sua Marketplace/Integradora enviar um pedido para o HUB, e o HUB aceitar o pedido, na API ConsultarLotePedido irá retornar como
aceito. Você reconhecendo essa Situação ele deixará de aparecer na API ConsultarLotePedido voltando a aparecer somente
se houver modificação na sua Situação.
As APIs para reconhecer as Situações são:
Autenticação: Para qualquer operação realizada no HUB Delivery, é necessário autenticar (api/v1/usuario/token)
que gera um token com validade de 4 horas.
Caso o token expire, fica a escolha da Marketplace/Integradora gerar um novo token ou utilizar a Endpoint (api/v1/usuario/refresh_token)
para renovar o mesmo token por mais 4 horas.
Consultar Lote de Pedidos e Detalhes: Para recuperar o Lote de pedidos com seus respectivos IDs e informações
de Loja use o Endpoint (api/v1/Pedido/ConsultarLotePedido).
Para consultar o detalhe dos pedidos utilize o Endpoint (api/v1/Pedido/ConsultarDetalhePedido/{idPedido}), é necessário colocar
no path {idPedido} o ID do pedido que será consultado.
Inserir Pedidos e Alterar Status: Estes Endpoints em geral utilizam os mesmos dados para funcionarem, porém temos
algumas exceções como:
(api/v1/Pedido/IncluirPedido/{idLoja}): É necessário colocar no path {idLoja} o ID da loja que será inserido o pedido e o detalhe do pedido
no Request Body em JSON.
(api/v1/Pedido/EntregarPedido): É necessário enviar o ID do pedido e o id do entregador.