Guia de Implementação das rotas de API Neomode
- 1 A Interface de conexão da Neomode
- 2 Arquivos para Download
- 3 Atribuições de Integração: ERP vs Canal de Venda
- 4 Autenticação
- 5 Estrutura de catálogo
- 6 Estrutura dos pedidos
- 7 Histórico da atualizações da página
A Interface de conexão da Neomode
A Neomode possui uma estrutura de APIS REST para parceiros. Este artigo traz algumas dicas e esclarecimentos de regras de negócio e responsabilidades para facilitar a implementação.
Arquivos para Download
Coleção do Postman + Environment
Como baixar e importar no Postman Data import and export in Postman | Postman Learning Center
Collection (coleção) Download:
Environment (variáveis de automação) Download:
Atribuições de Integração: ERP vs Canal de Venda
É possível utilizar as API’s de gerenciamento da Neomode como um ERP ou um Canal de venda. Cada parte tem responsabilidades diferentes e isso reflete na utilização das rotas.
Responsabilidades conectando como um ERP
Ações em Catálogo
Cadastrar a árvore de categorias.
Cadastrar os produtos & skus.
Inserir preço nos produtos da loja.
Inserir estoque nos skus da loja.
Ações em Pedidos
Adquirir os novos pedidos.
Aprovar os novos pedidos.
Faturar os pedidos aprovados (inserindo os dados da nota fiscal).
Inserir os dados de transporte ou confirmar retirada dos pedidos faturados.
Responsabilidades conectando como um Canal de Venda
Ações em Pedidos
Criar pedido.
Aprovar pagamento.
Consumir dados de faturamento.
Consumir dados de entrega ou retirada do pedido.
Ações em Catálogo
Consumir árvore de categorias.
Consumir produtos & skus.
Consumir movimentações de estoque.
Consumir movimentações de preço.
Autenticação Autenticação
A autenticação é feita via Bearer Token, que expira em 1 hora. É preciso gerar um novo a cada expiração.
Os dados necessários: clientId
, clientSecret
& scope
serão disponibilizados pelo time de implantação.
Com sucesso na resposta (200 OK):
{"access_token":"your_token_will_be_here","expires_in":3600,"token_type":"Bearer"}
O valor de "access_token"
será usado no Header em todas as requisições, dessa forma:
--header 'Authorization: Bearer put_token_here' \
Estrutura de catálogo
Para entender como replicar um catálogo na Neomode, vamos dividir os elementos principais.
Categorias
Produtos (Agrupador)
Skus (Variações)
Preços
Saldos de estoque.
Loja(s)
1. Árvore de categorias
A Lori possui um sistema de categorias em níveis. É possível ter uma lista de categorias e as categorias dentro desta lista possuírem vinculo com outros níveis de categorias, veja:
A categoria de nível superior é atrelada a categoria de nível inferior através de um campo identificador parentId
dentro dela mesma.
A identificação de uma categoria PAI é a falta do
parentId
.A identificação de uma SUBcategoria é a presença do
parentId
.Esta mesma SUBcategoria pode ser PAI de outra categoria através do
parentId
.
Vamos entender na prático com o pasos a passo.
Passo a passo: Como criar a árvore de categorias
Criar as categorias em níveis, pois o o Id do primeiro nível será utilizado para vincular a categoria de segundo nível.
Consultando as categorias criadas
Endpoint: https://neomode.readme.io/reference/consultar-categorias
2. Produtos & Skus
Para construção do catálogo, existem duas formas de preenchimento dos produtos através do modelo de variações que ele foi montado:
Produto único ou com preço por única variação (ex: perfume, valor diferente por frasco)
Produto com grade com variação de cor ou tamanho.
Passo a passo: Como criar os produtos & skus
Ambiente Multi-loja
Nesse cenário, cada NeoProductPrice ou NeoSkuStock precisa ser relacionado a uma única loja ( ao NeoSeller).
Gerenciamento de seller via API
Consultando a lista de sellers: https://neomode.readme.io/reference/get-sellers-list
Criando um novo seller: https://neomode.readme.io/reference/post-create-seller
Editando um seller existente: https://neomode.readme.io/reference/put-update-seller
Estrutura dos pedidos
A estrutura de pedidos varia sendo ERP ou Canal de Venda. Durante a vida de um pedido nós podemos separar em fases.
Criação do pedido pelo canal de venda.
Reserva pelo ERP. (opcional)
Aprovação do pagamento pelo canal de venda.
Confirmação do pedido pelo ERP. (obrigatória)
Faturamento do pedido pelo ERP.
Dados de transporte preenchidos pelo ERP.
Consumo das atualizações pelo canal de venda.
Finalização do pedido.
Campos Identificadores do pedido
Campo | Tipo | Função | Onde encontrar via painel? |
---|---|---|---|
id | String (Guid) | Unique Identifier interno da Neomode. | Na URL (Link) da página. |
ExternalId | String | Identificador do pedido no Canal de Venda. | No primeiro bloco do pedido |
SellerOrderId | String | Identificarod do pedido no ERP. | No primeiro bloco do pedido |
Implementando um fluxo de pedido Neomode via API como um ERP
Este modelo utiliza a API de pedidos v1 da Neomode.
Embora o uso da esteira de pedidos seja flexível. Segue abaixo uma sugestão de implementação e funcionamento
Status
de pedidos na API:
Id | Status | CannonicalStatus | Descrição |
---|---|---|---|
0 | None | CreatedInternal | Pedido Recebido |
1 | Pending | CreatedInternal | Pedido criado na Lori |
2 | PendingCreate | AwaitingCreation | Aguardando criação do pedido |
3 | PendingApproval | AwaitingCreation | Aguardando confirmação de ponto de venda |
4 | ApprovedExternal | CreatedExternal | Pedido confirmado no ponto de venda |
5 | Processing | AwaitingInvoiceCreation | Em faturamento |
6 | Separate | Separated | Produtos separados |
7 | InDelivery | Shipping | Em transporte |
8 | ReadyForPickup | ReadyForPickup | Pronto para retirada |
9 | Finalized | Finalized | Finalizado |
10 | CandeledBySeller | Canceled | Cancelado pelo ponto de venda |
11 | CanceledByBuyer | Canceled | Cancelado pelo consumidor |
12 | CanceledByAdmin | Canceled | Cancelado pelo administrador |
13 | PendingCancel | Canceled | Pendente de cancelamento |
14 | PendingCreatePreOrder | AwaitingCreation | Aguardando criação da pré-venda |
15 | PreOrderCreated | CreatedExternal | Pré-venda criada no ponto de venda |
16 | ErrorCancel | Error | Erro ao cancelar pedido |
17 | PendingUpdate | InProgress | Pendente de atualização |
18 | Updated | InProgress | Pedido atualizado |
19 | ErrorUpdate | Error | Erro ao atualizar pedido |
20 | InvoiceCreated | InvoiceCreated | Nota fiscal emitida |
21 | CanceledByProcessor | Canceled | Cancelado via processo |
1. Buscar um pedido na Lori
Um pedido está pronto para coleta do ERP quando estiver no status aguardando criação do pedido Id:2
na API.
Rota de consulta do pedido: https://neomode.readme.io/reference/getordersbyguidid ou https://neomode.readme.io/reference/consulta-pedidos-por-loja-getordersbyseller.
Na collection Postman fornecida, estão no caminho “Pedidos > Consultas”.
2. Confirmar pedido criado no ERP
Ao criar um pedido com sucesso, o ERP deve confirmar o pedido para pedido confirmado no pdv no painel Id:4
na API.
Rota de atualização de status do pedido: https://neomode.readme.io/reference/atualiza-status-de-um-pedido-updateorderstatus.
Na collection Postman fornecida, está no caminho “ERP - Ações do pedido > 1. Aprovar pedido”.]
2.1 Inserir o Código do ERP no pedido
Logo em seguida o ERP deve informar o código interno gerado para identificação.
Rota de inserção do Código do ERP/PDV: https://neomode.readme.io/reference/update-sellerorderid-of-an-order.
Na collection Postman fornecida, está no caminho “ERP - Ações do pedido > 2. Atualizar SellerOrderId através do Guid ”
Status transacionais (extras) flexíveis
Exemplo: Um pedido pode ficar em faturamento no painel e Processing
ou Id:5
na API, logo após pedido confirmado no pdv (step anterior) se necessário.
📢 Os status transacionais são flexíveis e geralmente são utilizados para normatização da exibição ou mapeamento de fase de pedidos entre os canais de venda.
📢 Transições automáticas nascem desligadas por padrão.
3. Inserir dados de NFe / Faturar um pedido
Ao inserir os dados de faturamento o pedido transitará para nota fiscal emitida no painel e InvoiceCreated
ou Id:20
na API.
Rota de inserção dos dados de nota-fiscal
https://neomode.readme.io/reference/atualizar-detalhes-da-nota-fiscal-updateinvoicedetailsasync (ao inserir a nota-fiscal o pedido transitará de 4 ou 5 para 20).Na collection Postman fornecida, está no caminho “ERP - Ações do pedido > 3. Inserir dados de faturamento através do SellerOrderId”
4. Notificar Entrega ou Retirada
Inserir dados de Entrega e Notificar Pedido em Transporte
Ao inserir os dados de rastreio o pedido transitará para em transporte no painel.
Rota de inserção dos dados de entrega: https://neomode.readme.io/reference/upsertordertrackingdetailsasync
Na collection Postman fornecida, está no caminho “ERP - Ações do pedido > 4. Inserir rastreio de entrega através do SellerOrderId”
Notificar pedido Pronto para Retirada
Rota para inserir o status Pronto para retirada no painel ou
ReadyForPickup
eId: 8
na API
https://neomode.readme.io/reference/atualiza-status-de-um-pedido-updateorderstatus.Na collection Postman fornecida, deve alterar a rota de atualização para o respectivo status.
5. Finalizar pedido.
Rota para inserir o status finalizado no painel ou
Finalized
eId: 9
na API
https://neomode.readme.io/reference/atualiza-status-de-um-pedido-updateorderstatus.