Calcula los costos de envío y handling time

En nuestro Marketplace, los vendedores tendrán un calculador de envíos en la página de descripción del item; por eso, los compradores conocerán el costo de envío y el handling time.
Puedes utilizar nuestros recursos para calcularlos en base a la información que tienes.

Contenidos:

Descripción de atributos

Veamos una rápida descripción de cada atributo que encontrarás en el recurso del calculador:

destination (destino)
Detalles del domicilio del receptor:
Atributos
zip_code (código postal)
Código postal del destino.
city (ciudad)
Información de la ciudad de destino.
Atributos
id
ID de la ciudad de destino.
name (nombre)
Nombre de la ciudad de destino.
state (estado)
Información del estado de destino.
Atributos
id
ID del estado de destino.
name (nombre)
Nombre del estado de destino.
country (país)
Información del país de destino.
Atributos
id
ID del país de destino.
name (nombre)
Nombre del país de destino.
extended_attributes (atributos extendidos)
Información adicional del domicilio de destino.
Atributos
address (domicilio)
Línea del domicilio de destino.
owner_name (nombre del titular)
Titular del domicilio de destino.
zip_code_type (tipo de código postal)
Información sobre el tipo de código postal de destino.
Atributos
type (tipo)
ID del tipo de código postal de destino.
Description (descripción)
Nombre del tipo de código postal de destino.
city_type (tipo de ciudad)
ID del tipo de ciudad de destino.
city_name (nombre de la ciudad)
Nombre de la ciudad de destino.
version (versión)
Versión interna de estos datos en la API de Códigos Postales.
options (opciones)
Colección de costos de envío para cada método de envío disponible.
Atributos
id
ID de la regla de envío aplicada.
name (nombre)
Nombre del método de envío.
currency_id (ID de moneda)
ID de la moneda utilizada para mostrar los costos de envío.
list_cost (costo de publicación)
Costos de envío reales; sin envío gratis aplicado.
cost (costo)
Costo de envío final; se podría aplicar envío gratis.
tracks_shipments_status (seguimiento del estado de los envíos)
Indica cómo se podrá realizar el seguimiento de este método.
Atributos
verified (verificado)
Se puede realizar el seguimiento a nivel interno.
not_verified (no verificado)
La información de seguimiento debe ser entregada por el vendedor.
no
No se puede realizar seguimiento.
display (mostrar)
ID del método de envío para procesamiento frontend.
Atributos
always (siempre)
Se debe mostrar el método de envío.
optional (opcional)
Es posible no mostrar el método porque existe uno más rápido y económico.
speed (velocidad)
Información de la velocidad de entrega.
Atributos
shipping (envío)
Horas promedio para el envío.
handling (en manipulación)
Horas promedio para que el vendedor despache el envío.

Calcula conforme a código postal y dimensiones del item

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MLB/shipping_options?zip_code_from=01310909&zip_code_to=01310909&dimensions=16x16x16,1500

Respuesta:

{
  "destination": {
	"zip_code": "01310909",
	"city": {
  	"id": "BR-SP-44",
  	"name": "São Paulo"
	},
	"state": {
  	"id": "BR-SP",
  	"name": "São Paulo"
	},
	"country": {
  	"id": "BR",
  	"name": "Brasil"
	},
	"extended_attributes": {
  	"address": "Avenida Paulista, 688",
  	"owner_name": "Edifício Santa Filippa",
  	"zip_code_type": {
    	"type": "LO",
    	"description": "Logradouro"
  	},
  	"city_type": "CI",
  	"city_name": "São Paulo",
  	"neighborhood": "Bela Vista",
  	"status": "active"
	}
  },
  "options": [
	{
  	"id": 27554373,
  	"name": "Normal",
  	"shipping_method_id": 100009,
  	"currency_id": "BRL",
  	"list_cost": 9.66,
  	"cost": 9.66,
  	"tracks_shipments_status": "not_verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 96,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-24T00:00:00.000-02:00",
    	"shipping": 48,
    	"handling": 48,
        "unit": "hour",
    	"offset": {
      	"date": "2016-02-26T00:00:00.000-02:00",
      	"shipping": 48
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	},
	{
  	"id": 27551043,
  	"name": "Expresso",
  	"shipping_method_id": 182,
  	"currency_id": "BRL",
  	"list_cost": 9.83,
  	"cost": 9.83,
  	"tracks_shipments_status": "not_verified",
  	"display": "always",
  	"speed": {
    	"shipping": 48,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-24T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-23T00:00:00.000-02:00",
    	"shipping": 24,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
      	"date": "2016-02-24T00:00:00.000-02:00",
      	"shipping": 24
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
        "type": "none",
    	"promoted_amount": 0
  	}
	}
  ]
}

Calcula conforme a usuario y código postal

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/190990642/shipping_options?zip_code=01310909&dimensions=16x16x16,1500

Respuesta:

{
  "destination": {
	"zip_code": "01310909",
	"city": {
  	"id": "BR-SP-44",
  	"name": "São Paulo"
	},
	"state": {
  	"id": "BR-SP",
  	"name": "São Paulo"
	},
	"country": {
  	"id": "BR",
  	"name": "Brasil"
	},
	"extended_attributes": {
  	"address": "Avenida Paulista, 688",
  	"owner_name": "Edifício Santa Filippa",
  	"zip_code_type": {
    	"type": "LO",
    	"description": "Logradouro"
  	},
  	"city_type": "CI",
  	"city_name": "São Paulo",
  	"neighborhood": "Bela Vista",
  	"status": "active"
	}
  },
  "options": [
	{
  	"id": 27555383,
  	"name": "Normal",
  	"shipping_method_id": 100009,
  	"currency_id": "BRL",
  	"list_cost": 11.86,
  	"cost": 11.86,
  	"tracks_shipments_status": "not_verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 96,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-03-01T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"shipping": 48,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
          "date": "2016-03-01T00:00:00.000-02:00",
      	"shipping": 48
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	},
	{
  	"id": 27843879,
  	"name": "Expresso",
  	"shipping_method_id": 182,
  	"currency_id": "BRL",
  	"list_cost": 16.48,
  	"cost": 16.48,
  	"tracks_shipments_status": "not_verified",
  	"display": "always",
  	"speed": {
    	"shipping": 48,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-25T00:00:00.000-02:00",
    	"shipping": 24,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
      	"date": "2016-02-26T00:00:00.000-02:00",
      	"shipping": 24
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	}
  ]
}

Calcula conforme a ciudad y dimensiones en MCO

Puedes calcular los costos de envío para un site determinado. MCO es diferente de otros sites porque el cálculo se realiza conforme a los parámetros city_from, city_to y dimensiones. Como puedes ver en el siguiente ejemplo, este recurso permite multiget. Debes vincular los códigos de ciudad uno por uno.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MCO/shipping_options?city_from=Q08tRENCb2dvdA&city_to=TUNPQ0NBUjcwNTYz,TUNPQ01FRGRjNjc4&dimensions=10x10x10,1000

Respuesta:

{
  "TUNPQ01FRGRjNjc4": {
	"destination": {
  	"zip_code": null,
  	"city": {
    	"id": "TUNPQ01FRGRjNjc4",
    	"name": "Medellín"
  	},
  	"state": {
    	"id": "CO-ANT",
    	"name": "Antioquia"
  	},
  	"country": {
    	"id": "CO",
    	"name": "Colombia"
  	}
	},
	"options": [
  	{
    	"id": 523836053,
    	"name": "Servientrega Normal",
    	"shipping_method_id": 501745,
    	"currency_id": "COP",
    	"list_cost": 7500,
    	"cost": 7500,
    	"tracks_shipments_status": "not_verified",
    	"display": "recommended",
    	"speed": {
      	"shipping": 24,
      	"handling": 72
    	},
    	"estimated_delivery": {
      	"date": "2016-02-26T00:00:00.000-05:00",
      	"pay_before": null,
      	"time_from": null,
      	"time_to": null
    	},
    	"estimated_delivery_time": {
      	"type": "known",
      	"date": "2016-02-26T00:00:00.000-05:00",
      	"shipping": 24,
      	"handling": 72,
      	"unit": "hour",
      	"offset": {
        	"date": null,
        	"shipping": null
      	},
      	"time_frame": {
        	"from": null,
        	"to": null
      	},
      	"pay_before": null
    	},
    	"discount": {
      	"rate": 0,
      	"type": "none",
      	"promoted_amount": 0
    	}
  	}
	]
  },
  "TUNPQ0NBUjcwNTYz": {
	"destination": {
  	"zip_code": null,
  	"city": {
    	"id": "TUNPQ0NBUjcwNTYz",
    	"name": "Cartagena De Indias"
  	},
  	"state": {
    	"id": "CO-BOL",
    	"name": "Bolivar"
  	},
  	"country": {
    	"id": "CO",
    	"name": "Colombia"
  	}
	},
	"options": [
  	{
    	"id": 523835977,
    	"name": "Servientrega Normal",
    	"shipping_method_id": 501745,
    	"currency_id": "COP",
    	"list_cost": 7500,
    	"cost": 7500,
    	"tracks_shipments_status": "not_verified",
    	"display": "recommended",
    	"speed": {
      	"shipping": 48,
      	"handling": 72
    	},
    	"estimated_delivery": {
      	"date": "2016-02-29T00:00:00.000-05:00",
      	"pay_before": null,
      	"time_from": null,
      	"time_to": null
    	},
    	"estimated_delivery_time": {
      	"type": "known",
      	"date": "2016-02-29T00:00:00.000-05:00",
      	"shipping": 48,
      	"handling": 72,
      	"unit": "hour",
      	"offset": {
        	"date": null,
        	"shipping": null
      	},
      	"time_frame": {
        	"from": null,
        	"to": null
      	},
      	"pay_before": null
    	},
    	"discount": {
      	"rate": 0,
      	"type": "none",
      	"promoted_amount": 0
    	}
  	}
	]
  }
}

Costos de envío por Usuario, ciudad y dimensiones en MCO

Si lo deseas, puedes calcular los costos de envío para un usuario específico y una ciudad y dimensiones determinadas. Como puedes ver en el siguiente ejemplo, este recurso permite multiget. Debes concatenar los códigos de ciudad uno por uno.

Ejemplo:

GET https://api.mercadolibre.com/users/454271894/shipping_options?city_to=Q08tRENCb2dvdA,TUNPQ01FRGRjNjc4&dimensions=15x15x15,650

Respuesta:

{
	"destination": {
    	"zip_code": null,
    	"city": {
        	"id": "Q08tRENCb2dvdA",
  	      "name": "Bogotá"
    	},
    	"state": {
        	"id": "CO-DC",
        	"name": "Bogota D.C."
    	},
    	"country": {
        	"id": "CO",
        	"name": "Colombia"
    	}
	},
	"options": [
    	{
       	 "id": 11110,
        	"name": "Servientrega Estandar",
            "shipping_method_id": 501745,
        	"currency_id": "COP",
        	"list_cost": 7.5,
        	"cost": 7.5,
            "tracks_shipments_status": "verified",
        	"display": "recommended",
        	"speed": {
            	"shipping": 48,
            	"handling": null
        	},
            "estimated_delivery": {
            	"date": null,
            	"pay_before": null,
            	"time_from": null,
            	"time_to": null
        	},
        	"discount": {
            	"rate": 0
        	}
    	}
	],
	"settings": {
    	"allow_add_cost": null
	}
}

Costos de envío conforme a item y ciudad en MCO

Calcula los costos de envío para un item enviando solo los parámetros Item_id y City_to.

Ejemplo:

GET https://api.mercadolibre.com/items/MCO415774919/shipping_options?city_to=Q08tRENCb2dvdA

Respuesta:

{
  "destination": {
	"zip_code": null,
	"city": {
      "id": "Q08tRENCb2dvdA",
  	"name": "Bogotá"
	},
	"state": {
  	"id": "CO-DC",
  	"name": "Bogota D.C."
	},
	"country": {
  	"id": "CO",
  	"name": "Colombia"
	}
  },
  "options": [
	{
  	"id": 523835933,
  	"name": "Servientrega Normal",
  	"shipping_method_id": 501745,
  	"currency_id": "COP",
  	"list_cost": 5000,
  	"cost": 0,
      "tracks_shipments_status": "verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 24,
    	"handling": 72
  	},
  	"estimated_delivery": {
    	"date": "2015-06-22T00:00:00.000-05:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
        "promoted_amount": 0
  	}
	}
  ]
}

Breve descripción de los atributos

AtributosJSON Response

"estimated_delivery_time": {
    "type": "known|known_frame|unknown_frame",
    "date": 2015-09-10T00: 00: 00: 000-03: 00",
"shipping": 72,
"handling": 24,
"unit": "hour",
"offset": {
    "date": null,
    "shipping": null
},
"time_frame": {
    "from": "12: 00",
    "to": "15: 00"
},
"pay_before": null
}

Tipos de promesa de entrega

known: En el caso de ser una fecha exacta, y con handling time conocido.

...
...
 "estimated_delivery_time": {
        "type": "known",
        "date": "2015-09-10T00:00:00:000-03:00",
        "shipping": 72,
        "handling": 24,
        "unit": "hour",
        "offset": {
          "date": null,
          "shipping": null
        },
        "time_frame": {
          "from":"12:00",
          "to": "15:00"
        },
        "pay_before": null
      },
      …

1

Unknown: En el caso de ser una fecha exacta, desconociendo el handling time, expresada en días hábiles.

...
...
 "estimated_delivery_time": {
        "type": "unknown",
        "date": null,
        "shipping": 72,
        "handling": null,
        "unit": "hour",
        "offset": {
          "date": null,
          "shipping": null
        },
        "time_frame": {
          "from":"null",
          "to": "null"
        },
        "pay_before": null
      },
      …

3

known_frame: En el caso de ser un rango de fechas específicas, el handling time es conocido.

...
...
 "estimated_delivery_time": {
        "type": "known_frame",
        "date": "2015-09-10T00:00:00:000-03:00",
        "shipping": 72,
        "handling": 24,
        "unit": "hour",
        "offset": {
          "date": "2015-09-12T00:00:00:000-03:00",
          "shipping": 48
        },
        "time_frame": {
          "from":"12:00",
          "to": "15:00"
        },
        "pay_before": null
      },
      ...

2

unknown_frame: En el caso de ser un rango de días hábiles, desconociendo el handling time.

...
...
 "estimated_delivery_time": {
        "type": "unknown_frame",
        "date": "null",
        "shipping": 72,
        "handling": null,
        "unit": "hour",
        "offset": {
          "date": "null",
          "shipping": 48
        },
        "time_frame": {
          "from":"null",
          "to": "null"
        },
        "pay_before": null
      },
      ...

4

Consideraciones

  • El rango de días hábiles queda definido por los límites [“shipping”, “shipping” + “offset.shipping”]. Ej: Sí “shipping”:96 y “offset.shipping”:48, entonces el rango estimado de entrega será entre 4 a 6 días hábiles inclusive.
  • Las fechas estimadas de entrega(“date” y “offset.date”) son siempre días laborables y solo tendrán valores si el tiempo de despacho(handling) es conocido
  • “time_frame” sólo aplica a carriers que manejan franjas horarias bien definidas
  • “pay_before” sólo aplica a carriers en los cuales la promesa de entrega está condicionada por la fecha y hora en la que se realiza el pago.
  • Estos cambios impactarán de la misma forma en el GET de Shipments

Por favor califica del 1 al 5