Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.Documentación
Campañas con descuento por cantidad
Vista del vendedor
Crear campaña
Además de los detalles generales de la campaña, cómo nombre, fecha inicial y fin, hay tres tipos de campañas de volumen para considerar en la creación:
También es necesario informar si es posible aplicar el descuento en la cantidad seleccionada de lo mismo ítem o es posible combinar ítems distintos para aplicar el descuento.
Para crear una campaña de volumen de vendedores, ejecute la siguiente llamada:
Ejemplo BNGM enviando buy_quantity, pay_quantity y allow_combination permitiéndo combinar ítems distintos:
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"
}
'
Respuesta:
{
"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
}
Ejemplo BNSP enviando buy_quantity, discount_percentage y allow_combination no permitiendo combinar ítems distintos:
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"
}'
Respuesta:
{
"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,
}
Ejemplo SPONTH enviando buy_quantity, discount_percentage y allow_combination permitiendo combinar ítems distintos:
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"
}'
Respuesta:
{
"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
}
Considerando el subtype, se deben enviar 2 de los siguientes campos: buy_quantity, pay_quantity, discount_percentage.
Actualizar la campaña
Para la edición de campañas de descuento por cantidad se deben tener las siguientes consideraciones:
Para las programadas, solo deben enviarse los campos que deseen modificarse, teniendo en cuenta:
Ejemplo:
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"
}'
La respuesta exitosa es un código 200 OK. Y tiene el mismo formato que la respuesta de la creación de una campaña::
{
"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 campaña
Puede eliminarse una campaña y su eliminación dará de baja todas las ofertas existentes asociadas a la misma:
curl --location --request DELETE 'https://api.mercadolibre.com/seller-promotions/promotions/{{Promo-ID}}?promotion_type=VOLUME&app_version=v2' \
--header 'Authorization: Bearer {{token}}'
La respuesta exitosa es un código 200 OK, con el body en null.
Consultar detalles de una campaña
Para obtener los detalles de una campaña con descuento por volumen,realiza la siguiente consulta:
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions/P-MLB1806017?promotion_type=VOLUME&app_version=v2
Respuesta:
{
"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 específicos de esta campaña
Estados
Estos son los distintos estados por los que puede pasar una campaña con descuento por volumen.
Estado | Descripción |
---|---|
pending | Promoción aprobada que aún no inició. |
started | Promoción activa. |
finished | Promoción finalizada. |
Consultar ítems en una campaña
Para conocer los ítems candidatos y/o que forman parte de una campaña con descuento por volumen puedes realizar la siguiente consulta:
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/promotions//P-MLB1806017/items?promotion_type=VOLUME&app_version=v2
Respuesta:
{
"results": [
{
"id": "MLB3500418540",
"status": "candidate",
"price": 1333.34,
"original_price": 2000,
"meli_percentage": 10,
"seller_percentage": 23.3,
"start_date": "2023-04-20T03:00:00Z",
"end_date": "2023-08-01T02:00:00Z"
}
],
"paging": {
"offset": 0,
"limit": 50,
"total": 1
}
}
Al crearse una nueva campaña se seleccionan todos los ítems aplicables a la misma. El estado inicial (status) de los ítems es candidate y sin offer id asignado. Al momento que el vendedor incorpora un ítem a la campaña su status se modifica y se le asigna un offer_id único.
Estado de los ítems
En la siguiente tabla puedes encontrar los posibles estados que pueden tomar los ítems dentro de este tipo de campaña.
Estado | Descripción |
---|---|
candidate | Ítem candidato para participar de la promoción. |
pending | Ítem con promoción aprobada y programada. |
started | Ítem activo en la campaña. |
finished | Ítem eliminado de la campaña |
Indicar ítems para una campaña
Una vez que has sido invitado a participar para este tipo de campaña, puedes indicar qué productos deseas incluir en la misma.
Llamada:
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
Ejemplo:
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
Respuesta:
{
"offer_id": "MLB1834747833-9eafadd4-16d2-49ae-b272-9a7a34585cb8",
"price": 1800,
"original_price": 2000
}
Parámetros
promotion_id: identificación de la promoción.
promotion_type: tipo de promoción (VOLUME).
Modificando ítems
Para modificar el precio de un ítem que se encuentra participando de una campaña con descuento por volumen se deben realizar los siguientes pasos, ya que no es posible modificar el precio directamente.
- Eliminar el ítem de la campaña;
- Modificar el precio del ítem como la sincronización de precio normal;
- Incluir nuevamente el ítem dentro de la campaña.
Eliminar ítems
Con este recurso podrás eliminar la oferta del ítem.
Llamada:
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
Ejemplo:
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'Í
Respuesta: Status 200 OK
Conoce más sobre Ofertas por cantidad.
Siguiente: Descuento pre-acordado por ítem