Notificaciones de eventos y novedades

Contenido

En caso de tener que comunicar novedades específicas a los carriers, Mercado Libre hará una solicitud de ​POST ​a la URL para recibir novedades informada por cada carrier, en el formato:

POST /shipments/{shipmentId}/notification

Si la novedad se reciben de manera exitosa, se espera que el servicio del carrier devuelva un resultado de acuerdo a lo detallado en la sección “Status Codes”. En caso de error, se volverá a intentar la comunicación acorde al esquema de reintento definido en la integración.

Importante:
Para seguridad en autorizaciones se utilizará OAuth 2.0

Formato Request

Dentro del body se enviará un objeto JSON con los campos listados a continuación. Cabe destacar que se pueden agregar más campos en el futuro, por lo que al interpretar esta información se debe preparar el código para descartar campos adicionales que no necesiten ser interpretados.Además se incluirá, opcionalmente, el bloque de ​carrier_information​ como en el resto de las integraciones de la plataforma:

NombreTipo de datoDescripción
typeStringTipo de notificación
dateDateFecha de la novedad, con formato: 2019-04-10T06:50:17.000-03:00.
agency.idStringAgencia de coleta.

Tipos de novedades

NovedadesDescripción
ready_for_pickupSe envía esta novedad después que imprime la etiqueta.
fulfillmentSe envía esta novedad cuando se envía una notificación de autorización o para enviar las notificaciones de datos fiscal es cargados y el shipment está en nuestro propio hub (LogisticType.FULFILLMENT).
dropped_offSe envía esta novedad cuando el envío se deja en una de nuestra sucursales de drop off.
cancelledSe envía esta novedad cuando se cancela una compra y el envío debe volver al vendedor.
picked_upSe envía esta novedad cuando el carrier que hace la colecta ya tiene el envío y está en camino del nuestro hub.
tax_generatedSe envía cuando se genera el CTE guarda chuva asociado al envío.
in_hubSe envía esta novedad cuando el envío se recibe en algún warehouse operacional de Mercado Libre.
ready_for_routingSe envía cuando un envío está listo para ser incluído en el ruteo del carrier, porque será incluído en su próximo retiro de envíos en la operación.
rejected_in_hubSe envía esta novedad cuando el envío es rechazado en el hub de Mercado Libre
picked_up_for_returnSe envía esta novedad cuando el envío llega al warehouse operacional de devoluciones

Formato Response

Dentro del body, devolverá todos los datos resultantes de recibir la notificación, listados a continuación:

NombreTipo de datoDescripción
status_messageStringCualquier detalle relevante al estado.Mandatorio en caso de fallo.

HTTP Status Codes

StatusCódigo HTTPDescripciónAcción
OK200Cuando la notificación fue procesada satisfactoriamenteNo se volverá a reintentar.
FAILED400Cuando la notificación no pudo ser procesada por un error en el request.Se espera que se retorne un “status_message” describiendo el motivo del error.Dependiendo de la naturaleza del error, se intentarán corregirlos datos, antes de volver a procesar la solicitud. Podrían existir reintentos periódicos con nuevos datos.
ERROR500Cualquier error del lado del servidor. En este caso, status y status_message son opcionales.Se volverá a intentar indefinidamente hasta obtener una respuesta satisfactoria de acuerdo al esquema de reintento definido.

Ejemplos

Request:

{
  "carrier_information": {
    "contract": "",
    "account": "",
    "user": "",
    "password": "",
    "client_id": ""
  },
  "type":"dropped_off",
  "date":"2019-04-10T06:50:17.000-03:00",
  "agency": {
    "id": "DO9"
  }
}

Response:

Success (200 OK)

En este caso, el body será null.

{}

Failed (400 FAILED)

{
  "status_message": "Invalid tracking number"
}

Error (500 ERROR)

{
  "status_message": "Internal error occurred"
}