Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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á 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.

...

Quando o conector de um canal de venda baixa pedidos pela APi 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.

...

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

Exibir filhos


Expandir
titleCONECTOR B2W

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

...