Envío personalizado
Contenidos
→Accede a detalles de envío →Ofrece envío personalizado para tus productos →Ofrece envío gratis en envíos personalizados →Agrega envío personalizado para tus productos →Agrega un número de seguimiento →Estados de envíos y transiciones →Entrega de Producto
Accede a detalles de envío
Si bien puedes encontrar cierta información básica sobre los envíos en la orden, te recomendamos trabajarcon el recurso de envíos para obtener todos los detalles. Para hacerlo, deberás conocer el shipment_id. Conoce más detalles sobre acceder al recurso de manejo de envíos.
Ofrece envío personalizado para tus productos
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
JSON
{
"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
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
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA803066380/shipping_options
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
}
}
Ofrece envío gratis en envíos personalizados
Para ofrecer envío gratis, debes tener en cuenta que solo puedesodrás hacerlo 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 necesidad de agregar costos y descripciones.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json"-d
JSON
{
"shipping": {
"mode": "not_specified",
"local_pick_up": false,
"free_shipping": true,
"methods": [],
"costs": []
}
}
https://api.mercadolibre.com/items/$ITEM_ID
Agrega envío personalizado para tus productos
Para agregar un envío personalizado a un ítem deberás hacer un PUT al recurso /items incluyendo el item_id y envía un JSON similar al consignado a continuación.
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
JSON
{
"shipping": {
"mode": "custom",
"methods": [],
"costs": [
{
"description": "TEST1",
"cost": "70"
},
{
"description": "TEST2 ",
"cost": "80"
}
]
}
}
https://api.mercadolibre.com/items/$ITEM_ID
Agrega un número de seguimiento
Para incluir el número de seguimiento de un envío, debes conocer el shipment_id y hacer un PUT al recurso shipments con los atributos receiver_id, que es el usuario comprador, y el tracking_number.
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d'
JSON
{
"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.
Entrega de producto (disponible en México, Brasil, Argentina, Colombia y Chile)
Con el siguiente recurso puedes informar a los compradores el status de entrega de sus productos cuando no utilicen Mercado Envíos. Comienza a utilizarlo 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
JSON
{
"speed": 120,
"status":"shipped",
"tracking_number": 000000001234,
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Aclaraciones:
- El campo speed representa la distancia en horas que va a demorar la entrega del producto.
- La fecha de promesa de entrega será igual a la cantidad de horas especificadas en el campo speed, contadas a partir del día en que se indique este valor.
- El campo tracking_number es requerido para la API, pero no será en ningún listado y/o detalle de venta.
- El campo receiver_id hay que tomarlo desde la información del envío.
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
JSON
{
"speed": 120,
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Aclaración: en este caso solo se actualiza la promesa de entrega, por lo que no se requiere un tracking_number de parte de la API.
Escenario 3
En caso que haya que Informar que ya fue entregado:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
JSON
{
"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
JSON
{
"status":"cancelled",
"receiver_id": 12345678
}
https://api.mercadolibre.com/shipments/$SHIPMENT_ID