Inserir SKU¶
Este é um dos recursos mais importantes da API, permitindo a criação de um SKU completo para o portfólio do vendedor. Com essa funcionalidade, o vendedor pode cadastrar todas as informações essenciais do produto, gerando uma chave única de SKU que o identifica no sistema. Além disso, caso o produto possua variações, como diferentes cores ou tamanhos, o vendedor pode configurar uma chave de agrupamento (group.id), facilitando a organização e gestão dessas variações dentro do cadastro. Esse recurso torna o processo de criação de produtos flexível e detalhado, adaptando-se às necessidades de cada vendedor para oferecer uma experiência de cadastro mais rica e organizada.
Escopo requerido
Valor | Descrição |
---|---|
open:portfolio-skus-seller:write |
Permite gerenciar os SKUs |
Endpoint
Verbo | URL |
---|---|
POST |
/seller/v1/portfolios/skus |
Parâmetros da chamada
Campo | Tipo | Descrição | Obrigatório | Tamanho |
---|---|---|---|---|
sku | string | Código único de identificação do produto. | Sim | Min 1 carácter Max 50 caracteres |
title | string | Título do produto | Sim | Min 1 carácter Max 150 caracteres |
description | string | Descrição do produto | Sim | Min 1 carácter Max 7000 caracteres |
condition | string | ENUM: "NEW"(DEFAULT), "USED", "REMANUFACTURED" | Não | n/a |
perishable | boolean | ENUM: True, False | Não | n/a |
brand | string | Marca do produto | Sim | Min 1 carácter Max 100 caracteres |
group | object | Dados do agrupamento das variações | Não | n/a |
group.{id} | string | Código de agrupamento das variações | Sim | Min 1 carácter Max 50 caracteres |
group.{main_variation} | boolean | true, false | Sim | n/a |
channels | list | Informações dos canais de venda do SKU. Indica em qual(s) canal(is) o SKU deve ser vendido | Sim | n/a |
channels[].id | string | IDs dos canais nos quais o produto será submetido para publicação | Sim | UUID |
identifiers | list | Parâmetros para identificação do SKU | Sim | n/a |
identifiers[].type | string | ENUM: “ean” , ”isbn” | Não | n/a |
identifiers[].value | string | Inserir o número de EAN, ISBN | Não | Min 8 carácter Max 14 caracteres |
has_ean | boolean | Valores: true, false. Se existir a informação de EAN para o produto, enviar valor true. | Não | n/a |
datasheet | list | Lista de atributos de ficha técnica | Não | n/a |
datasheet[].name | string | Atributo de ficha técnica. Ex.: Garantia | Não | Min 1 carácter Max 50 caracteres |
datasheet[].value | string | Valor de atributo de ficha técnica. Ex.: 12 meses | Não | Min 1 carácter Max 50 caracteres |
attributes | list | Lista de atributos de variação | Não | n/a |
attributes[].name | string | Atributo de variação. Ex.: Tamanho | Não | Min 1 carácter Max 20 caracteres |
attributes[].value | string | Valor de atributo de variação. Ex.: P | Não | Min 1 carácter Max 50 caracteres |
dimensions | list | Lista de dimensões do SKU | Sim | Min 1 Max 2 |
dimensions[].height.value | float | Dimensão do produto - Altura - unidade: cm | Sim | Min: 0.001 (cm) Max:1000000 (cm) |
dimensions[].height.unit | string | Unidade da dimensão. ENUM: cm | Não | cm |
dimensions[].width.value | float | Dimensão do produto - Largura - unidade: cm | Sim | Min: 0.001 (cm) Max:1000000 (cm) |
dimensions[].width.unit | string | Unidade da dimensão. ENUM: cm | Não | cm |
dimensions[].length.value | float | Dimensão do produto - Comprimento - unidade: cm | Sim | Min: 0.001 (cm) Max:1000000 (cm) |
dimensions[].length.unit | string | Unidade da dimensão. ENUM: cm | Não | cm |
dimensions[].weight.value | float | Dimensão do produto - Peso - unidade: g | Sim | Min: 1 (g) Max: 1510000 (g) |
dimensions[].weight.unit | string | Unidade da dimensão. ENUM: g | Não | g |
images | list | Imagens do SKU. A primeira imagem enviada será a de capa | Sim | Min (Items): 1 Max (Items): 30 |
images[].type | string | Mime type da imagem | Sim | Aceito somente “image/jpeg” |
images[].reference | string | URL da imagem | Sim | Min (chars): 10 Max (chars): 1000 |
videos | list | Lista de vídeos do SKU | Não | Min (Items): 0 Max (Items): 3 |
videos[].type | string | Tipo do vídeo | Sim | Aceito somente “embedded” |
videos[].reference | string | URL de vídeo, aceito somente link do YouTube | Sim | Min (chars): 10 Max (chars): 1000 |
podcasts | string | Lista de podcasts sobre o SKU | Não | Min (Items): 0 Max (Items): 3 |
podcasts[].type | string | Tipo do podcast | Sim | Aceito somente “embedded” |
podcasts[].reference | string | URL de arquivo de áudio | Sim | Min (chars): 10 Max (chars): 1000 |
fulfillment | boolean | Valores: true ou false. Marcação serve para enviar o produto para o fluxo de aprovação para armazenamento do produto em um CD do Magalu quando a ORG possuir o serviço ativo. | Não | n/a |
active | boolean | Valores: true ou false. True significa que deseja submeter o produto para publicação e False significa que deseja despublicar um produto. | Sim | n/a |
type | string | ENUM: "product", "service", "digital product" | Sim | n/a |
origin | string | ENUM: "national", "imported” | Sim | n/a |
extra_data | list | Lista de informações extra do SKU | Não | Max (itens): 20 |
extra_data[].name | string | Nome da propriedade. Exemplos: ncm, tax_replacement | Sim | Min 1 caracteres Max 50 caracteres |
extra_data[].value | string | Valor da propriedade. | Sim | Min 1 caracteres Max 50 caracteres |
Chamada:
curl --location 'https://api.magalu.com/seller/v1/portfolios/skus'\
--header 'accept: application/json' \
--header 'X-Language: por' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <Access Token>' \
--data '{
"sku": "2024-1508-001",
"title": "Chuteira Campo Umbro Orbit Unissex",
"description": "Os boleiros vão dominar as quatro linhas e garantir a vitória com a Chuteira ...",
"condition": "NEW",
"perishable": false,
"brand": "Umbro",
"group": {
"id": "66bcbb1c5d918c40185b817d",
"main_variation": true
},
"channels": [
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
],
"identifiers": [
{
"type": "isbn",
"value": "1234567890111"
},
{
"type": "ean",
"value": "7890078279087"
}
],
"has_ean": true,
"datasheet": [
{
"name": "Tipo",
"value": "Society"
},
{
"name": "Material",
"value": "Sintetico"
}
],
"attributes": [
{
"name": "Cor",
"value": "Azul+Laranja"
},
{
"name": "Tamanho",
"value": "42"
}
],
"dimensions": [
{
"name": "package",
"height": {
"value": 24,
"unit": "cm"
},
"width": {
"value": 24,
"unit": "cm"
},
"length": {
"value": 35,
"unit": "cm"
},
"weight": {
"value": 690,
"unit": "g"
}
},
{
"name": "product",
"height": {
"value": 15,
"unit": "cm"
},
"width": {
"value": 18,
"unit": "cm"
},
"length": {
"value": 28,
"unit": "cm"
},
"weight": {
"value": 279,
"unit": "g"
}
}
],
"images": [
{
"type": "image/jpeg",
"reference": "https://files-product.magalu.com/65ef5538b65bd5399bce2017.jpeg"
}
],
"videos": [
{
"type": "embedded",
"reference": "https://www.youtube.com/watch?v=CFft8R3sdcg"
}
],
"podcasts": [
{
"type": "embedded",
"reference": "https://www.youtube.com/watch?v=CFft8R3sdcg"
}
],
"fulfillment": false,
"active": true,
"type": "product",
"extra_data": [
{
"name": "ncm",
"value": "8517.61.30"
}
]
}
'
Resposta:
Uso do trace_id O trace_id é um identificador único gerado para cada requisição feita à API, permitindo que o usuário acompanhe detalhadamente o andamento da execução de suas solicitações. Todas as operações de criação e atualização realizadas na API retornam esse identificador, oferecendo transparência e visibilidade completas sobre o processamento dos dados. Com o trace_id, é possível monitorar a requisição, facilitando a resolução de possíveis problemas e o acompanhamento em tempo real.
Para mais informações, consulte a seção dedicada ao trace_id na documentação da API Trace.
Códigos de retorno
Código | Descrição |
---|---|
202 | Accepted |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
422 | Unprocessable Entity |
500 | Internal Server Error |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Timeout |