Integração de Produtos

Você sabe o que é produto para e-commerce?

Temos duas linhas de raciocínio:

  1. Produto simples: é aquele composto de um Sku.

  2. Produto configurável: também conhecido como produto com variação, é aquele composto de dois ou mais Skus.

SKU é a unidade de estoque vendida, a sigla significa Stock Keeping Unit

Produto Simples

O produto simples é único, não possui variação de SKU. Exemplo: Livro, CD, DVD ...

Importante saber: mesmo o produto simples necessita de atributos/características que fortaleçam a identidade do produto. Exemplo: CD de Jazz

Os atributos, podem ser utilizados para filtros em suas categorias.

Produto Configurável

Um produto configurável (variável) por sua vez, possui duas ou mais variações (ex: cor e tamanho ou cor e voltagem) que o diferenciem em relação a um produto correspondente.

Exemplos:

Geladeira de 300 Litros
Geladeira de 400 Litros

Produto: Geladeira de 300 Litros; Variação 1: Geladeira de 300 litros - 110 v Variação 2: Geladeira de 300 litros - 220 v

Produto: Geladeira de 400 Litros; Variação 1: Geladeira de 400 litros - 110 v Variação 2: Geladeira de 400 litros - 220 v

No exemplo acima, cada uma das geladeiras possui um ID_SKU diferente e estão vinculados a um código de Produto (Produto Pai).

Estrutura de Produtos

A seguir, vamos demonstrar como fica a estrutura de um produto, considerando o Json, formato utilizado na Skyhub para a manipulação de informações.

Melhores práticas para o cadastro de produtos

Seguir uma convenção (padrão) no cadastro de produtos, é uma prática muito importante. Listamos então, algumas das melhores práticas para lhe ajudar a ter ainda mais sucesso no Marketplace.

  • Utilize um padrão para a composição dos códigos SKU´s, porém nunca repita um código, seja para produto simples ou produto configurável (variável);

  • Certifique-se que o código do produto não possua espaços em branco, normalmente oriundos de cópia direta da célula de arquivos em Excel;

  • Os produtos precisam ser enviados com o peso em quilograma (Kg) e as dimensões em centímetro (cm)

  • Você encontrará muito mais em nosso “Guia de Melhores práticas para Cadastro de produtos”, clique aqui

Um pouco de “prática”

Para realizar qualquer tipo de requisição, você sempre deverá preencher o Header, com as informações geradas por nós da Skyhub, considerando o modelo abaixo:

X-User-Email: email@dominio.com.br
x-Api-Key: XXXXXXXXX
x-accountmanager-key: XXXXXXXXXX
Accept: application/json;charset=UTF-8
Content-Type: application/json

POST

Para cadastrarmos um produto via API, você deverá utilizar o método POST direcionando sua requisição para o nosso endpoint

https://api.skyhub.com.br/products

Abaixo, temos um exemplo que contempla uma variação de código COD_SKU_VARIACAO:

{
"product": {
"sku": "CODIGO_SKU",
"name": "DESCRICAO PRODUTO",
"description": "CRIAR PRODUTO COM UMA VARIAÇÃO",
"status": "enabled",
"price": 30.00,
"promotional_price": 29.90,
"cost": 0.0,
"weight": 0.100,
"height": 20,
"width": 30,
"length": 20,
"brand": "Marca",
"nbm": "98769898",
"categories": [
{
"code": "01",
"name": "SKYHUB HOMOLOGAÇÃO"
}
],
"images": [
"http://d26lpennugtm8s.cloudfront.net/stores/154/284/products/camiseta-lisa-verde-bandeira-algodo-p-ao-gg-pronta-entrega-355901-mlb20431777049_092015-o-07fadec89e5ed54705c1b9ab5411dec8-1024-1024.jpg"
],
"specifications": [
{
"key": "Especicações do Produto PAI",
"value": "Especificações do Produto PAI"
}
],
"variations": [
{
"sku": "COD_SKU_VARIACAO",
"qty": 10,
"ean": "9876543210987",
"images": [
"http://d26lpennugtm8s.cloudfront.net/stores/154/284/products/camiseta-lisa-verde-bandeira-algodo-p-ao-gg-pronta-entrega-355901-mlb20431777049_092015-o-07fadec89e5ed54705c1b9ab5411dec8-1024-1024.jpg"
],
"specifications": [
{
"key": "Cor",
"value": "Verde"
},
{
"key": "Tamanho",
"value": "M"
}
]
}
],
"variation_attributes": [
"Cor",
"Tamanho"
]
}
}

Se você deseja cadastrar um produto simples (sem variação), você poderá utilizar o modelo abaixo onde removemos o array Variations.

"product": {
"sku": "200",
"name": "PRODUTO SIMPLES",
"description": "PRODUTO SIMPLES",
"status": "enabled",
"qty": 0,
"price": 100,
"promotional_price": 89.99,
"cost": 49.00,
"weight": 3,
"height": 1,
"width": 1,
"length": 1,
"brand": "SKYHUB",
"ean": "",
"nbm": "",
"categories": [
{
"code": "01",
"name": "skyhub homologação"
}
],
"images": [
""
],
"specifications": [
{
"key": "Tamanho",
"value": "M"
}
]
}
}

GET

Para realizar uma consulta na API devemos utilizar o método GET, preenchendo o Header como já mostrado anteriormente e mantendo sua requisição como abaixo:

https://api.skyhub.com.br/products/CODIGO_SKU

Basicamente, a requisição consiste do endpoint/products/Codigo_SKU (código que se deseja consultar).

Resultado Consulta SKU
{
"sku": "CODIGO_SKU",
"name": "DESCRICAO PRODUTO",
"description": "CRIAR"
}

Em nosso exemplo, listamos um resultado “resumido” pois o retorno completo traria diversas páginas, contemplando todos os atributos que compõem o produto, mas, basicamente a resposta de nosso GET trouxe o cadastro do produto propriamente dito.

PUT

A maneira utilizada para a atualização de informações, é por meio do método PUT, mantendo nosso Header e conservando o atributo no qual deseja fazer a atualização.

Para realizar a atualização, devemos manter o endpoint:

https://api.skyhub.com.br/products/CODIGO_SKU

Neste exemplo, estamos alterando somente o nome do produto, então todos os demais atributos foram retirados da requisição, para facilitar o entendimento.

{
"product": {
"name": "NOME DO PRODUTO ALTERADO!"
}
}

Observação: Você poderá também, conservar todos os atributos de sua requisição e alterar os valores dos quais deseja efetuar uma atualização.

DELETE

Se desejarmos excluir um item, devemos usar o método DELETE, conservando o Header já indicado, a requisição seria igual à do GET, considerando que vamos excluir o produto criado anteriormente, CODIGO_SKU.

https://api.skyhub.com.br/products/CODIGO_SKU

Importante: Antes de realizar a exclusão de qualquer item da Skyhub, é extremamente importante verificar se este produto está conectado com o Marketplace. Caso esteja é necessário desconectar o produto do marketplace para depois excluir o produto da Skyhub.