Tracking Notifications

Contents

When a shipment’s status changes, the carrier must inform Mercado Libre of this transition by sending a corresponding event notification. There are two ways to report the event recorded for a shipment:

  • PUSH: The carrier sends the corresponding event notification to our tracking endpoint.
  • PULL: The carrier exposes all notifications already recorded for the shipment via API.

In all cases, the objective is to ensure alignment with the carrier on the shipment’s current status and the events already recorded.

The notifications must reflect the actual transportation sequence and arrive in chronological order. Mercado Libre uses notification codes (code) associated with carrier event codes (carrier_code) to receive and validate each event.

It is critical to respect the notification flow and the order in which events occur, because some status codes are considered final. Once a notification for a final state is received, any subsequent events after that status will be disregarded.

Notification Payload

Important:
  • Some fields are mandatory depending on the notification code sent.
  • Push and Pull notifications payload must contains the same information.

Notification Fields

The fields that can be included in the notification payload are:

NameType of dataDescriptionType
tracking_numberStringShipping identifier.Mandatory
codeStringEvent code.Mandatory
carrier_codeStringCarrier internal event code.Mandatory
payloadNodeContains information relevant to a particular event.
payload.dateDate (ISO8601)Event occurrence date. Valid values: UTC 2001-07-04T12:08:56.235Z or levative local time 2001-07-04T12:08:56.235-07:00.Mandatory
payload.reasonStringIndicates the specific reason associated with the reported code, providing predefined additional information that explains the occurrence of the event. Possible values of 'reason' for code 0114:
  • establishment_not_found
  • waiting_time_exceeded
  • establishments_closed
  • load_capacity_exceeded
  • address_unsafe
  • already_picked_up
  • delivery_cancelled
  • delivery_not_found
  • payment_requested
  • other_pickup_problems
Possible values of 'reason' for code CBT-0272:
  • oversize
  • overweight
  • overprice
  • prohibited_item
  • other
Mandatory for code 0114 (Proximity) or CBT-0272 (Consolidation)
payload.commentStringAdditional information on the status code.Optional
payload.flight.awbStringAir Waybill NumberOpcional
payload.declaration_numberStringPedimento Number/Customs Document NumberMandatory for code CBT-0283
payload.agency_idStringAgency identification code.Mandatory codes CBT-0201 and CBT-0215.
payload.agency.phone_numberStringAgency phone number where the package can be picked up. The format must be a number of up to fifteen digits that begins with "+". [+] [country code] [subscriber number including area code]. Example: +541142345678Only available for notifications CBT-0215 of CBT
payload.costBigDecimalshipping item cost.Mandatory for codes CBT-0260 and CBT-0265.
payload.locationNodeContains information relevant to the location where the event occurred.
payload.location.zip_codeStringZipcode where the event occurred.Optional
payload.location.country_idStringCountry id where the event occurred. ISO 3166 for country names.Mandatory for codes with prefix "CBT"
payload.location.state_nameStringName of state / province where the event occurred.Optional
payload.location.city_nameStringName of city where the event occurred.Optional
payload.location.neighborhood_nameStringName of neighborhood where the event occurred.Optional
payload.location.facilityStringIdentifier of the Logistics Center where the event occurred.Optional
payload.location.geolocationNodeGeolocation of the place where the event occurred.Optional
payload.location.geolocation.geolocation_typeStringGeolocation accuracy provided. May contain any of the following values:
  • APPROXIMATE: approximate geolocation.
  • GEOMETRIC_CENTER: the center of a region that is used as a reference is located.
  • RANGE_INTERPOLATED: constrains precision to midpoint of 2 nearby reference points.
  • ROOFTOP: Indicates that the location is exact.
  • UNKNOWN: Indicates that the location was not validated.
Optional
payload.location.geolocation.latitudeBigDecimalLatitude of geolocalization.Optional
payload.location.geolocation.longitudeBigDecimalLongitude of geolocalization.Optional
payload.dimensionsNode
payload.dimensions.heightBigDecimalIn centimetres.Optional
payload.dimensions.widthBigDecimalIn centimetres.Optional
payload.dimensions.lengthBigDecimalIn centimetres.Optional
payload.dimensions.weightBigDecimalGross weight in grams.Mandatory for code CBT-0260
payload.redispatchNodeOptional
payload.redispatch.tracking_numberStringRedispatch carrier shipment identifier.Optional
payload.redispatch.carrier_idBigDecimalRedispatch carrier identifier defined by Mercado Libre.Optional
payload.redispatch.tracking_urlStringWeb tracking URL of the redispatch carrier.Optional
payload.estimated_delivery_dateDate (ISO8601)Estimated delivery date of shipment. Valid values: UTC 2001-07-04T12:08:56.235Z or levative local time 2001-07-04T12:08:56.235-07:00.Mandatory for codes CBT-0265.
payload.estimated_pickup_dateDate (ISO8601)Estimated pick-up date of shipment. Valid values: UTC 2001-07-04T12:08:56.235Z or levative local time 2001-07-04T12:08:56.235-07:00.Mandatory for codes CBT-0265 and CBT-0133.
payload.proof_of_deliveryNodeOptional
payload.proof_of_delivery.receiver_documentNodeOptional
payload.proof_of_delivery.receiver_document.typeStringType of identity document of the person who receives the package. Valid values:
  • CI: Identification Card.
  • PASSPORT
  • CPF: Individual Registration.
  • RG: General Registration.
  • CURP: Unique Population Registration Key.
  • INE_IFE: National Electoral Institute.
  • LICENCIA: Driver License.
  • RFC: Federal Register of Taxpayers.
  • RUT: Sole Tax Roll.
  • CC: Citizen Card.
  • DNI: National Identity Document.
Mandatory
payload.proof_of_delivery.receiver_document.numberStringIdentity document number of the person who receives the package.Mandatory
payload.proof_of_delivery.receiver_last_nameStringSurname of the person who receives the package.Optional
payload.proof_of_delivery.receiver_nameStringName of the person who receives the package.Optional
payload.proof_of_delivery.receiver_relationshipStringWho received the package. Valid values:
  • BUYER
  • FAMILY
  • NEIGHBOUR
  • DOORMAN
  • RECEPTION
  • FRIEND
  • HOLDER
  • OTHER
Optional
payload.proof_of_delivery.imageStringImage of receiver signature containing the full name and document number. The image must be sent encoded in Base64.Optional
payload.driverNodeProvider delivery informationOptional
payload.driver.idStringId of the delivery person in the carrier's registrationMandatory for code 0133
payload.driver.nameStringDelivery person nameMandatory for code 0133
payload.driver.emailStringDelivery person emailOptional
payload.driver.phoneStringDelivery person phone number. The format must be a number of up to fifteen digits that begins with "+". [+] [country code] [subscriber number including area code]. Example: +541142345678Optional
payload.driver.license_plateStringDelivery vehicle identificationOptional
payload.vehicleStringProvider delivery informationOptional
payload.vehicle.reference_typeStringType of information related to the vehicle, which can be:
  • ID: id of the delivery person in the carrier's registration
  • LICENSE_PLATE: delivery vehicle identification
Optional
payload.vehicle.referenceStringInformation about the field payload.vehicle.reference_typeOptional
payload.consolidated_packagesNodeNode containing information about the consolidation.Mandatory for code CBT-0272
payload.consolidated_packages.consolidation_idStringIdentification sent in the consolidation flow.Mandatory for code CBT-0272
payload.consolidated_packages.tracking_numberStringTracking number assigned to the consolidation.Mandatory for code CBT-0272
payload.consolidated_packages.shipmentsListList of shipment IDs included in the consolidation.Mandatory for code CBT-0272
payload.details.transport.content.restricted_item_typeStringUsed to identify the type of special goods are included inside the package. Valid values are: CREAM, LIQUID, POWDER, BATTERYMandatory for code CBT-0270

Payload Example

{
  "tracking_number":string,
  "code":string,
  "carrier_code":string,
  "payload":{
    "date":string (ISO8601),
    "reason":string,
    "comment":string,
    "flight":{
      "awb":string
    },
    "declaration_number":string,
    "agency_id":string,
    "agency":{
      "phone_number":string
    },
    "cost":number,
    "location":{
      "zip_code":string,
      "country_id":string,
      "state_name":string,
      "city_name":string,
      "neighborhood_name":string,
      "facility":string,
      "geolocation":{
        "geolocation_type":string,
        "latitude":number,
        "longitude":number
      }
    },
    "dimensions":{
      "height":number,
      "width":number,
      "length":number,
      "weight":number
    },
    "redispatch":{
      "tracking_number":string,
      "carrier_id":number,
      "tracking_url":string
    },
    "estimated_delivery_date":string (ISO8601),
    "estimated_pickup_date":string (ISO8601),
    "proof_of_delivery":{
      "receiver_document":{
        "type":string,
        "number":string
      },
      "receiver_last_name":string,
      "receiver_name":string,
      "receiver_relationship":string,
      "image":string
    },
    "driver":{
      "id":string,
      "name":string,
      "email":string,
      "phone":string,
      "license_plate":string
    },
    "vehicle":{
      "reference_type":string,
      "reference":string
    },
    "consolidated_packages":{
      "consolidation_id":string,
      "tracking_number":string,
      "shipments":array
    },
    "details":{
      "transport":{
        "content":{
          "restricted_item_type":string
        }
      }
    }
  }
}
Note:
  • Send all available "location" data.
  • The most valuable location data is the "geolocation" node.