Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
Documentación
Envío personalizado
Ofrecer envío personalizado
Para crear un item con el envío personalizado en el POST a /items deberás enviar el modo “custom” junto a los diferentes costos con sus descripciones dentro de la sección de shipping.
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
"title": "Anteojos Ray Ban Wayfare",
"category_id": "MLA3636",
"price": 10,
"currency_id": "ARS",
"available_quantity": 1,
"buying_mode": "buy_it_now",
"listing_type_id": "bronze",
"condition": "new",
"description": "Item:, Ray-Ban WAYFARER Gloss Black RB2140 901 Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box",
"video_id": "YOUTUBE_ID_HERE",
"warranty": "12 months by Ray Ban",
"pictures": [
{
"source": "http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"
}
],
"shipping": {
"mode": "custom",
"local_pick_up": false,
"free_shipping": false,
"methods": [],
"costs": [
{
"description": "TEST1",
"cost": "70"
},
{
"description": "TEST2 ",
"cost": "80"
}
]
}
}
https://api.mercadolibre.com/items$ITEM_ID
Ahora, puedes ver el ítem con envío personalizado y la tabla de costos configurada en shipping options. Ten en cuenta que este recurso solo muestra información cuando el vendedor elige la opción custom.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/shipping_options?zip_code=$ZIP_CODE
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA803066380/shipping_options?zip_code=$1234
Respuesta:
{
"destination": null,
"options": [
{
"id": "MLA803066380-0",
"option_hash": "d02e7314a07319e7ae3df65c40c59114",
"name": "TEST2 ",
"currency_id": "ARS",
"list_cost": 80,
"cost": 80,
"base_cost": null,
"display": "always",
"speed": null
},
{
"id": "MLA803066380-1",
"option_hash": "c83f3c67e7df67b84da2a283a2c64a50",
"name": "TEST1",
"currency_id": "ARS",
"list_cost": 70,
"cost": 70,
"base_cost": null,
"display": "always",
"speed": null
}
],
"buyer": {
"id": null,
"loyalty_level": null,
"shipping_level": null
},
"custom_message": {
"reason": "",
"display_mode": null
}
}
Envío gratis en envíos personalizados
Solo puedes ofrecerlo siempre y cuando la categoría no acepte Mercado Envíos. Deberás realizar directamente realizar un PUT con el campo free_shipping en true, sin costos ni descripciones.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json"-d
{
"shipping": {
"mode": "not_specified",
"local_pick_up": false,
"free_shipping": true,
"methods": [],
"costs": []
}
}
https://api.mercadolibre.com/items/$ITEM_ID
Agregar envío personalizado en productos
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"shipping": {
"mode": "custom",
"methods": [],
"costs": [{
"description": "TEST1",
"cost": "70"
},
{
"description": "TEST2 ",
"cost": "80"
}
]
}
}
https://api.mercadolibre.com/items/$ITEM_ID
Agregar número de seguimiento
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d'
{
"tracking_number": 000000012345,
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Estados de envío y transiciones
Pending: es el estado inicial con el cual se crea un envío personalizado. P, y que puede pasar a Shipped, Delivered o Cancelled.
Shipped: es el estado enviado en el cual se pueden actualizar el Tracking ID y el tiempo de promesa de entrega, en horas.
Delivered: se refiere al estado de envío entregado y, se puede volver al estado de Pending o Shipped.
Cancelled: representa el estado de envío cancelado, no se puede pasar a ningún otro estado. El envío se anula.
Informar estado de entrega
Con el siguiente recurso puedes informar a los compradores el status de entrega de sus productos cuando no utilicen Mercado Envíos. Utilízalo teniendo en cuenta los siguientes escenarios:
Escenario 1
Ocurre cuando la orden tiene un Custom Shipping creado y está en estado “pending”:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json"-d
{
"speed": 120,
"status":"shipped",
"tracking_number": 000000001234,
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Escenario 2
Se da cuando la orden tiene un Custom Shipping creado y está en estado “shipped”:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"speed": 120,
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Escenario 3
En caso que haya que Informar que ya fue entregado:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"status":"delivered",
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Escenario 4
Cuando sea necesario cancelar una venta:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"status":"cancelled",
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID