Publicar em Mercado Shops

Todas as vendas geradas através de uma loja Mercado Shops e os produtos publicados com seus respectivos atributos e variações são gerenciados da mesma forma e através da API do Mercado Livre (Guia para produtos).

Conteúdos

→Identifique se o vendedor pode publicar em Mercado Shops →Publicar no Mercado Livre e/ou Mercado Shops →Editar canal de publicação →Criar e/ou atualizar preço no Mercado Shops →Apagar preço diferente em Mercado Shops →Consultar o preço de uma publicação em Mercado Shops →Reconhecer o melhor preço de uma publicação →Notificações sobre os preços →Erros

Identifique se o vendedor pode publicar no Mercado Shops

Para saber se o vendedor tiver uma loja no Mercado Shops, faça um search com o site e seller id. Se tem a tag tag “mshops” significa que tem sua loja criada. Se não tem essa tag, poderá criar uma loja no Mercado Shops.

Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/search?seller_id=618515328

Resposta:

{
   "site_id":"MLB",
   "seller":{
      "id":618515328,
      "nickname":"TETE1835554",
      "permalink":"http://perfil.mercadolivre.com.br/TETE1835555",
      "registration_date":"2020-07-31T09:59:53.000-04:00",
      "seller_reputation":{
         "level_id":"5_green",
         "power_seller_status":null,
         "transactions":{
            "total":1,
            "canceled":0,
            "period":"historic",
            "ratings":{
               "negative":0,
               "positive":0,
               "neutral":1
            },
            "completed":1
         },
         "metrics":{
            "sales":{
               "period":"365 days",
               "completed":1
            }
         }
      },
      "real_estate_agency":false,
      "car_dealer":false,
      "tags":[
         "normal",
         "test_user",
         "mshops",
         "messages_as_seller",
         "messages_as_buyer"
      ],
      "eshop":null
   },
   "paging":{
      "total":0,
      "primary_results":1000,
      "offset":0,
      "limit":50
   },
   "results":[ ],
   "secondary_results":[ ],
   "related_results":[ ],
   "sort":{
      "id":"relevance",
      "name":"Mais relevantes"
   },
   "available_sorts":[
      {
         "id":"price_asc",
         "name":"Menor preço"
      },
      {
         "id":"price_desc",
         "name":"Maior preço"
      }
   ],
   "filters":[ ],
   "available_filters":[ ]
}

Publicar no Mercado Livre e/ou Mercado Shops

Importante:
Ao publicar ou editar o canal, você deve reconhecer se a categoria possui o atributo preço obrigatório.

Ao publicar um item você pode definir, mediante o campo “ channels”, em qual canal deseja publicar o item (Mercado Libre e/ou Mercado Shops). Você pode realizar esta mesma ação em qualquer momento que desejar mudar a publicação para um canal particular.

Exemplo de um item publicado apenas em Mercado Shops:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["mshops"]
	[...]
}
https://api.mercadolibre.com/items

Exemplo de item publicado apenas em Mercado Livre:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["marketplace"]
	[...]
}
https://api.mercadolibre.com/items

Para mais detalhes, você pode consultar publicações de marketplace.

Exemplo de item publicado nos dois canais:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["marketplace",
		"mshops"
	]
	[...]
}
https://api.mercadolibre.com/items

Editar canal de publicação

Você também pode modificar o canal em que a publicação está, fazendo um PUT no mesmo recurso /items.

Exemplo de edição de publicação de marketplace para mshops:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 
{
	[...]
	"channels": ["mshops"]
	[...]
}
https://api.mercadolibre.com/items

Criar e/ou atualizar preço em Mercado Shops

Exemplo:

curl -X POST-H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
    [...]
    "amount": 50000,
    "currency_id":"ARS"
}
https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Resposta:

{
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]

    [...]
}

Apagar preço diferenciado em Shops

Ao eliminar o preço no Mercado Shops, você mantém um preço padrão, sem diferenciar as publicações do Mercado Livre e do Mercado Shops.

Chamada:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Consultar o preço de uma publicação em Mercado Shops

Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA921502681/prices/types/standard/channels/mshops

Resposta:

{
    "id": "MLA921502681",
       [...]
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]
    [...]
}

Para editar publicações de marketplace, você pode utilizar o recurso /items.


Reconhecer o melhor preço de uma publicação

Para identificar o melhor preço de venda de uma publicação de marketplace (Mercado Livre) ou mshops (Mercado Shops) utilize /sale_price e envie o parâmetro de context (channel_mshops ou channel_marketplace) dependendo do canal da publicação.

Nota:
Você também pode usar o context loyalty, como buyer_loyalty_3, esses “contextos” (channel e loyalty) estão habilitados, ou seja, você pode adicionar novos ou alterar contextos para realizar pesquisas e combiná-los, apenas como variáveis ​​que limitam os valores de contexto. Em breve, teremos mais variáveis.

Chamada:

curl -X GET-H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/ITEM_ID/sale_price?context=CONTEXT

Exemplo para o canal Mercado Shops:

curl -X GET-H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/4/sale_price?context=channel_mshops

Resposta:

{
       ​"price_id":"35"
       ​"amount": 50000,
       ​"regular_amount": null,
       ​"currency_id": "ARS",
       ​"last_updated": "2021-06-03T16:24:56Z"      
}

Notificações sobre os preços

Para saber das notificações de preços você deve se inscrever no tópico items_prices. Na resposta correspondente, você receberá:

{
   "user_id": 1234567,
   "resource": "/items/$ITEM_ID/prices"
}

Assim que a notificação for recebida, você deve verificar e descobrir o novo status da entidade:

Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA921502681/prices

Resposta:

{
    "id": "MLA921502681",
       [...]
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]

    [...]
}

Erros

Erro Descrição Solução
400 Invalid json format Envie o JSON com o formato correto
400 Price amount must be greater than zero Insira um preço maior que zero
400 Price amount is required Preencha o valor do preço (obrigatório)
400 Price currency_id is required Preencha o ID da moeda (obrigatório)
400 Currency xxxx is not valid Insira uma moeda válida
400 Amount is over max decimal precision allowed for currency Use o número correto de casas decimais no preço
401 Missing access_token param Envie seu access token no header da chamada
403 User ID must match the item owner Use o ID de usuário do proprietário do item
404 Prices entity not found for itemxxxxx. It must be initialized before doing this operation Use o ID do item correto
429 Too many requests Reduza o número de chamadas

Seguinte: Frete grátis em Mercado Shops.

ou registre-se para receber as últimas notícias sobre nossa API