Árvore de páginas


CONTEÚDO

01. VISÃO GERAL

Para o TOTVS Omni um Marketplace e e-commerces são sistemas no qual são publicados produtos e de onde se baixa um pedido para processamento pelo Omni channel até a entrega ao PDV.

Plataformas de marketplaces geralmente disponibilizam APIs para que externamente se possa gerenciar os produtos publicados e listar os pedidos (concluídos e pagos) realizados no ambiente do marketplace.

O TOTVS Omni dispõe de um módulo chamado Channel Manager, onde se disponibiliza e configura cada conector desenvolvidos para os marketplace.


E-Commerces podem permitir uma flexibilidade maior, por que muitas vezes trata-se de plataformas open sources. Com esta flexibilidade, a integração entre TOTVS Omni e plataformas de e-commerces pode ser implementada diretamente no e-commerce, consumindo APIs do TOTVS Omni, ou no TOTVS Omni, consumindo a interface da plataforma e-commerce. 


02. MARKETPLACES E E-COMMERCE

A integração entre o TOTVS Omni e os marketplaces e E-Commerce dar-se através do módulo moddo-channels do TOTVS Omni.


Para a publicação de produtos, os canais de venda, principalmente marketplaces, possuem atributos de produtos geralmente organizados por tipo:

Atributos básicos
: Como nome, tamanho, cor, código de referencia, etc

Alguns canais de venda utilizam o nome fornecido do produto para classifica-los em categorias. Nestes casos, é interessante configurar o conector para utilizar um parâmetro de credencial para definir qual é o atributo do Omni que vai corresponder ao nome no canal de venda

Especificações: São atributos complementares, geralmente uma lista de atributos dinâmica, que varia de cliente para cliente e/ou de produto para produto.
Na interface web do Omni, quando criamos uma categoria de produto, é possível associar esta categoria aos canais e selecionar quais atributos de produtos estarão associados às categorias.


03. MAPA DE CAMPOS USADOS NA INTEGRAÇÃO DE PEDIDOS

Quando o conector de um canal de venda baixa pedidos pela API do canal de venda para criar no TOTVS Omni ele usa uma interface interna SOAP para comunicação dos módulos.
Alguns campos do TOTVS Omni devem ser mapeados com informações específicas para que o pedido esteja devidamente cadastrado e possa ser enviado para os ERPs e operação logística.

Abaixo a estrutura XML do pedido que é equivalente à estrutura JSON.

Campo do XMLDescrição do dado
<TIPO>Valor default para canais de venda: VENTA
<FECHA_PEDIDO>Utilizar a mesma data que consta no pedido do canal de venda, porém no seguinte formato 

2021-01-27 12:01:41
<NUMERO_PEDIDO_ORIGINAL>Código do pedido no canal de venda, apresentado na tela de resultado de consulta de pedidos no Omni.
<NUMERO_PEDIDO_ALTERNATIVO> *

Caso o canal de venda possua um segundo código de pedido (gerado por um hub ou por uma estrutura de lojas dentro do canal) este pode ser armazenado aqui, e também é apresentado na tela de resultado de consulta de pedidos no Omni.

Exemplo:

<ID_ALMACEN_SUMINISTRADOR> *Id da loja que vai atender o pedido.

OBS: Este campo só é utilizado para o caso em que o canal de venda decide qual é a loja para a qual será designada o pedido (VTEX).
Em todos os demais casos, não deve ser utilizado este campo.
<ID_OPERADOR_LOGISTICO>O ID do operador logístico deve ser definido a partir do nível de serviço logístico selecionado durante a compra pelo cliente.

Alguns canais de venda precisam de mapeamento para os níveis de serviço apresentados e o operador logístico. Outros descem a informação (nome ou código) do operador logístico no corpo do pedido.

Ainda assim, deve-se criar um parâmetro de credencial para mapear os valores no canal de venda com os códigos de operadores  logísticos. Vide TOTVS Omni - Lista de IDs do Omni#ListadeIDsdoOmni-ListadeIDsdeOperadoresLog%C3%ADsticos

<SERVICE_LEVEL_COD_LOGISTIC>

Código do serviço de entrega que o cliente tem contratado no operador logístico.

Este valor será utilizado na criação da entrega no operador logístico (integração via API Operador Logístico pelo Conector).
Para alguns casos deve-se criar um parâmetro de credencial para mapear os valores no canal de venda com os códigos de níveis de  serviço suportados pelo operador logístico. Vide TOTVS Omni - Lista de IDs do Omni#ListadeIDsdoOmni-ListadeIDsdeOperadoresLog%C3%ADsticos
<IMPORTE_TOTAL>Valor total do pedido, sem o custo de entrega.
<GASTOS_ENVIO>Custos de envio de acordo com a seleção de serviço de entrega.
<TIPO_IDENTIFICACION>Passar o texto CNPJ ou CPF.
<RAZON_SOCIAL>

Razão social da empresa.

No caso de compra realizada com CNPJ.

<ID_FORMA_PAGO>

Código da forma de pagamento do pedido.

Geralmente o valor é mapeado de cada canal para os códigos Omni. Vide TOTVS Omni - Lista de IDs do Omni#ListadeIDsdoOmni-ListadeIDsdeFormasdePagamento

Deve-se criar um parâmetro na credencial do canal para mapear estes valores.

<ID_FORMA_PAGO_TPV>Informação da forma de pagamento no gateway de pagamento do canal de venda, caso a API do canal disponibize.

Para os ERPs trata-se do Adquirente do Cartao de Credito.
<TPV_REFERENCE>Geralmente é a marca do cartão de crédito utilizado em caso de pagamento com cartão, caso a API do canal disponibize.
<IDENTIFICADOR_TRANSACCION>Identificador da transação financeira operada no canal de venda, caso a API do canal disponibize.
<TPV_AUTO>Código de autorização da transação financeira no canal de venda, caso a API do canal disponibize.
<TARJETA_PAGO>Dados do cartão de crédito ou débito usado no pagamento do pedido no canal de crédito, caso a API do canal disponibize.
<PRODUCTOS>
     <PRODUCTO>
          <ID_PRODUCTO>995045</ID_PRODUCTO>
          <ID_SUBPRODUCTO>4101486</ID_SUBPRODUCTO>
          <IMPORTE>5.00</IMPORTE>
          <CANTIDAD>1</CANTIDAD>
          <REFERENCIA>0406210201OMNI-0C5-TNFBR Principal TEST-P</REFERENCIA>
          <NUMERO_PEDIDO_ORIGINAL>640405</NUMERO_PEDIDO_ORIGINAL>
     </PRODUCTO>
</PRODUCTOS>

Lista dos itens presentes no pedido.

Cada item (SKU ou Subproduto) deve estar contido dentro da tag <PRODUCTO>, de acordo com a quantidade vendida daquele SKU (subproduto) e o valor total.

<IMPORTE> deve ser o preço da unidade multiplicada pela quantidade.

O <ID_PRODUCTO> e o <ID_SUBPRODUCTO> são IDs internos do TOTVS Omni, e devem ser recuperados caso estes não sejam publicados no canal venda com a publicação do produto e recuperado no Pedido. 
Geralmente o valor que é usado na publicação do produto é o REFERENCIA (IdArcituloModalia) e recuperado na consulta de pedidos. Se este for o caso é possível consultar o HermesService para recuperar os IDs produto e subproduto.

<ATRIBUTOS>
    <ATRIBUTO>
        <NOMBRE>nsu</NOMBRE>
       <VALOR>753801563</VALOR>
   </ATRIBUTO>
   <ATRIBUTO>
       <NOMBRE>cuotas</NOMBRE>
       <VALOR>1</VALOR>
   </ATRIBUTO>
   <ATRIBUTO>
       <NOMBRE>authorization_code</NOMBRE>
       <VALOR>20242012220300386049</VALOR>
   </ATRIBUTO>
</ATRIBUTOS>

Dados adicionais sobre a operação financeira.

Exemplo nsu deve ser o NSU de autorização do cartão de crédito - validar com equipe de ERP durante testes. Em alguns casos, o NSU presente no pedido do canal de venda não é o NSU de autorização, mas o NSU de consulta. Nestes cenários, faz-se necessário uma chamada a outro endpoint do canal de venda para atualização do valor.

Exemplo cuotas é a quantidade de parcelas em que a compra foi feita.

Exemplo authorization_code é o código de autorização da operação financeira.

<DNI_ENVIO>3324734584-1</DNI_ENVIO>
<NOMBRE_ENVIO>Mayara</NOMBRE_ENVIO>
<APELLIDO_1_ENVIO>Caroline</APELLIDO_1_ENVIO>
<VIA_DESTINATARIO>Rua Ricardo Franco</VIA_DESTINATARIO>
<NUMERO_ENVIO>91</NUMERO_ENVIO>
<COMPLEMENTO_DESTINATARIO>Apto 1</COMPLEMENTO_DESTINATARIO>
<COLONIA_ENVIO>Bairro 1</COLONIA_ENVIO>
<POBLACION_ENVIO>Sao Paulo</POBLACION_ENVIO>
<LOCALIDAD_DESTINATARIO>Sao Paulo</LOCALIDAD_DESTINATARIO><PROVINCIA_ENVIO>SP</PROVINCIA_ENVIO>
<CODIGO_POSTAL_ENVIO>02473130</CODIGO_POSTAL_ENVIO>
<TELEFONO_MOVIL_ENVIO>992442314</TELEFONO_MOVIL_ENVIO>
<EMAIL_ENVIO>e-mail@.com.bt</EMAIL_ENVIO>
<OBSERVACIONES>Mayara Caroline</OBSERVACIONES>
<LATITUD>-1</LATITUD>
<LONGITUD>-1</LONGITUD>

Os dados de envio do pedido, como nome da pessoa receptora e endereço devem ser cadastrados nos campos devidos.

COLONIA = Bairro
POBLACION e LOCALIDAD = Cidade
PROVINCIA = Estado (Código do estado)

OBS: A API do Omni obriga passar Email e Telefone, porém em alguns casos o canal de venda não passa esta informação dentro do pedido. Neste cenário pode-se configurar um valor padrão do conector para passar nestes campos e não deixa-los em branco.

OBS: Caso o canal de venda forneça Latitude e longitude pode-se adicionar no XML.

<DNI>3324734584-1</DNI>
<NOMBRE>Mayara</NOMBRE>
<APELLIDO_1>Caroline</APELLIDO_1>
<VIA>Rua Ricardo Franco</VIA>
<NUMERO>91</NUMERO>
<COMPLEMENTO>Apto 1</COMPLEMENTO>
<COLONIA>Bairro 1</COLONIA>
<POBLACION>Sao Paulo</POBLACION>
<LOCALIDAD>Sao Paulo</LOCALIDAD>
<PROVINCIA>SP</PROVINCIA>
<CODIGO_POSTAL>02473130</CODIGO_POSTAL>
<TELEFONO_MOVIL>992442314</TELEFONO_MOVIL>
<EMAIL>e-mail@.com.bt</EMAIL>
<OBSERVACIONES>Mayara Caroline</OBSERVACIONES>
Dados de endereço utilizados para a fatura devem ser criados conforme os campos, mesmo que sejam os mesmos valores de envio.

COLONIA = Bairro
POBLACION e LOCALIDAD = Cidade
PROVINCIA = Estado (Código do estado)


OBS: A API do Omni obriga passar Email e Telefone, porém em alguns casos o canal de venda não passa esta informação dentro do pedido. Neste cenário pode-se configurar um valor padrão do conector para passar nestes campos e não deixa-los em branco.
<FORMAS_DE_PAGO>
<FORMA_PAGO>
<IMPORTE>25.81</IMPORTE>
<ID_FORMA_PAGO>1</ID_FORMA_PAGO>
<INSTALLEMENT>1</INSTALLEMENT>
<DESCRIPCION>Visa</DESCRIPCION>
<NSU/>
<FORMA_PAGO_TPV>VISA</FORMA_PAGO_TPV>
<OPERADOR>REDE</OPERADOR>
<AUTHORIZATION_CODE>317767</AUTHORIZATION_CODE> 
<INSTALLMENT_INTEREST>1.0</INSTALLMENT_INTEREST>
</FORMA_PAGO>
</FORMAS_DE_PAGO>

Dados de pagamento utilizados para a fatura que devem ser criadas conforme os campos ao lado, sendo:


IMPORTE = Valor pago.

ID_FORMA_PAGO = ID da forma de pagamento (vide Lista de IDs do TOTVS Omni).

INSTALLEMENT = Quantidade de Parcelas.

DESCRIPCION = Bandeira do Cartão de Crédito.

FORMA_PAGO_TPV = Operador do Cartão de Crédito.

OPERADOR = Operador do Cartão de Crédito.

AUTHORIZATION_CODE = Código de autorização do Pagamento.

INSTALLMENT_INTEREST = Juros da Parcela.


OBS: É possível passar mais de uma forma de pagamento.



04. TOTVS OMNI CONECTORES


O B2W Marketplace é um hub de vendas que permite que você crie sua loja e exponha seus produtos dentro de alguns dos maiores e-commerces do país como Americanas.com, Submarino e Shoptime.

Já a SkyHub, é a porta de entrada para os principais marketplaces do Brasil. Mais especificamente a Skyhub é o hub de integração com os marketplaces pertencentes as B2W.

A Skyhub disponibiliza um conjunto de APIs para que você se preocupe apenas em cuidar da integração do seu ERP ou de sua plataforma, de maneira que qualquer mudança nas APIs dos marketplaces que implique em mudança para os sistemas integrados fiquem sobre a responsabilidade da SkyHub.



VPN (Virtual Private Network) é uma rede privada virtual, na qual as informações de uma rede local são passadas por um túnel, em uma rede publica qualquer.
Iremos utilizar a VPN para nos conectarmos com o repositório onde os nossos códigos estão publicados e também para que possamos acompanhar os processos referentes a publicação de produtos e pedidos que são gravados no Banco de Dados.


GitHub é uma plataforma de hospedagem de código-fonte com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo. 


AUTENTICAÇÃO

Todas as chamadas aos serviços disponíveis na SkyHub devem ser autenticadas a partir do e-mail do usuário, token de acesso e accountmanager. Essas informações devem ser enviados no cabeçalho (header) de cada requisição.


INTEGRAÇÃO

A integração completa realizada entre o Omni/Moddo-Channels e a Skyhub considera que sejam atendidas as operações abaixo:

Produtos

  • Criar
  • Atualizar
  • Deletar


Pedidos

  • Criar
  • Atualizar
  • Consumir

JET é um conector que integra através da geração de token, usando credenciais e chamadas via post, que permite que você crie pedidos e categorias de produtos.

Exemplo ao inserir uma nova categoria

Campo "level"

Ao inserir uma nova categoria, o campo level será usado para indicar qual a categoria superior.

Os valores aceitos serão:
"" - Vazio
Nesse caso, a categoria será cadastrada sem categoria superior, sendo considerada uma categoria inicial da hierarquia.

"01" - Valores no padrão de código de nível da categoria superior.
Esses valores indicam qual deverá ser considerada a categoria superior na hierarquia. Se o valor informado no campo level for 01, indica que a categoria será cadastrada como sendo uma subcategoria, tendo sua categoria pai a que possui o código 01 no nível.
Você consegue obter o valor do nivel da categoria, utilizando o método GetLevel da nossa API.

No exemplo acima, vamos usar a categoria "Moda Masculina" que possua o código do level igual a "01". Ao cadastrar uma nova categoria "Camisetas" que seja filha da categoria "Moda Masculina", ao final do cadastro, a hierarquia ficará da seguinte maneira:

01 - Moda Masculina

0101 - Camiseta

010101 - Algodão

...

Os valores de categoria vão de 01 a 99. Ou seja, será possível cadastrar até 99 categorias com 3 níveis de hierarquia de subcategoria.

É um Marketingplace de venda que permite acessar aos recursos de integração com a Magalu. utilizamos a API da Magalu via Rest Service




O conector Magento, assim como outros conectores, possui configurações que devem ser realizadas no nível da credencial.


Os pedidos são baixados para o Omni desde que estejam com o status presente em um campo da credencial chamado MAGENTO_ESTADOS_PEDIDOS_PAGADOS, normalmente configurado com o valor complete

O TOTVS Omni baixa somente os pedidos do dia. Esta restrição não está parametrizada na credencial.


Isto deve-se à restrições de performance e volumetria que pode ocorrer com pedidos muitos antigos, e há uma configuração para baixar pedidos do dia.


Dados importantes de serem configurados na credential:

magento.order.customer.fiscal.id: customer_cpf

magento.order.store.id: loja_retirada_id

MAIL TO: [email protected]


Para que o Omni possa continuar o processo de seleção do operador logístico é necessário que o conector baixe pedidos do Magento com o nível de serviço selecionado pelo cliente.



A API de integração da Via Varejo permite que lojistas comercializem seus produtos no Marketplace Via Varejo através de uma interface. Através dela é possível cadastrar produtos, gerenciar os estoques e preços e ser notificado quando pedidos são feitos e confirmados.

Mapeamento de criação de pedidos Via Varejo


Via Varejo 

Omni

Cardinalidade

VENTA(TEXTO FIXO)SOLICITUD.TIPO1 - 1
Order.idSOLICITUD.NUMERO_PEDIDO_ORIGINAL1 - 1
Order.siteIdSOLICITUD.NumeroTicket1 - 1
Order.Customer.name   (***obs.1)SOLICITUD.NOMBRE_ENVIO1 - 1
Order.Customer.name   (***obs.2)SOLICITUD.APELLIDO_1_ENVIO1 - 1
BRANCOSOLICITUD.APELLIDO_2_ENVIO1 - 1
Order.Billing.address + Order.Billing.number + Order.Billing.complement + Order.Billing.quarter +Order.Billing.citySOLICITUD.DOMICILIO_ENVIO1 - 1
Order.Billing.stateSOLICITUD.POBLACION_ENVIO1 - 1
Order.Billing.stateSOLICITUD.PROVINCIA_ENVIO1 - 1
BR(TEXTO FIXO)SOLICITUD.PAIS_ENVIO1 - 1
Order.Billing.zipCodeSOLICITUD.CODIGO_POSTAL_ENVIO1 - 1
Order.Customer.Phones  (***obs.3)SOLICITUD.TELEFONO_ENVIO1 - 1
Order.Customer.Phones  (***obs.4)SOLICITUD.TELEFONO_MOVIL_ENVIO1 - 1
Order.Customer.emailSOLICITUD.EMAIL_ENVIO1 - 1
BRANCOSOLICITUD.OBSERVACIONES1 - 1
Order.totalAmountSOLICITUD.IMPORTE_TOTAL1 - 1
Order.Item.Freight.actualAmount  (***obs.5)SOLICITUD.GASTOS_ENVIO1 - 1
Order.paymentType  (***obs.6)SOLICITUD.FORMA_PAGO1 - 1
Order.ProductsSOLICITUD.PRODUCTOSn - n
Order.Products.skuSellerIdSOLICITUD.PRODUCTOS.CODIGO_ALFA1 - 1
1(FIXO)  (***obs.7)SOLICITUD.PRODUCTOS.IMPORTE1 - 1
1(FIXO)  (***obs.8)SOLICITUD.PRODUCTOS.CANTIDAD1 - 1
Order.totalDiscountAmount    (***obs.9)SOLICITUD.DESCUENTOSn - n
DESCONTO(TEXTO FIXO)SOLICITUD.DESCUENTOS.DESCRIPCION1 - 1
Order.totalDiscountAmount    (***obs.10)SOLICITUD.DESCUENTOS.IMPORTE1 - 1


Observações:


Observação

Descrição

Obs.1Através do Objeto "Order.Customer.Name" é extraído o primeiro nome.
Obs.2Através do Objeto "Order.Customer.Name" é extraído o sobrenome.
Obs.3Através do Objeto "Order.Customer.Phones" é extraído o número do telefone fixo.
Obs.4Através do Objeto "Order.Customer.Phones" é extraído o número do celular.
Obs.5É feito a somatória de todos objetos "Order.Item.Freight.actualAmount".
Obs.6É feito um De-Para entre tipos de pagamentos Via Varejo e Omni.
Obs.7

A Via Varejo cria 1 Objeto para cada produto comprado, ou seja, se comprar 2 lápis, será criado 2 Objetos Item(Produto).

Nesse cenário, sempre será 1 Objeto para cada produto. 

Obs.8Idem a Obs.7
Obs.9O Objeto Desconto está consolidado em um atributo.
Obs.10O Objeto Desconto está consolidado em um atributo, nesse cenário só é criado 1 objeto desconto.

Status dos pedidos.

Código

Descrição

NEWNovo
GDEEntregas geradas
PENPagamento pendente
PAYPagamento aprovado
SHPEnviado
DLVEntregue

Status de tracking dos pedidos.

Código

Sequência / ordem

Descrição

AAP1Aguardando a confirmação do pagamento
ACR2Análise de dados
ADT3Data de entrega ajustada
AEG4Aguardando entregas pagamento
AES5Disponibilidade de estoque
AGR6Dificuldade na entrega
AMC7Análise de dados
AR18Aviso de Entrega 1
AR29Aviso de Entrega 2
ARE10Aguardando Retirada
ARL11Disponível para Entrega
ATR12Dificuldade na entrega
AU113Dificuldade na entrega
AU214Dificuldade na entrega
AU315Dificuldade na entrega
AVA16Dificuldade na entrega
CAN17Entrega Cancelada
CAP18Análise de dados concluída
DAE19Data de Entrega Ajustada
DIV20Dificuldade na entrega
DNE21Dificuldade na entrega
EA122Destinatário Ausente - 1ª tentativa
EAR23Entrega em andamento
END24Dificuldade na entrega
ENL25Endereço não localizado
ENT26Entrega concluída
EPR27Entrega em andamento
ETR28Entrega em andamento
EXT29Dificuldade na entrega
FEL30Entrega em andamento
FIS31Dificuldade na entrega
IED32Dificuldade na entrega
INS33Produto instalado
LIF34Entrega em andamento
MDS35Dificuldade na entrega
MPA36Aguardando a confirmação do pagamento
NFS37Nota Fiscal emitida
OCO38Entrega concluída
PAP39Pagamento aprovado
PEI40Pedido incluso
PNA41Pagamento não aprovado
PRE42Pedido recusado pelo Cliente
REC43Análise de dados não confirmada
RED44Entrega em andamento
REO45Dificuldade na entrega
REV46Pagamento não aprovado
RIE47Impossibilidade de entrega do produto
ROT48Entrega em andamento
ROU49Dificuldade na entrega
RTD50Em rota de devolução
VES51Disponibilidade de estoque
WMS52Separação e embalagem

Código de Pagamento.

Código

Descrição

1Cartão de Crédito
2Boleto
4Cupom
5Transferência


Separação dos campos rua, número e complemento para endereços sender e shipping



O conector do VTEX permite trabalhar a integração com o TOTVS Omni em dois formatos: Com Franquias ou Sem Franquias.

No cenário de franquia cada loja pode ser vista como se fosse uma instancia de VTEX separada. E para que o Omni possa se comunicar necessita de credencias de acesso próprias.


De forma resumida, o conector funciona publicando produtos no VTEX e carregando o stock atrelado a cada loja (ou seller, como são chamadas as lojas no VTEX).

Uma vez realizada a compra no VTEX, o pedido criado é associado à um desses sellers de acordo com a forma de entrega escolhida pelo usuário.

O TOTVS Omni, ao descer os pedidos, obedece à esta decisão de submissão de pedido à seller do VTEX, sendo assim, o conector cria o pedido no Omni já com a identificação de qual loja irá atender o pedido (ID_ALMACEN_SUMINISTRADOR).


Resposta do VTEX com Pedido (VTEX):

VTEX -> Moddo-channels (Conector VTEX)
Capturado do arquivo /var/log/tomcat8/integraciones/<SIteID>/idPublicacion_<ID>/importOrders_<DATE>
Pedido VTEX Expandir origem


Mensagem XML de Criação do Pedido no Omni (VTEX):

Moddo-channels (Conector VTEX) -> Módulo HermesCore
Capturado do arquivo /var/log/tomcat8/integraciones/<SIteID>/idPublicacion_<ID>/importOrders_<DATE>
XML Expandir origem


Mensagem JSON Enviada pelo Omni ao Conector ERP (TOTVS Moda):

Módulo Hermes-Admin -> Módulo Moddo-erp (conector Moda)
Capturado do arquivo /var/log/tomcat8/services-erp.log
JSON Expandir origem


Mensagem JSON de Criação do Cliente no ERP (TOTVS Moda):

Módulo moddo-erp (Conector Moda) -> TOTVS Moda
Capturado do arquivo /var/log/tomcat8/services-erp.log
JSON Expandir origem


Resposta Recebida do ERP para a Criação do Cliente no ERP (TOTVS Moda):

TOTVS Moda -> Módulo moddo-erp (Conector Moda)
Capturado do arquivo /var/log/tomcat8/services-erp.log
JSON Expandir origem



Mensagem JSON de Criação do Pedido no ERP (TOTVS Moda):

Módulo moddo-erp (Conector Moda) -> TOTVS Moda
Capturado do arquivo /var/log/tomcat8/services-erp.log
JSON Expandir origem


Resposta Recebida do ERP para a Criação do pedido no ERP (TOTVS Moda):

TOTVS Moda -> Módulo moddo-erp (Conector Moda)
Capturado do arquivo /var/log/tomcat8/services-erp.log
JSON Expandir origem


Mensagem JSON Enviada pelo Omni ao Conector Logistico (JadLog):

Módulo HermesAdmin -> Módulo moddo-logistic (conector Jadlog)
Capturado do arquivo /var/log/tomcat8/services-logistic.log
JSON Expandir origem


Mensagem JSON de Criação da Entrega no Operador Logístico (JadLog):

Módulo moddo-logistic (conector Jadlog) -> JadLog
Capturado do arquivo /var/log/tomcat8/services-logistic.log
JSON Expandir origem


Mensagem JSON Recebida do Operador Logístico (JadLog):

JadLog - Módulo moddo-logistic (conector Jadlog)
Capturado do arquivo /var/log/tomcat8/services-logistic.log
JSON Expandir origem


Guia Logistica gerada pelo Operador Logístic (JadLog):

 PDF

Abaixo vemos dois exemplos de JSON de pedidos do VTEX: O primeiro de loja principal e o segundo de franquia.

A diferença dar-se no prefixo do pedido, que inicia com SLR.

Pedido de loja principal:
JSON Pedido Expandir origem

Pedido de Franquia:
JSON Expandir origem


Configurar o conector do Mercado Livre:

Parar configurar o conector do Mercado Livre, o cliente precisa criar uma conta para TOTVS com perfil administrador e logar com essa conta TOTVS em https://developers.mercadolivre.com.br

Substituindo APP_ID com o ID da App criada.

curl -X POST -H 'accept: application/json' \
-H 'content-type: application/x-www-form-urlencoded' \
'https://api.mercadolibre.com/oauth/token' \
-d 'grant_type=authorization_code' \
-d 'client_id=APP_ID' \
-d 'client_secret=SECRET_KEY' \
-d 'code=AUTHORIZATION_CODE' \
-d 'redirect_uri=https://co.moddoplataform.com/marketplace/ml/redirect'

Substituindo os valores correspondentes a APP_ID, SECRET_KEY e AUTHORIZATION_CODE.

  • Anotar o access tooken da resposta da chamada acima
    Ex:
    {
    "access_token": "APP_USR-123456-090515-8cc4448aac10d5105474e1351-1234567",
    "token_type": "bearer",
    "expires_in": 10800,
    "scope": "offline_access read write",
    "user_id":1234567,
    "refresh_token": "TG-5b9032b4e23464aed1f959f-1234567"
    }

Parametros da Credencial do conector no Omni

access_token usado na Credencial do conector no Omni no campo MERCADO_LIBRE_AUTH_TOKEN
refresh_token usado na Credencial do conector no Omni no campo MERCADO_LIBRE_REFRESH_TOKEN
APP_ID usado na Credencial do conector no Omni no campo MERCADO_LIBRE_CLIENTID
SECRET_KEY usado na Credencial do conector no Omni no campo MERCADO_LIBRE_CLIENTSECRET

O campo MERCADO_AUTH_URL da credential deve ser configurado com a seguinte URL:
https://chm-co.moddoplatform.com/chm/open/mercadoLibre/refreshToken/<SITEID_ML>

Onde SITEID_ML é o ID do site que representa o Mercado Livre na conta Omni do cliente.

O campo MERCADO_ACTIVAR_RETIRO de ser configurado com valor Si

O campo MERCADO_CURRENCY com o valor BRL

MERCADO_LISTING_TYPE indica o tipo de publicação do cliente. Configurar gold_special

E o código de país do Mercado Livre é configurado no campo MERCADO_MELI_COUNTRY_CODE. Para Brasil usar MLB

Estes dados serão utilizados em ambiente de Omni produção com a conta de produção do cliente.


Conta de Testes Mercado Livre

Para realizar os testes de publicação no Mercado Livre antes de configurar a conta de produção, 
devemos criar 2 usuários de testes no mercadolivre e designar um deles como comprador e outro como vendedor.

Siga o procedimento abaixo:

1) Criar usuários de testes para uso nos testes do conector fazendo a chamada abaixo 2 vezes para criar 2 usuários (um comprador e um vendedor):

curl -X POST -H "Content-Type: application/json" -d
'{"site_id":"MLB"}'
https://api.mercadolibre.com/users/test_user?access_token=ACCESS_TOKEN

Resposta exemplo:
{
"id":120506781,
"nickname":"TEST0548",
"password":"qatest328",
"site_status":"active"
}


2) Com um dos usuários gerados (o vendedor) logar em http://developers.mercadolivre.com.br,
Gerar um access token seguindo o mesmo procedimento descrito no passos 5 ao 9.

Com o código access_token e refresh_token deve-se configurar os parametros correspondentes da Credencial do conector no Omni.


Configurações Omni para Mercado Livre

1) Logado no Mercado Livre com a conta vendedora (conta vendedor de teste ou a conta do usuário) chamar a URL abaixo para obter o código do vendedor:

 https://api.mercadolibre.com/sites/MLB/search?nickname=TESTGZB7BZJ2

Exemplo Retorno:

{ "site_id": "MLB", "seller": { "id": 674940286, "nickname": null, "permalink": null, "registration_date": null, "real_estate_agency": false, ...}

Configurar o valor do seller > id no campo MERCADO_LIBRE_ORDERID da credencial do conector do mercado livre.


2) Acessar a interface web do TOTVS Omni com a conta do cliente > Gerenciador de canais > Categorias de links.

Selecionar no lado esquerdo as categoria do Omni que contenham produtos e associá-las às categorias do Canal.
NOTA: No caso de usar a conta de teste, pode associar categorias à categoria chamada pruebas.


3) Acessar a interface web do TOTVS Omni com a conta do cliente > Configurações > Sites 

Certifique-se que há uma loja associada ao Site principal e também ao site correspondente ao Mercado Livre.


Publicar Produtos no Mercado Livre


Criar uma publicação no TOTVS Omni e incluir pelo menos um produto da categoria mapeada.


05. FLUXO DE VENDAS