Documentação do Mercado Livre
Confira todas as informações necessárias sobre as APIs Mercado Livre.Documentação do
Campanhas de desconto por quantidade
Visão do vendedor
Criar campanha
Para este tipo de campanha existem 3 subtipos:
Para criar uma campanha de volume do vendedor execute a seguinte chamada:
Exemplo BNGM enviando buy_quantity, pay_quantity e allow_combination permitindo combinar items diferentes:
curl -X POST -H 'https://api.mercadolibre.com/seller-promotions/promotions?app_version=v2' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"promotion_type": "VOLUME",
"sub_type": "BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": true,
"name": "DxV teste BNGM",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T00:00:00"
}
'
Resposta:
{
"id": "C-MLB5790",
"type": "VOLUME",
"sub_type": "BNGM",
"status": "pending",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T23:59:59",
"name": "DxV teste BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": true
}
Exemplo BNSP enviando buy_quantity, discount_percentage e allow_combination não permitindo combinar itens diferentes:
curl -X POST -H 'https://api.mercadolibre.com/seller-promotions/promotions?app_version=v2&version=test' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"promotion_type": "VOLUME",
"sub_type": "BNSP",
"buy_quantity": 5,
"discount_percentage": 30,
"allow_combination": false,
"name": "DxV teste BNSP",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T00:00:00"
}'
Resposta:
{
"id": "C-MLB5789",
"type": "VOLUME",
"sub_type": "BNSP",
"status": "pending",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T23:59:59",
"name": "DxV teste BNSP",
"buy_quantity": 5,
"discount_percentage": 30,
"allow_combination": false,
}
Exemplo SPONTH enviando buy_quantity, discount_percentage e allow_combination permitindo combinar itens diferentes:
curl -X POST -H 'https://api.mercadolibre.com/seller-promotions/promotions?app_version=v2&version=test' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"promotion_type": "VOLUME",
"sub_type": "SPONTH",
"buy_quantity": 2,
"discount_percentage": 50,
"allow_combination": true,
"name": "DxV teste SPONTH",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T00:00:00"
}'
Resposta:
{
"id": "C-MLB5791",
"type": "VOLUME",
"sub_type": "SPONTH",
"status": "pending",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T23:59:59",
"name": "DxV teste SPONTH",
"buy_quantity": 2,
"discount_percentage": 50,
"allow_combination": true
}
De acordo com subtype, é necessário enviar 2 dos seguintes campos: buy_quantity, pay_quantity, discount_percentage.
Atualizar campanha
Para atualizar as campanhas de desconto por volume se deve considerar os seguintes pontos:
Para as campanhas já programadas, é necessário somente enviar os campos que deseja modificar, considerando os seguintes pontos:
Exemplo:
curl --location --request PUT 'https://api.mercadolibre.com/seller-promotions/promotions/C-MLB5783?app_version=v2&version=test' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"promotion_type": "VOLUME",
"sub_type": "BNSP",
"buy_quantity": 9,
"discount_percentage": 30,
"allow_combination": false,
"name": "campanha de teste"
}'
Resposta:
{
"id": "C-MLB5783",
"type": "VOLUME",
"sub_type": "BNSP",
"status": "pending",
"start_date": "2024-08-29T00:00:00",
"finish_date": "2024-09-29T23:59:59",
"name": "campanha de teste",
"buy_quantity": 9,
"discount_percentage": 30,
"allow_combination": false
}
Eliminar campanha
Para eliminar uma campanha do vendedor deve fazer esta chamada:
curl --location --request DELETE 'https://api.mercadolibre.com/seller-promotions/promotions/{{Promo-ID}}?promotion_type=VOLUME&app_version=v2' \
--header 'Authorization: Bearer {{token}}'
A resposta bem-sucedida é um código 200 OK, com o corpo definido como nulo (null).
Consultar os detalhes de uma campanha
Para obter os detalhes de uma campanha com desconto por volume, faça a seguinte consulta:
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions/P-MLB1806017?promotion_type=VOLUME&app_version=v2
Resposta:
{
"id": "C-MLB5790",
"type": "VOLUME",
"sub_type": "BNGM",
"status": "started",
"start_date": "2024-08-29T03:00:00Z",
"finish_date": "2024-09-30T02:59:59Z",
"name": "DxV teste BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": false
}
Campos da resposta
Estados
Esses são os diferentes status pelos quais uma campanha com desconto por volume pode passar.
Estados | Descrição |
---|---|
pending | Promoção aprovada, mas que ainda não começou. |
started | Promoção ativa. |
finished | Promoção finalizada. |
Consultar os itens em uma campanha
Para conhecer os itens candidatos e/ou que fazem parte de uma campanha com desconto por volume, faça a seguinte consulta:
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions/P-MLB1806017/items?promotion_type=VOLUME&app_version=v2
Resposta:
"results": [
{
"id": "MLB5000888672",
"status": "candidate",
"price": 0,
"original_price": 105,
"start_date": "2024-08-29T03:00:00Z",
"end_date": "2024-09-30T02:59:59Z",
"sub_type": "BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": false
},
{
"id": "MLB4816253882",
"status": "candidate",
"price": 0,
"original_price": 115,
"start_date": "2024-08-29T03:00:00Z",
"end_date": "2024-09-30T02:59:59Z",
"sub_type": "BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": false
},
{
"id": "MLB4816242302",
"status": "candidate",
"price": 0,
"original_price": 130,
"start_date": "2024-08-29T03:00:00Z",
"end_date": "2024-09-30T02:59:59Z",
"sub_type": "BNGM",
"buy_quantity": 3,
"pay_quantity": 2,
"allow_combination": false
}
],
"paging": {
"total": 3,
"limit": 50
}
}
Ao criar uma campanha, todos os itens aplicáveis a ela são selecionados. O estado inicial (status) dos itens é candidato e sem um ID de oferta atribuído. Assim que o vendedor incorpora um item à campanha, seu status é modificado e um offer_id exclusivo é atribuído a ele.
Estados do item
A tabela a seguir contém os possíveis estados que os itens podem assumir neste tipo de campanha.
Estados | Descrição |
---|---|
candidate | Item candidato a participar da promoção. |
pending | Item com promoção aprovada e programada. |
started | Item ativo na campanha. |
finished | IItem eliminado da campanha. |
Indicar itens para uma campanha
Após ter sido convidado a participar neste tipo de campanha, indique quais produtos deseja incluir nela.
Chamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' \
-d '{
"promotion_id":"$PROMOTION_ID",
"promotion_type":"$PROMOTION_TYPE"
}'
https://api.mercadolibre.com/seller-promotions/items/$ITEM_ID?app_version=v2
Exemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' \
-d '{
"promotion_id":"P-MLB379009",
"promotion_type":"VOLUME"
}'
https://api.mercadolibre.com/seller-promotions/items/MLB1834747833&app_version=v2
Resposta:
{
"offer_id": "MLB1834747833-9eafadd4-16d2-49ae-b272-9a7a34585cb8",
"price": 1800,
"original_price": 2000
}
Parâmetros
promotion_id: identificação da promoção.
promotion_type: tipo de promoção (VOLUME).
Modificar itens
Não é possível modificar diretamente o preço de um item participante de uma campanha com desconto por volume. Para realizar uma alteração de preço, você deve seguir os seguintes passos:
- Eliminar o item da campanha;
- Modificar o preço do item como sincronização normal de preço;
- Incluir o item novamente na campanha.
Excluir itens
Com este recurso você pode excluir a oferta do item.
Chamada:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/items/$ITEM_ID?promotion_type=$PROMOTION_TYPE&promotion_id=$PROMOTION_ID&offer_id=$OFFER_ID
Exemplo:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/items/MLA632979587?promotion_type=VOLUME&promotion_id=1804&offer_id=MLA876618673-9eafadd4-16d2-49ae-b272-9a7a34585cb8&app_version=v2'
Resposta: Status 200 OK
Conheça mais sobre Desconto por volume.
Próxima: Desconto pré-acordado por item