Última actualización 12/05/2023

Horarios de despacho por logística

El recurso /schedule te permite obtener los horarios de despacho que el vendedor necesita, para evitar retrasos e impacto en su reputación. Para consultar esta información, debes conocer los tipos de logísticas habilitadas en su cuenta.



Consultar horarios de despacho

Obtén los datos de los servicios cuando el despacho sea por el vendedor (ME2). Utiliza los parámetros:
user_id: Id del usuario.
logistic_type: Tipo de envío:

  • drop_off: Mercado Envíos
  • xd_drop_off: Mercado Envíos Places
  • self_service: Mercado Envíos Flex
  • cross_docking: Mercado Envíos Colecta
  • Llamada:

    curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/shipping/schedule/$LOGISTIC_TYPE

    Ejemplo:

    curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/9984538542/shipping/schedule/cross_docking

    Respuesta:

    {
       "seller_id": "84538542",
       "schedule": {
           "monday": {
               "work": true,
               "detail": [
                   {
                       "from": "13:00",
                       "to": "15:00",
                       "cutoff": "12:00",
                       "carrier": {
                           "id": "17501840",
                           "name": "Iflow"
                       },
                       "vehicle": {
                           "id": "12345",
                           "license_plate": "AZ541VW",
                           "vehicle_type": "Camioneta",
                           "only_for_today": false,
                           "new_driver": false
                       },
                       "driver": {
                           "id": "12345",
                           "name": "Test User"
                       },
                       "sla": ""
                   }
               ]
           },
           "tuesday": {
               "work": true,
               "detail": [
                   {
                       "from": "13:00",
                       "to": "15:00",
                       "cutoff": "12:00",
                       "carrier": {
                           "id": "17501840",
                           "name": "Iflow"
                       },
                       "vehicle": {
                           "id": "12345",
                           "license_plate": "AZ541VW",
                           "vehicle_type": "Camioneta",
                           "only_for_today": false,
                           "new_driver": false
                       },
                       "driver": {
                           "id": "12345",
                           "name": "Test User"
                       },
                       "sla": ""
                   }
               ]
           },
           "wednesday": {
               "work": true,
               "detail": [
                   {
                       "from": "13:00",
                       "to": "15:00",
                       "cutoff": "12:00",
                       "carrier": {
                           "id": "17501840",
                           "name": "Iflow"
                       },
                       "vehicle": {
                           "id": "12345",
                           "license_plate": "AZ541VW",
                           "vehicle_type": "Camioneta",
                           "only_for_today": false,
                           "new_driver": false
                       },
                       "driver": {
                           "id": "12345",
                           "name": "Test User"
                       },
                       "sla": ""
                   }
               ]
           },
           "thursday": {
               "work": true,
               "detail": [
                   {
                       "from": "13:00",
                       "to": "15:00",
                       "cutoff": "12:00",
                       "carrier": {
                           "id": "17501840",
                           "name": "Iflow"
                       },
                       "vehicle": {
                           "id": "12345",
                           "license_plate": "AZ541VW",
                           "vehicle_type": "Camioneta",
                           "only_for_today": false,
                           "new_driver": false
                       },
                       "driver": {
                           "id": "12345",
                           "name": "User de prueba"
                       },
                       "sla": ""
                   }
               ]
           },
           "friday": {
               "work": true,
               "detail": [
                   {
                       "from": "13:00",
                       "to": "15:00",
                       "cutoff": "12:00",
                       "carrier": {
                           "id": "17578840",
                           "name": "Iflow"
                       },
                       "vehicle": {
                           "id": "12345",
                           "license_plate": "AZ541VW",
                           "vehicle_type": "Camioneta",
                           "only_for_today": false,
                           "new_driver": false
                       },
                       "driver": {
                           "id": "12345",
                           "name": "Test User"
                       },
                       "sla": ""
                   }
               ]
           },
           "saturday": {
               "work": false,
               "detail": null
           },
           "sunday": {
               "work": false,
               "detail": null
           }
       }
    }

    Campos de respuesta

    seller_id: id del vendedor.
    work: indica si el vendedor trabaja ese día. Aplica a todas las logísticas. No tiene en cuenta los feriados.
    from: para cross_docking es el horario de inicio de la ventana de recolección. Para xd_drop_off es el horario máximo de despacho.
    to: para cross_docking es el horario de fin de ventana de recolección.
    cutoff: horario de corte.
    carrier.id: para cross_docking es Id del carrier.
    carrier.name: para cross_docking es el nombre del carrier.
    vehicle: para cross_docking es la descripción del vehículo.
    vehicle.id: para cross_docking es el ID del vehículo.
    vehicle.license_plate: para cross_docking es la patente del vehículo.
    vehicle.only_for_today: para cross_docking es si la colecta es solo por el día de hoy.
    vehicle.new_driver: para cross_docking si hubo un cambio en el conductor que pasará.
    driver.id: para cross_docking es el ID del conductor de la colecta.
    driver.name: para cross_docking es el nombre del conductor de la colecta.
    sla:

    drop_off, Flex:

    “same_day”: En el día

    “monday”: lunes

    “tuesday”: martes

    “wednesday”: miércoles

    “thursday”:jueves

    “friday”: viernes

    “satuday”: sábado

    “sunday”: domingo


    Errores

    Error Descripción
    401 (Unauthorized) El usuario no está autorizado para acceder a la información.
    403 (Forbidden) El usuario está intentando acceder a la información de otro.
    404 (not found) El usuario quiere acceder a la información de una logística que no posee.

    Consultar processing time por tipo logístico

    El processing time es el tiempo mínimo que el pedido tiene para estar listo, desde la hora de la compra hasta el envío. Este recurso está disponible para los tipos logísticos cross_docking (Mercado Envíos Colecta) y xd_drop_off (Mercado Envíos Places). Además, todos los datos son obtenidos por cuenta, es decir, debes informar el user_id.


    Los vendedores que no cumplan con el processing time que fue configurado, tendrán sus tiempos ajustados por Mercado Libre de acuerdo con la performace del día en las semanas anteriores, es decir, por ejemplo que no esté performando bien el lunes aumentaremos el processing time para que se ajuste a la operación. En estos casos el campo modified_by_meli se mostrará en true. Vamos a considerar la performance de las últimas 4 semanas para bloquear los horarios o para liberar el envío en el caso de que el vendedor haya mejorado su operación.


    Llamada:

    curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' https://api.mercadolibre.com/shipping/users/$USER_ID/processing_time_middleend/$LOGISTIC_TYPE

    Ejemplo:

    curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' https://api.mercadolibre.com/shipping/users/123456789/processing_time_middleend/cross_docking

    Respuesta:

    {   
    "monday": {
          "visible": true,
          "modified_by_meli" : true,
          "current_processing_time": null,
          "available_options": [
             {
                "processing_time": "01:00",
                "selected": false,
                "cutoff": "16:45",
                "highlight_level": "low",
                "start_milkrun_time": null,
                "end_milkrun_time": null,
                "maximum_time": "17:45",
                "disabled": true
             },
             {
              …
             },
             {
                "processing_time": "05:00",
                "selected": true,
                "cutoff": "12:45",
                "highlight_level": "high",
                "start_milkrun_time": null,
                "end_milkrun_time": null,
                "maximum_time": "17:45",
                "disabled": false
             },
         ]
        },
    "tuesday": {...},
    "wednesday": {...},
    "thursday": {...},
    "friday": {...},
    "saturday": {...},
    "sunday": {...},
    }
    
    Nota:
    modified_by_meli solo estará en true en la primera semana en que Mercado Libre hace el cambio después de la mala performance del vendedor. Después de la primera semana es necesario verificar si el campo disabled está como true.

    Parámetros

    visible: indica si el día debe ser mostrado en el front.
    modified_by_meli: en caso de que venga true indica que Mercado Libre es el responsable de modificar su processing time.
    current_processing_time: Indica el valor del processing time que se encontraba seleccionado antes del cambio.
    available_options.processing_time: tiempo de procesamiento posible a seleccionar en formato HH:MM. Por ejemplo, “00:30” (30 minutos).
    available_options.selected: valor actual elegido por el usuario, o el default si es que nunca lo configuró antes.
    available_options.cutoff: valor del horario de corte en formato HH:MM si se eligiese esa opción. Por ejemplo, “10:30”. En cross_docking se calcula restándole a la cota inferior de la última colecta el tiempo de procesamiento elegido. En xd_drop_off se calcula restándole al tiempo máximo de despacho el tiempo de procesamiento elegido.
    available_options.highlight_level: las opciones son:

    • low: menos tiempo de preparación que el default
    • default: tiempo de preparación default
    • high: más tiempo de preparación que el default

    available_options.start_milkrun_time: indica el valor del horario de la cota inferior de la última colecta en formato HH:MM si se eligiese esa opción. Por ejemplo, "10:30" aplica solo para cross_docking. Para el sábado, puede tomar valor nulo si no tiene horarios configurados.
    available_options.maximum_time: indica el valor del tiempo máximo de despacho HH:MM si se eligiese esa opción. Por ejemplo, “10:30" aplica solo para xd_drop_off.
    enabled: indica si la fila está habilitada para editar.



    Cambiar processing time por logística

    Para las logísticas cross_docking (Mercado Envíos Coleta) y xd_drop_off (Mercado Envíos Places) puedes cambiar los tiempos de procesamiento, o sea el horario de corte para envío de los pedidos del mismo día.

    Nota:
    Ahora es posible actualizar el processing_time del día vigente, aunque se verá impactado en la semana siguiente. Para esto, es necesario utilizar el header X-Version:v3

    Llamada:

    curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' -d 
    {
       "processing_times": {
           "monday": {
               "processing_time": $PROCESSING_TIME
               },
           "tuesday":{
               "processing_time": $PROCESSING_TIME
               },
           "wednesday":{
               "processing_time": $PROCESSING_TIME
               },
           "thursday":{
               "processing_time": $PROCESSING_TIME
               },
           "friday":{
               "processing_time": $PROCESSING_TIME
               },
           "saturday":{
               "processing_time": $PROCESSING_TIME
               },
       }
    }
    https://api.mercadolibre.com/shipping/users/$USER_ID/processing_time_middleend/$LOGISTIC_TYPE

    Ejemplo:

    curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' -d
    {
        "processing_times": {
            "monday": {
                "processing_time": "01:00"
            },
            "tuesday": {
                "processing_time": "01:00"
            },
            "wednesday": {
                "processing_time": "01:00"
            },
            "thursday": {
                "processing_time": "01:30"
            },
            "friday": {
                "processing_time": "00:30"
            },
            "saturday": {
                "processing_time": "01:00"
            }
        }
    }
    https://api.mercadolibre.com/shipping/users/123456789/processing_time_middleend/cross_docking

    Respuesta:

    {
        "message": "The seller processing times were successfully saved"
    }

    Consideraciones

    • Enviar en el formato “01:00”, “00:30” como viene en el GET.
    • En caso de enviarse el campo processing_times vacío, la integración tomará los valores default dependiendo la logística 01:00 cross_docking y 02:30 xd_drop_off.
    • En caso de enviarse un día bloqueado, es decir, un día que esté en enabled false, la integración ignora este valor y deja el valor que tiene seleccionado antes del cambio.
    • La actualización del processing_time del día vigente solo va tener impacto en la próxima semana.

    Conozca cuáles son los impactos y ventajas de cambiar el procecessing_time para las logísticas:


    Siguiente: Envío gratis.