Olá Desenvolvedor(a)!
Bem-vindo a porta de entrada para começar a vender ‘online’ em mais de 32 canais de vendas, dentre e-commerce e marketplaces.
Este é um guia de primeiros passos, para lhe auxiliar na integração via banco de dados.
Sumário
- Criação e atualização de produtos
- Sincronização de produtos com a API
- Tipos de Status
- Remover um produto
- Upload de imagens
- Adicionando produto e lojas específicas
- Lista de Marketplaces
- Fluxograma de integração
- Recepção dos pedidos
- Confirmação do pedido
- Faturamento do pedido
- Envio do pedido
- Pedido entregue
- Pedido cancelado
- Status dos pedidos
- Processamento dos pedidos
- Estrutura geral dos pedidos
- Diagrama do Banco de Dados
1. Integração de Produto
Criação e atualização de produtos
-
- Para que a integração dos produtos seja feita corretamente é preciso entender como está a estrutura da tabela.
- Além de disponibilizarmos a estrutura da tabela, também iremos disponibilizar um pequeno dicionário de dados para que o entendimento da tabela se torne mais significativo, descrevendo a utilização de cada campo da tabela.
- O dicionário de dados está no final deste documento, constando as tabelas da aplicação.
- Abaixo está a estrutura da tabela de Produtos a tabela “P4MProducts”.
-
- Ao inserir um produto, o campo status virá por padrão como "AWAITING”, para que a aplicação interprete que há produtos a serem sincronizados com a API/Loja. O status não deve ser diferente de "AWAITING", quando inserido na tabela.
- O campo "operation" deve ser "CREATE_PRODUCT" ou "UPDATE_PRODUCT", informando que aquele produto será criado ou atualizado na API/Loja, respectivamente. Quando não informado, o campo será por padrão "CREATE_PRODUCT".
Sincronização de produtos com a API
-
- O processo de sincronismo com a API/Loja ocorre de forma automática, configurada para executar a rotina em um intervalo de 2 minutos. Esse processo faz a leitura na tabela de produtos e caso encontre registros, envia os dados para a API.
- Lembrando que para que seja enviado o produto, o status dele deve estar gravado como “AWAITING”.
- Quando tudo ocorre bem, o produto é deletado desta tabela de integração, os registros de produtos nesta tabela serão apenas para integração e não serão mantidos.
- Ao iniciar o sincronismo do produto, o status é alterado automaticamente para ”PROCESSING”, se tudo estiver correto o produto será deletado da tabela de integração, caso contrário o produto terá o status “ERROR” na coluna de status.
- Todas as requisições serão salvas em uma tabela de auditoria (P4MAudit), registrando todos os logs, é importante que esta tabela não seja alterada pelo ERP, para que assim consiga manter uma integridade dos logs.
- Em caso de erro ao sincronizar produtos, deve ser inserido um novo produto com as correções já resolvidas. Lembrando novamente que o status deste novo produto deve ser “AWAITING”.
Tipos de Status
-
- AWAITING -> Informa que o produto está esperando para ser processado.
- PROCESSING -> Informa que o produto está na fila para processamento.
- ERROR -> Informa que ocorreu um erro ao sincronizar o produto.
Remover um produto
-
- O produto para ser retirado de circulação (venda), deve ser zerado seu estoque, ou alterado a propriedade active para false.
- Lembrando sempre que o produto quando é sincronizado, ele é deletado da tabela de integração.
Upload de imagens
-
- Para adicionarmos uma imagem ao produto, é necessário que o mesmo esteja criado no marketplace, Com o produto criado, deve ser adicionado a imagem na tabela de integração “P4MProductImage”.
-
-
Essa tabela de integração consiste basicamente em dois campos essenciais, o campo SKU onde deve ser preenchido com o SKU do produto e também o campo “base64Image”, que deve ser preenchido com a imagem do produto já convertida em Base64.
-
Pode ser inserida várias imagens para um mesmo produto, porém deve ser adicionada cada imagem em sua respectiva linha do banco de dados.
-
As informações de status seguem a mesma configuração do produto, sendo “AWAITING“ para informar que a imagem está aguardando para ser processada, “PROCESSING“ para informar que está sendo processada e “ERROR” para indicar que deu algum tipo de erro na integração/upload da imagem.
-
Adicionando produto a lojas específicas
-
- Para adicionar um produto a uma determinada loja, precisa adicionar na tabela "P4MSalesChannels", algumas informações como o id da loja a ser adicionado o produto e também o id do produto cadastrado na tabela "P4MProducts".
- As colunas devem ser preenchidas da seguinte maneira:
- id - Deve ser informado o id do market place onde será criado/atualizado o produto.
- idP4MProduct - Deve ser informado com o id do produto criado na tabela "P4MProducts".
-
sellerId - Campo relacionado ao mercado livre.
-
listingType - Campo relacionado ao mercado livre.
Lista de MarketPlaces
-
-
- 1 -> AMAZON
- 2 -> VIA MARKETPLACE
- 4 -> MAGAZINE LUIZA
- 5 -> NETSHOES
- 6 -> B2W
- 7 -> MERCADO LIVRE
- 8 -> CARREFOUR
- 9 -> MADEIRA MADEIRA
- 10 -> DAFITI
- 11 -> MAGENTO I
- 16 -> LOJAS COLOMBO
- 17 -> CLIMBA COMMERCE
- 18 -> IGUATEMI
- 19 -> CENTAURO
- 20 -> LEROY MERLIN
- 22 -> RAPPI
- 23 -> WOOCOMMERCE
- 24 -> VTEX
- 25 -> TRAY CORP
- 26 -> SHOPEE
- 27 -> C&A
- 28 -> DROGASIL
- 29 -> ISET
- 30 -> NOVO MUNDO
- 31 -> LOJAINTEGRADA
- 32 -> MAGENTO 2
- 33 -> RENNER
- 34 -> RIACHUELO
- 35 -> SUPER CAMPO
- 36 -> OLIST
- 37 -> CASSOL
- 38 -> TRAY COMMERCE
-
2. Integração de Pedidos
Fluxograma de integração
-
-
- Lembrando que cada etapa de decisão (Diamante amarelo) é um post realizado para nossa aplicação.
-
Recepção dos pedidos
-
- O pedido é inserido automaticamente no banco de dados, nas tabelas de integração pré-determinadas (tabela padrão tecnospeed ou tabela solicitada pelo ERP), também é inserido outros dados relacionados ao pedido em suas respectivas tabelas.
- A tabela “P4MOrder” é onde ficam os dados gerais do pedido, segue acesso ao dicionário de dados da tabela de pedidos clique aqui.
- Quando um pedido é recepcionado pelo Plug4market no banco de dados, automaticamente preenche a tabela “P4MOrder” com as informações base do pedido.
- Os itens(produtos) do pedido são criados na tabela “P4MOrderItems”.
- Os dados de pagamento do pedido são inseridos na tabela “P4MOrderPaymentMethods”.
- Já os dados para faturar a nota fiscal ficam armazenados em “P4MOrderShippingBilling”, nesta tabela tem uma particularidade onde ela atende dois casos, quando um pedido ela registra duas vezes nesta tabela, um registro é relacionado ao endereço de cobrança que são os dados necessários para a emissão da nota fiscal, o outro registro é para o endereço de entrega.
- O campo que faz essa distinção é o “shippingOrBilling”, que neste caso quando estiver como “Shipping” diz respeito aos dados de entrega, e “Billing” são os dados para endereço de cobrança(NFe).
Confirmação do pedido
-
- Para realizar a confirmação do pedido, o ERP deve realizar algumas atualizações na tabela “P4MOrder”.
- O campo “orderIdErpStore”, onde deve ser inserido o id do pedido no ERP, para um controle interno.
- O campo “notifyCustomer” deve ser preenchido como true.
- O campo “readByErp” deve ser preenchido como true.
- O campo “status” deve ser preenchido com 2.
Faturamento do pedido
-
- Um pedido só pode ser faturado quando os dados de pagamento forem processados.
- Os dados para fazer o faturamento do pedido devem ser pegos da tabela “P4MOrderShippingBilling”, quando o campo “shippingOrBilling” estiver preenchido como “Billing”.
- Após faturar a nota fiscal, deve ser alterado o campo “status” da tabela “P4MOrder” para 3.
- Ainda nesta tabela, deve ser atualizado o campo “notifyCustomer” como true.
- Na tabela “P4MOrderInvoice” deve ser preenchido com os dados na nota fiscal.
Envio do pedido
-
- Os dados para fazer o envio do pedido devem ser pegos da tabela “P4MOrderShippingBilling”, quando o campo “shippingOrBilling” estiver preenchido como “Shipping”.
- O envio do pedido só poderá ser feito com o faturamento já realizado, com isso deve ser alterado o campo “notifyCustomer” para true e o campo “status” para 4.
- Além disso, a tabela “P4MOrderShipment” deve ser preenchida com os dados do pedido, como código de rastreamento, url para rastreamento e o método de envio.
Pedido entregue
-
- Quando um pedido for entregue, na tabela “P4MOrder” deve ser atualizada com o campo “deliveredAt” com a data da entrega do pedido e também o campo “notifyCustomer” deve ser preenchido como true.
Pedido cancelado
-
- Caso o erp não venha a confirmar o pedido em 48 horas, (dois dias), cliente pediu cancelamento ou lojista solicitou diretamente no marketPlace o cancelamento do pedido, o pedido vai ser cancelado em qualquer momento até mesmo durante a fase de entrega, quando isso ocorrer o pedido atualizará automaticamente com status 6.
Status dos pedidos
-
- 1 - Created (Quando um pedido está com o pagamento pendente).
- 2 - Approved (Quando o pagamento do pedido já foi aprovado).
- 3 - Invoiced (Quando o pedido já foi faturado, emitido NFe).
- 4 - Shipped (Quando o pedido foi enviado para o cliente).
- 5 - Completed (Quando o pedido foi entregue para o cliente).
- 6 - Canceled (Quando o pedido foi cancelado no marketplace).
Processamento dos pedidos
-
- A sincronização é realizada em um período previamente definido pela aplicação, onde quando executada, realiza as verificações nas tabelas do banco e realiza os procedimentos cabíveis.
- Os novos pedidos são sincronizados automaticamente, assim como as atualizações dos pedidos.
- Os pedidos entregues, serão deletados da tabela de integração, ficando apenas os novos e pendentes.
Estrutura geral dos pedidos
-
- Os pedidos estão separados em 7 tabelas no banco, são elas:
- A tabela “P4MOrder”
- É a tabela do pedido em si.
- Os pedidos estão separados em 7 tabelas no banco, são elas:
-
- A tabela "P4MOrderItems"
-
- É responsável pelo armazenamento dos itens do pedido.
- É responsável pelo armazenamento dos itens do pedido.
-
- A tabela "P4MOrderPaymentMethods"
-
- É responsável por armazenar as formas de pagamento do pedido.
- É responsável por armazenar as formas de pagamento do pedido.
-
- A tabela "P4MOrderShippingBilling"
-
-
É responsável por armazenar o endereço de entrega do cliente e também os dados de faturamento da nota fiscal, neste caso temos dois tipo: “Shipping” e “Billing”, onde “Shipping” é o cliente onde vai ser entregue o pedido e “Billing” onde o ficam os dados necessários para o faturamento da nota fiscal eletrônica.
-
-
- A tabela "P4MOrderStatusUpdateDate"
-
- É responsável pelo armazenamento do histórico do status dos pedidos, não é necessário alimentá-la.
- É responsável pelo armazenamento do histórico do status dos pedidos, não é necessário alimentá-la.
-
- A tabela "P4MOrderShipment"
-
- É responsável pelo armazenamento dos dados de entrega do pedido.
- É responsável pelo armazenamento dos dados de entrega do pedido.
-
- A tabela "P4MOrderInvoice"
-
- É responsável por armazenar os dados da nota fiscal do pedido.
- É responsável por armazenar os dados da nota fiscal do pedido.
-
- A tabela "P4MOrderItems"
Diagrama do Banco de Dados
-
-
- Tabelas do banco de dados
- Tabelas do banco de dados
-
Comentários
0 comentário
Por favor, entre para comentar.