- Created by Lukas Burda Ferreira , last modified on Dec 04, 2023
You are viewing an old version of this content. View the current version.
Compare with Current View Version History
« Previous Version 19 Next »
Documentação oficial das rotas: https://neomode.readme.io/reference/
Postman Collection & Environment
Como baixar, importar arquivos e utilizar o postman
Resumo
A Neomode possui uma estrutura de APIS REST para parceiros. Abaixo, deixamos algumas dicas para facilitar a implementação.
Conectar como ERP ou Canal de Venda?
É possível utilizar as API’s de gerenciamento da Neomode como um ERP ou um Canal de venda. Cada parte tem responsabilidade 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 a API 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 dem Catálogo
Consumir árvore de categorias.
Consumir produtos & skus.
Consumir movimentações de estoque.
Consumir movimentações de preço.
Autenticação https://neomode.readme.io/reference/gerar-anonymous-token
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
Skus
Preços
Saldo de estoque.
Loja(s)
1. Árvore de categorias
A Lori possui um sistema de categorias em níveios. É possível ter listas de categorias e essas categorias estarem vinculadas a outros níveis.
A categoria de nível superior é atrelada a categoria de nível inferior através de um campo identificador parentId
na Categoria
A identificação de uma categoria PAI é a falta do
parentId
.A identificação de uma Subcategoria é a presença do
parentId
.
Vamos entender na prática:

{ "id": "00000000-0000-0000-0000-000000000000" <- Este é o campo identificador para os próximos níveis. "code": "11", "name": "Alimentos", "isActive": true, "children": [ { "parentId": "00000000-0000-0000-0000-000000000000" "id": "11111111-1111-1111-1111-111111111111" "code": "21", "name": "Frutas", "isActive": true, "children": [ { "parentId":""id": "11111111-1111-1111-1111-111111111111" "id": "00000000-0000-0000-0000-000000000000" "code": "31", "name": "Doces", "isActive": true }, { "parentId":""id": "11111111-1111-1111-1111-111111111111" "id": "00000000-0000-0000-0000-000000000000" "code": "32", "name": "Amargas", "isActive": true } ] } ] }
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.
1. Criando o primeiro nível:
Endpoint: https://neomode.readme.io/reference/upsert-batch-categorires
Payload (Lista de NeoCategory sem parentId
)
[ { "code": "11", "name": "Alimentos" } ]
O
Id
(GUID) atribuído a categoria foie2690e5c-d54d-4aea-9c9f-d3fd89869ad2
. Utilizaremos para criar o próximo nível.
2. Criando os demais níveis:
Endpoint: https://neomode.readme.io/reference/upsert-batch-categorires
Atribuímos o
Id
(GUID) da cateogria mais alto ao campoparentId
para criar o vínculo com a categoria mais baixa.
Payload (Lista de NeoCategory comparentId
)
[ { "parentId": "e2690e5c-d54d-4aea-9c9f-d3fd89869ad2", "code": "21", "name": "Frutas" } ]
Agora, Frutas está abaixo de Alimentos.
O parentId
será sempre o Id
da categoria de nível superior.
Consultando as categorias
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 seguinte:
Produto único ou com preço por variação (ex: perfume, valor diferente por frasco)
Produto com grade de variação de cor ou tamanho.

Passo a passo: Como criar os produtos & skus
Forma 1: Produto único ou preço por variação
“Um produto para um sku”
Criar 1 produto (https://neomode.readme.io/reference/create-product )
Criar 1 Sku a partir do Guid do produto (https://neomode.readme.io/reference/create-sku)
Este cenário é utilizado para produtos que são tamanho único, não possuem grade ou não estão agrupados devidamente em sua grade.
Também é utilizado para necessidade de Preço por variação ("ml" de frascos de perfumes por exemplo)

Forma 2: Produto com grade ou preço tabelado
“Um produto para muitos skus”
Criar 1 produto (https://neomode.readme.io/reference/create-product )
Criar os Skus a partir do Guid do produto (https://neomode.readme.io/reference/create-sku)
Este cenário é utilizado para produtos que tem variação de tamanho ou cor (ou ambos) e são agrupados a um produto pai (ou código agrupador).

Observações
O produto é atribuído a uma categoria.
Um sku só existe a partir de um produto.
O preço é atribuído ao produto & a uma loja.
O preço do produto vale para todos os Skus.
O estoque é atribuído ao sku & a uma loja.
Ambiente Multi-loja
Nesse cenário, cada NeoProductPrice ou NeoSkuStock precisa ser relacionado a uma única loja ( ao NeoSeller).
Haverá mais de um estoque & preço apenas quando houver mais de uma loja.
Objeto para criação de seller
{ "pointSaleId": "Identificador ÚNICO (pode usar o CNPJ se não houver um melhor) da loja - string - required", "whatsappPhoneNumber": "419999999999", "phoneNumber": "419999999999", "companyName": "string - required", "fullName": "string - required", "email": "emailnuncausadoantes@email.com", "password": "AtenderAosCritérios@!#123", "cnpj": "41231231231231", "currentCluster": null, "isEcommerce": false, "isActive": true }
Nome do campo | Tipo | Descrição | |
pointSaleId |
| REQUIRED | Identificador ÚNICO (pode usar o CNPJ se não houver um melhor) da loja - string - required |
whatsappPhoneNumber |
| 419999999999 | |
phoneNumber |
| REQUIRED | 419999999999 |
companyName |
| Máximo de 50 caracateres | |
fullName |
| REQUIRED | Máximo de 50 caracateres |
| REQUIRED | E-mail nunca usado antes. Faz parte do grupo de identificadores únicos da base (Id, Email). | |
password |
| REQUIRED | AtenderAosCritérios@!#123 |
cnpj |
| REQUIRED | CNPJ sem pontuação. |
currentCluster |
| Agrupamento de lojas apenas para APP. | |
isEcommerce | boolean | REQUIRED | Flag funcional apenas para o canal de venda APP. Enviar |
isActive | boolean | REQUIRED | Status do seller. Apenas para APP. Não ativa ou desativa a loja no canal de venda caso seja um parceiro. |
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.
Identificadores do pedido
Campo | Tipo | Função |
---|---|---|
id | String (Guid) | Unique Identifier interno da Neomode. |
ExternalId | String | Identificador do pedido no Canal de Venda. |
SellerOrderId | String | Identificarod do pedido no ERP. |
- No labels