Dúvidas Frequentes: É possível um seller VTEX enviar informações de estoque e preço em mais de uma política comercial para um marketplace VTEX? | Sales Channel Mapping

Esse tópico tem por objetivo abordar uma questão atrelada a arquitetura Sellers x Marketplace um pouco desconhecida entre nossos clientes e capaz de ajudar Marketplaces que desejam receber preço e estoque de produtos dos seus Sellers referente a mais de uma política comercial. Desde já vale ressaltar que isso é possível, sim, por meio da API Upsert Sales Channel Mapping.

Entretanto, é importante ressaltar que para essa arquitetura funcionar da maneira correta, cada Seller precisará criar dois afiliados para o mesmo Marketplace, um para cada política comercial que ele deseja enviar para o Marketplace e depois disso o Marketplace vai precisar realizar o Seller Mapping conforme a seguinte documentação:

Este endpoint permite que o Marketplace mapeie suas Políticas Comerciais dos afiliados do Seller. Fazendo com que o Seller possa ter várias Políticas Comerciais associadas ao mesmo marketplace, criando diferentes afiliados. O mapeamento permite ao Seller segmentar catálogo, preços, estoque, logística e pagamentos no Marketplace.

Para facilitar o entendimento de como deve funcionar o processo descrito acima, vou deixar um passo a passo:

1 - Seller: Criar um segundo afiliado com outro ID. Nesse caso utilizaremos como exemplo o ID “ABC” para o afiliado associado os produtos da Política Comercial 1 e o ID “XYZ”, por exemplo (ou qualquer outro ID que deseje) e então associá-lo à Política Comercial 2.

2 - Marketplace: Irá utilizar a rota que mencionada para fazer o mapeamento, onde no body da requisição teremos algo do tipo:

'[ 
  { 
    "marketplaceSalesChannel": 1, 
    "sellerChannel": "ABC" 
  }, 
  { 
    "marketplaceSalesChannel": 2, 
    "sellerChannel": "XYZ" 
  }
]'

Sendo assim, o cURL da requisição seria então:

curl --location --request PUT 'https://{{accountName}}.vtexcommercestable.com.br/api/seller-register/pvt/sellers/{{sellerId}}/sales-channel/mapping' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-VTEX-API-AppKey;' \
--header 'X-VTEX-API-AppToken;' \
--data '[
    {
        "marketplaceSalesChannel":1,
        "sellerChannel":"ABC"
    },
    {
        "marketplaceSalesChannel":2,
        "sellerChannel":"XYZ"
    }
]'

Caso tenha mais alguma dúvida sobre o assunto, sinta-se a vontade para perguntar por aqui, ou para abrir um novo tópico referenciando esse! :smile:

Karina Mota
Field Software Engineer | VTEX

3 Likes

Olá @KarinaMota tudo bem?

Primeiramente queria agradecer, estou com uma situação com um cliente sobre esse assunto e essa sua documentação ajudou muito.

Agora uma dúvida que fiquei, essa loja usa uma estrutura de sellers white label, criei os dois afiliados com políticas diferentes, em todos os sellers mas ao rodar a API na loja principal (que seria o marketplace) apareceu uma mensagem de erro “Invalid seller channel” preciso criar os afiliados com os mesmos IDs na loja principal também ou essa API é pra ser rodada em cada um dos sellers?

Desde já, obrigado!

Oi @pedro.scisinio, tudo bem por aí?

Essa API é para ser utilizada no Marketplace mesmo, mas a política comercial e o ID da Política Comercial precisa estar certinha! Se ainda estiver com dúvidas com relação ao processo abre um chamado com o nosso time que a gente dá uma olhada nas configurações da sua loja para você.

Atenciosamente,
Karina Mota

Partner Field Software Engineer | VTEX