Documentação do Mercado Shops

Confira todas as informações necessárias sobre as APIs Mercado Shops.
circulos azuis em degrade
Última atualização em 25/09/2024

Gestão de promoções

Promoções

Com o recurso /seller-promotions você pode centralizar todos os tipos de promoções disponíveis no canal do Mercado Shops, tais como boleto (BOLETO), cupom (COUPON), descontos individuais (INDIVIDUAL), descontos tradicionais (TRADITIONAL e MASSIVE) e descontos por volume (VOLUME). Para começar a usar a central de promoções no canal e realizar promoções, basta ter sua loja criada e ter itens.

Importante:
Para as ofertas por quantidade, um mesmo produto pode participar de no máximo 5 ofertas por quantidade, sem coincidir nas mesmas datas. Se sua oferta por quantidade (ex.: 2X1) coincidir nas datas com uma tradicional (ex.: 50% OFF), apenas a oferta com maior benefício será exibida ao comprador.

Além disso, as promoções massivas individuais (INDIVIDUAL_VOLUME) não estarão mais disponíveis a partir de 14/10/2024.

Glossário de campos e parâmetros

Campos Descrição do campo Valores possíveis para o campo e sua descrição
name Nome da promoção. String
code Código de desconto. String
description Breve descrição da campanha de desconto. String
discount_type Tipo de desconto. Os valores são percent: percentual e fixed: valor fixo. Para as promoções massivas, pode contar com o valor by_item. Também com discount_by_quantity, percentage_by_volume e percentage_by_unit para os descontos por volume.
status Status da promoção. Os valores são active: ativo e inactive: inativo.
id ID da promoção. String
item_id ID da publicação. Será exibido nas promoções individuais.
type Tipo de campanha que o usuário deseja criar. Os valores são boleto, cupom, tradicional, individual, volume.
target Cobertura dos produtos, permite identificar se a campanha aplica para todos os produtos, produtos selecionados ou uma lista de produtos. Os valores são ALL_PRODUCTS, SELECTED_PRODUCTS, LISTED_PRODUCTS.
shop_id Identificador da loja/usuário. Integer
value_discount Valor do desconto para o item (este campo só se aplica para a criação de campanhas massivas). Double
discount_type Tipo de desconto aplicado ao item (este campo só se aplica para a criação de campanhas massivas). Os valores possíveis são fixed_price e percent, discount_by_quantity, percentage_by_unit e percentage_by_volume.
buy_quantity Quantidade de produtos que fazem parte da promoção. Integer
pay_quantity Quantidade de produtos pagos na promoção. Integer
Importante:
A partir de 14/10/2024, os IDs das várias promoções do Mshops mudarão para o formato C-{site}{Id} Exemplo: C-MLA242124. A migração progressiva começará com as campanhas de cupons.

Consultar promoções

Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/seller-promotions/promotions/$PROMOTION_ID?promotion_type=$TIPODEPROMOTION&channel=$CHANNEL

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions/TR-496907760-202112031641564156?promotion_type=BOLETO&channel=mshops

Resposta de oferta tradicional:

'{
    "id": "TR-496907760-202112031641564156",
    "name": "Traditional Modificada 3",
    "status": "ACTIVE",
    "type": "TRADITIONAL",
    "start_date": "2120-03-14T00:00:00.000+00:00",
    "end_date": "2120-02-13T00:00:00.000+00:00",
    "target": "SELECTED_PRODUCTS",
    "discount_type": "PERCENT",
    "value": 10,
    "shop_id": 496907780,
    "campaign_item_type": "traditional"
}'

Resposta de cupom:

{
   "id": "10097749",
   "name": "Cupom OPEN PLATFORM",
   "status": "ACTIVE",
   "type": "coupon",
   "start_date": "2022-10-30T00:00:00.000+00:00",
   "end_date": "2022-10-31T00:00:00.000+00:00",
   "target": "ALL_PRODUCTS",
   "discount_type": "percent",
   "value": 10,
   "shop_id": 654461415,
   "description": "Esta é a descrição do cupom",
   "code": "TESTCODE",
   "use_limit": 1
}

Resposta de oferta tradicional massiva:

{
   "id": "TRM-654461415-202202011726162616",
   "name": "Traditional Kike massiva teste 3",
   "status": "ACTIVE",
   "type": "traditional",
   "start_date": "2120-03-14T00:00:00.000+00:00",
   "end_date": "2120-02-13T00:00:00.000+00:00",
   "target": "LISTED_PRODUCTS",
   "discount_type": "by_item",
   "shop_id": 654461415,
   "campaign_item_type": "massive"
}

Resposta de ofertas por quantidade:

{
    "results": [
        {
            "id": "DXV-553421365-20230131110752752",
            "name": " DXV TESTE 1",
            "status": "ACTIVE",
            "type": "volume",
            "start_date": "2023-02-02T00:00:00.000+00:00",
            "end_date": "2023-03-31T00:00:00.000+00:00",
            "target": "SELECTED_PRODUCTS",
            "discount_type": "percentage_by_unit",
            "value": 20,
            "shop_id": 553421365,
            "buy_quantity": 6
        },
}

Resposta por campanha não encontrada:

'{
    "message": "GET to /shops/635345120/discounts/00006720 returned 404 and {\"status_code\":404,\"code\":\"discount_not_found_exception\",\"message\":\"discount with campaign id 00006720 not found for shop 635345120\",\"stacktrace\":null,\"request_id\":\"2edcb000-aacf-41d4-834e-916e1bd922ac\"}",
    "error": "internal_server_error",
    "status": 500,
    "cause": []
}'

Resposta sobre promoção que não pertence ao canal Mshop:

'{
"message": "Invalid promotion type",
"error": "bad_request",
"status": 400,
"cause": []
}'

Parâmetros

promotion_type: tipo de promoção que será consultada.
promotion_id: identificador da campanha/promoção a ser consultada.
channel: canal no qual queremos consultar. Por padrão, disponibilizaremos o marketplace.



Gerenciar publicações com promoções

Com o recurso /seller-promotions, você pode gerenciar as publicações com diferentes promoções, tanto para publicações do marketplace quanto para publicações do canal Mercado Shops, de maneira diferenciada.

Consultar promoções de uma publicação

Esta funcionalidade permite reconhecer todas as promoções que estão ativas em uma publicação.


Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/seller-promotions/items/$ITEM_ID?channel=$CHANNEL

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/items/MLA932421975?channel=mshops

Resposta de desconto tradicional:

{
        "id": "TR-496907760-202112031641564156",
        "name": "Traditional Modificada 3",
        "status": "programmed",
        "type": "traditional",
        "start_date": "2120-03-13",
        "finish_date": "2120-02-12",
        "target": "SELECTED_PRODUCTS"
      "campaign_item_type": "traditional_campaign"
    }

Resposta de oferta por quantidade:

{
        "id": "DXV-553421365-20230131110752752",
        "name": " DXV TESTE 1",
        "status": "programmed",
        "type": "volume",
        "start_date": "2023-02-01",
        "finish_date": "2023-03-30",
        "target": "SELECTED_PRODUCTS",
        "buy_quantity": 6
    }

Resposta se o item não existe:

{
    "message": "Item with id MLA082324822 not found",
    "error": "not_found",
    "status": 404,
    "cause": []
}

Resposta se não tiver acesso:

{
    "message": "Caller don't have permissions to access this item",
    "error": "forbidden",
    "status": 403,
    "cause": []
}

Parâmetros

promotion_type: tipo de promoção que será consultada.
promotion_id: identificador da campanha/promoção a ser consultada.
channel: canal no qual queremos consultar. Por padrão, disponibilizaremos o marketplace.


Consultar publicações por promoção

Esta funcionalidade permite reconhecer todas as publicações associadas a uma promoção.


Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/seller-promotions/promotions/$PROMOTION_ID/items?channel=$CHANNEL&limit=$LIMIT&offset=$OFFSET

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions/TR-496907760-202112031641564156/items?channel=mshops&limit=100&offset=0

Resposta:

{
   "items": [
       {
           "final_price": 90000,
           "id": "MLA1123020613",
           "original_price": 100000,
           "title": "Samsung Galaxy A10 32 Gb Azul 2 Gb Ram"
       },
       {
           "final_price": 1350,
           "id": "MLA897947944",
           "original_price": 1500,
           "title": "Sticker Tarjetas"
       },
       {
           "final_price": 1350,
           "id": "MLA838847599",
           "original_price": 1500,
           "title": "Carteira Ideal Para Você!"
       }
   ],
   "pagination": {
       "offset": 0,
       "limit": 100,
       "total": 3
   }
}

Resposta de ofertas por quantidade:


{
    "items": [
        {
            "final_price": 591600000,
            "id": "MLA851258051",
            "original_price": 102000000,
            "title": "Smart Tv Tcl L50p8m Led 4k 50  100v/240v"
        },
        {
            "final_price": 116000,
            "id": "MLA1137574968",
            "original_price": 20000,
            "title": "Processador de Alimentos"
        }
    ],
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 2
    }
}

Parâmetros

promotion_id: identificador da campanha/promoção a consultar.
user_id: identificação do vendedor do qual queremos saber as promoções que ele tem na loja.
channel: canal pelo qual queremos consultar. Por padrão, disponibilizaremos o marketplace.
limit: limite do número de publicações que a consulta retorna.
offset: número de publicações a serem omitidas antes de começar a retornar publicações da consulta (paginação).


Adicionar publicações a uma promoção

Chamada:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...}
https://api.mercadolibre.com/seller-promotions/users/$USER_ID/promotion/$PROMOTION_ID/items?channel=$CHANNEL

Exemplo para promoção tradicional:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
    "items": [
        {
            "item_id": "MLA930546850"
        }
    ],
    "action": "add"
}'
https://api.mercadolibre.com/seller-promotions/users/496907760/promotion/10038085/items?channel=mshops

Exemplo para promoção massiva:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
   "items": [
       {
           "item_id": "MLA1112170643",
           "value_discount":10,
           "discount_type":"PERCENT"
       },
               {
           "item_id": "MLA931566278",
           "value_discount":10,
           "discount_type":"FIXED_PRICE"
       }
   ],
   "action": "add"
}
https://api.mercadolibre.com/seller-promotions/users/496907760/promotion/10038085/items?channel=mshops

Exemplo para ofertas por quantidade:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
    "items": [
        {
            "item_id": "MLA854184492"
        }
    ],
    "action": "add"
}
https://api.mercadolibre.com/seller-promotions/users/553421365/promotion/DXV-553421365-20230131110752752/items?channel=mshops
Nota:
Tenha em mente que os campos value_discount e discount_type se aplicam apenas para adicionar itens a uma campanha massiva.

Resposta satisfatória:

{
    "status": "Success",
    "code": "201"
}

Parâmetros

promotion_id: ID da campanha/promoção a consultar.
channel: canal pelo qual queremos consultar. Por padrão, disponibilizaremos o marketplace.
user_id: identificação do vendedor cujas promoções queremos consultar.


Remover uma publicação de uma promoção

Chamada:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...}
https://api.mercadolibre.com/seller-promotions/users/$USER_ID/promotions/$PROMOTION_ID/items?channel=$CHANNEL

Exemplo:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"items": [
{
"item_id": "MLA932423847"
}
],
"action": "delete"
}'

https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/TR-496907760-202112031641564156/items?channel=mshops

Exemplo de ofertas por quantidade:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"items": [
{
"item_id": "MLA854184492"
}
],
"action": "delete"
}'

https://api.mercadolibre.com/seller-promotions/users/553421365/promotions/DXV-553421365-20230131110752752/items?channel=mshops

Gerenciar promoções por loja:

Com o recurso /seller-promotions você pode gerenciar as diferentes promoções para cada loja no Mercado Shops de forma diferenciada, permitindo realizar ações a nível de loja e não por itens individuais.

Parâmetros esperados por tipo de campanha

PROPRIEDADE BOLETO COUPON COUPON-FIXED TRADITIONAL
Nome Nome da promoção Nome da promoção Nome da promoção Nome da promoção
Tipo de desconto PERCENTUAL PERCENTUAL FIXO PERCENTUAL
Valor Valor da promoção Valor da promoção Valor da promoção (preço fixo) Valor da promoção
Tipo boleto cupom cupom tradicional
Data de início Data de início Data de início Data de início Data de início
Data de término Data final Data final Data final Data final
Alvo TODOS_OS_PRODUTOS
min_payment_amount Montante mínimo Montante mínimo
Code Código atribuído à promoção Código atribuído à promoção
one_coupon_per_user true ou false
items
Item_id
campaign_item_type TRADICIONAL
buy_quantity
pay_quantity
PROPRIEDADE TRADICIONAL-ITEM TRADICIONAL-MASSIVO INDIVIDUAL VOLUME
Nome Nome da promoção Nome da promoção Nome da promoção Nome da promoção
Tipo de desconto PERCENTUAL POR_ITEM discount_by_quantity, percentage_by_volume, percentage_by_unit
Valor Valor da promoção Valor da promoção Valor da promoção (Exceto para discount_by_quantity)
Tipo tradicional tradicional individual volume
Data de início Data de início Data de início Data de início Data de início
Data de término Data final Data final Data final Data final
Alvo PRODUTOS_SELECIONADOS PRODUTOS_LISTADOS PRODUTOS_SELECIONADOS
Montante mínimo de pagamento
Código
Um cupom por uso
Itens Lista de itens na promoção
Item_id Id do item Id do item
Tipo de item da campanha TRADICIONAL MASSIVO
Quantidade de compra Quantidade de itens que aplicam à promoção (entre 2 e 10 unidades)
Quantidade paga Quantidade de itens a serem pagos (Menor que a quantidade comprada)


Consultar promoções por loja

Com este recurso, você pode consultar as promoções ativas de uma loja.


Nota:
A partir de 14/10/2024, somente serão exibidas promoções que incluam vários produtos. Campanhas com tipo "individual" não serão listadas.

Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/seller-promotions/users/$USER_ID?channel=$CHANNEL

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/users/496907760?channel=mshops

Resposta:

{
   "results": [
       {
           "id": "TR-496907760-202112031641564156",
           "name": "Traditional Modificada 3",
           "status": "ACTIVE",
           "type": "TRADITIONAL",
           "start_date": "2120-03-14T00:00:00.000+00:00",
           "end_date": "2120-02-13T00:00:00.000+00:00",
           "target": "SELECTED_PRODUCTS",
           "discount_type": "PERCENT",
           "value": 10,
           "shop_id": 496907780,
           "campaign_item_type": "traditional"
       },
       {
           "id": "INDIVIDUAL-MLB2038165685-202111021040184018",
           "status": "ACTIVE",
           "type": "INDIVIDUAL",
           "start_date": "2021-12-14T00:00:00.000+00:00",
           "end_date": "2021-12-20T00:00:00.000+00:00",
           "target": "SELECTED_PRODUCTS",
           "discount_type": "PERCENT",
           "value": 5,
           "shop_id": 496907780,
           "item_id": "MLB2038165685"
       },
       {
           "id": "10048392",
           "name": "Teste usos",
           "status": "ACTIVE",
           "type": "coupon",
           "start_date": "2022-01-28T17:57:00.000+00:00",
           "end_date": "2022-10-29T05:00:00.000+00:00",
           "target": "ALL_PRODUCTS",
           "discount_type": "percent",
           "value": 20,
           "shop_id": 654461415,
           "description": "Usos",
           "code": "USOSCUPON",
           "use_limit": 1
       },
       {
           "id": "TRM-654461415-202201270318521852",
           "name": "Traditional Masivo",
           "status": "ACTIVE",
           "type": "traditional",
           "start_date": "2120-01-18T00:00:00.000+00:00",
           "end_date": "2120-02-13T00:00:00.000+00:00",
           "target": "LISTED_PRODUCTS",
           "discount_type": "by_item",
           "shop_id": 654461415,
           "campaign_item_type": "massive"
       }
   ]
}

Resposta com user_id inválido:

{
    "message": "Caller don't have permissions to access this user",
    "error": "forbidden",
    "status": 403,
    "cause": []
}

Parâmetros

user_id: identificação do vendedor cujas promoções na loja queremos consultar.
channel: canal no qual queremos consultar. Por padrão, disponibilizaremos o marketplace.


Criar promoções

Com o seguinte recurso, você pode criar uma promoção para a loja inteira, que será aplicada a todos os itens ativos na mesma.


Chamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d 
{...}
https://api.mercadolibre.com/seller-promotions/users/$USER_ID?channel=$CHANNEL

Dependendo do tipo de promoção que você criar, o POST pode incluir atributos como: name, discount_type, value, campaign_type, start_date, end_date, target, description, code, item_id, min_payment_amount, items, action, status, buy_quantity..


Exemplo de cupom:


curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"name": "Nome Promo Teste",
"code": "TESTE3",
"description": "Descrição do cupom",
"discount_type": "fixed",
"value": 50000,
"start_date": "2021-12-01T00:00:00.000+0000",
"end_date": "2021-12-02T00:00:00.000+0000",
"min_payment_amount": 50001,
"max_user_budget": 50000,
"budget": 100000,
"type": "coupon",
"one_coupon_per_user": true,
"status": "active"
}'
https://api.mercadolibre.com/seller-promotions/users/496907760?channel=mshops

Resposta da promoção cupom criada:

{
    "id": "10029844",
    "name": "Nome Promo Teste",
    "status": "ACTIVE",
    "type": "COUPON",
    "start_date": "2021-12-01T00:00:00.000+00:00",
    "target": "ALL_PRODUCTS",
    "discount_type": "FIXED",
    "value": 50000,
    "shop_id": 496907780,
    "description": "Descrição do cupom",
    "code": "TESTE3"
}
Importante:

A partir de 14/10/12, as configurações de promoções por volume serão restritas. As novas configurações são as seguintes:

  • Leve "N" e pague "M":
    • 2 <= N <= 10
    • 1 <= M < N
  • Levando "N", "M"% de desconto na compra:
    • 2 <= N <= 10
    • % de desconto restrito a: 5, 10, 15, 20, 25, 30, 40, 50, 60, 70 e 80
  • "M"% de desconto na N-ésima unidade:
    • 2 <= N <= 10
    • % de desconto restrito a: 5, 10, 15, 20, 25, 30, 40, 50, 60, 70 e 80

Exemplo de oferta por quantidade, em todas as unidades (20% de desconto na 6ª unidade):

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
 "name": " DXV TESTE 1",
 "discount_type": "percentage_by_unit",
 "value": 20.0,
 "start_date": "2023-02-02T00:00:00.000+0000",
 "end_date": "2023-03-31T00:00:00.000+0000",
 "type": "volume",
 "target": "SELECTED_PRODUCTS",
 "buy_quantity": 6,
 "status": "ACTIVE"
}'
https://api.mercadolibre.com/seller-promotions/users/805246766?channel=mshops
}

Resposta da promoção criada:

{
    "id": "DXV-553421365-20230131110752752",
    "name": " DXV TESTE 1",
    "status": "ACTIVE",
    "type": "volume",
    "start_date": "2023-02-02T00:00:00.000+00:00",
    "end_date": "2023-03-31T00:00:00.000+00:00",
    "target": "SELECTED_PRODUCTS",
    "discount_type": "percentage_by_unit",
    "value": 20,
    "shop_id": 805246766,
    "buy_quantity": 6
}

Exemplo de oferta por quantidade em uma unidade (20% de desconto comprando 6 unidades):

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
"name": " DXV TESTE 2",
"discount_type": "percentage_by_volume",
"value": 20.0,
"start_date": "2023-04-02T00:00:00.000+0000",
"end_date": "2023-04-31T00:00:00.000+0000",
"type": "ivolume",
"target": "SELECTED_PRODUCTS",
"buy_quantity": 6,
"status": "ACTIVE"
}
https://api.mercadolibre.com/seller-promotions/users/805246766?channel=mshops

Resposta bem-sucedida:

{
    "id": "DXV-623329318-20240924115208528",
    "name": " DXV TESTE 2",
    "status": "ACTIVE",
    "type": "volume",
    "start_date": "2023-04-02T00:00:00.000+00:00",
    "end_date": "2023-04-31T00:00:00.000+00:00",
    "target": "SELECTED_PRODUCTS",
    "discount_type": "percentage_by_volume",
    "value": 20,
    "shop_id": 805246766,
    "buy_quantity": 6
}

Exemplo de ofertas por quantidade com unidades grátis (2x1)

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
"name": " DXV TESTE 3 2x1",
"discount_type": "discount_by_quantity",
"start_date": "2023-05-02T00:00:00.000+0000",
"end_date": "2023-05-31T00:00:00.000+0000",
"type": "volume",
"target": "SELECTED_PRODUCTS",
"buy_quantity": 2,
"pay_quantity": 1,
"status": "ACTIVE"
}
https://api.mercadolibre.com/seller-promotions/users/805246766?channel=mshops

Resposta bem-sucedida:

{
    "status": "Success",
    "code": "200"
}

Tenha em mente que você não pode ter mais de 1 oferta por quantidade ao mesmo tempo em um produto, sejam datas exatas ou dias sobrepostos.
Além disso, os percentuais de ofertas podem estar entre (5% e 95%) e a quantidade de unidades aplicáveis às promoções entre (2 e 10 unidades).


Parâmetros

user_id: identificação do vendedor cujas promoções na loja queremos consultar.
channel: canal no qual queremos consultar. Por padrão, disponibilizaremos o marketplace.


Modificar promoção por loja

Com este recurso, é possível fazer alterações nas promoções de uma loja. Para isso, é necessário ter o ID da loja e o ID da promoção que queremos modificar.


Chamada:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...}
https://api.mercadolibre.com/seller-promotions/users/$USER_ID/promotions/$PROMOTION_ID?channel=$CHANNEL

Esclarecimentos

Para cupom e cupom fixo, é possível alterar as seguintes propriedades:

  • name
  • value (desde que esteja programado)
  • start_date (desde que esteja programado)
  • end_date (desde que esteja programado)
  • Description
  • min Payment Amount (desde que esteja programado)

Ao fazer uma modificação, deve-se enviar pelo menos os seguintes dados (mesmo que apenas as propriedades mencionadas anteriormente possam ser alteradas):

  • name
  • discount_type
  • value
  • type
  • start_date
  • end_date
  • start_date
  • code
  • min_payment_amount

Exemplo de cupom fixo:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"name": "Nome Promo 1 fixed",
"discount_type": "fixed",
"value": 3000,
"type": "coupon",
"start_date": "2023-02-08T20:57:00.000+0000",
"end_date": "2023-12-02T00:00:00.000+0000",
"code": "TESTE3",
"min_payment_amount": 50005
}'
https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/TR-496907760-202112031641564156?channel=mshops

Exemplo de cupom:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"name": "Nome Promo 1 PERCENT",
"discount_type": "percent",
"value": 3000,
"type": "coupon",
"start_date": "2023-02-08T20:57:00.000+0000",
"end_date": "2023-12-02T00:00:00.000+0000",
"code": "TESTE3",
"min_payment_amount": 1
}'
https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/TR-496907760-202112031641564156?channel=mshops

Esclarecimentos

Para boleto, é possível alterar as seguintes propriedades:

  • name
  • value (desde que esteja programado)
  • start_date (desde que esteja programado)
  • end_date (desde que esteja programado)

Ao fazer uma modificação, deve-se enviar pelo menos os seguintes dados (mesmo que apenas as propriedades mencionadas anteriormente possam ser alteradas):

  • name
  • value
  • type
  • start_date
  • end_date

Exemplo de boleto:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"name": "Nome PROMO 1 BOLETO",
"value": 20,
"type": "boleto",
"start_date": "2022-02-08T20:57:00.000+0000",
"end_date": "2022-12-08T00:00:00.000+0000"
}'
https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/TR-496907760-202112031641564156?channel=mshops

Esclarecimentos

Para campanhas tradicionais (ALL_PRODUCTS), as seguintes propriedades podem ser alteradas:

  • name
  • start_date (desde que esteja programado)
  • end_date (desde que esteja programado)

Ao fazer uma modificação, deve-se enviar pelo menos os seguintes dados (mesmo que apenas as propriedades mencionadas anteriormente possam ser alteradas):

  • name
  • value
  • type
  • start_date
  • end_date
  • target

Exemplo de tradicional ALL_PRODUCTS:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"name": "Traditional Mod",
"value": 10,
"type": "traditional",
"start_date": "2022-02-18T08:00:00.000+0000",
"end_date": "2023-12-13T00:00:00.000+0000",
"target": "ALL_PRODUCTS"
}'
https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/TR-496907760-202112031641564156?channel=mshops

Resposta com algum parâmetro incorreto:

{
    "message": "type mismatch for key [target]",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

Parâmetros

user_id: identificação do vendedor cujas promoções na loja queremos consultar.
channel: canal no qual queremos consultar. Por padrão, disponibilizaremos o marketplace.
promotion_id: identificador da campanha/promoção a ser consultada.


Excluir promoções por loja

Chamada:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/users/$USER_ID/promotions/$PROMOTION_ID?channel=$CHANNEL

Exemplo:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/users/496907760/promotions/INDIVIDUAL-MLA930546840-2021110811090191?channel=mshops

Parâmetros

user_id: identificação do vendedor que queremos consultar as promoções que tem em sua loja.
channel: canal onde queremos consultar. Por padrão, disponibilizaremos marketplace.
promotion_id: identificador da campanha/promoção a consultar.


Consultar relatório de cupones


Através do recurso /coupons, você poderá obter um relatório dos cupons vigentes na loja, permitindo assim ter visibilidade dos cupons criados em um determinado intervalo de tempo..


Parâmetros:

É possível obter o relatório de cupons disponíveis em uma loja, realizando uma consulta com os seguintes parâmetros.


Nome Tipo Descrição Exemplo
Seller_id String ID do vendedor/loja 594239600
Start_date String Data de início do relatório no formato yyyy-MM-dd 2024-07-09
End_date String Data de término do relatório no formato yyyy-MM-dd 2024-07-12

Chamada:


curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/users/$SELLER_ID/coupons?start_date=$START_DATE&end_date=$END_DATE&channel=mshops

Exemplo:


curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/users/123/coupons?start_date=2024-04-01&end_date=2024-04-30

Resposta bem-sucedida dos cupones


{
  "start_date": "2024-04-01",
  "end_date": "2024-04-30",
  "coupons": [
    {
      "id": 10996528,
      "campaign_name": "Cupon test",
      "coupon_code": "TESTCUPON",
      "used_coupon": 0,
      "total_sales": "$ 0",
      "total_discount": "$ 0",
      "created_date": "2024-03-30",
      "start_date": "2024-03-30",
      "end_date": "2024-05-14",
      "status": "active"
    },
    {
      "id": 10993413,
      "campaign_name": "Cupon test 2",
      "coupon_code": "TESTCUPON2",
      "used_coupon": 0,
      "total_sales": "$ 0",
      "total_discount": "$ 0",
      "created_date": "2024-03-24",
      "start_date": "2024-03-28",
      "end_date": "2024-04-30",
      "status": "active"
    },
    {
      "id": 10993343,
      "campaign_name": "Cupon test 3",
      "coupon_code": "TESTCUPON2",
      "used_coupon": 0,
      "total_sales": "$ 0",
      "total_discount": "$ 0",
      "created_date": "2024-03-24",
      "start_date": "2024-03-28",
      "end_date": "2024-04-13",
      "status": "inactive"
    }
  ]
}

Resposta bem-sucedida dos cupones, mas sem cupons dentro do intervalo de datas selecionado:


{
  "start_date": "2024-04-01",
  "end_date": "2024-04-30",
  "coupons": []
}

Recuperação de cupones sem data de início e/ou sem data de término:


Request-code: 400
{
  "start and end dates must not be empty"
}

Campos da resposta:

A resposta de um GET ao recurso /coupons fornecerá os seguintes parâmetros

  • results:
    • id: id da promoção/cupom
    • campaign_name: Nome da promoção/cupom
    • coupon_code: Código atribuído para resgatar o cupom
    • used_coupon: Booleano que me permite saber se o cupom foi usado ou não
    • total_sales: Total de vendas geradas com os produtos vendidos que aplicaram o cupom
    • total_discount: Total de desconto gerado com os produtos vendidos que aplicaram o cupom
    • created_date: Data de criação da promoção/cupom
    • start_date: Data de início da promoção/cupom
    • end_date: Data de término da promoção/cupom
    • status: Estado da promoção, seus valores podem ser active (ativo) ou inactive (inativo)

Erros Cupons

Recuperação de cupons com um formato de data incorreto



    Request-code: 400
{
    "Start and end dates must be in correct format: yyyy-MM-dd"
}

Erro ao recuperar os cupons de um seller



 Request-code: 500
{
}

Erro no uso do access token para obter informações de cupons



 Request-code: 401
{
    "code": "unauthorized",
    "message": "invalid access token"
}


Próxima: Vendas de usuários convidados.