# MD for: https://www.mercadopago.com.mx/developers/es/docs/checkout-pro-preferences/additional-settings/shipping/create-shipments.md \# Create shipments The Mercado Pago Shipping API allows you to manage shipments from sales generated with Checkout Pro. Leveraging Mercado Libre's logistics, you can get quotes and create shipments, manage them, and track packages, offering a better shopping experience to your customers. > WARNING > > Shipment creation is available only to integrators authorized by Mercado Pago. If this feature is not yet enabled, check its availability in your Mercado Pago account. Learn about the shipment management options and how to integrate them below. :::AccordionComponent{title="Get shipping quotes"} It is possible to estimate the value of a shipment based on the package volume and the postal codes of the origin and destination points. This quote returns an \`option\_id\` and a \`shipment\_rate\_id\` that you will use later to create the shipment. To get a quote, send a request to the endpoint :TagComponent{tag="POST" text="/shipping/v1/shipments-rates" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/get-shipping-rates/post" color="green"} including your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} and the parameters described in the table below. > NOTE > > It is only possible to get a quote for one package at a time. For shipments with multiple items, you must calculate the total dimensions of the package containing them. Consult the \[Shipping dimensions\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments) documentation to learn about the permitted dimensions and best practices. \`\`\`curl curl --location 'https://api.mercadopago.com/shipping/v1/shipments-rates' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \\ --data '{ "packages": \[ { "declared\_value": 1500, "quantity": 1, "dimensions": { "weight": 500, "width": 30, "height": 30, "length": 30 } } \], "shipping\_from": { "zip\_code": "06760" }, "shipping\_to": { "zip\_code": "06720" } }' \`\`\` | Field | Description | Type | Required | |---|---|---|---| | \`packages\` | Contains the package information for the quote. | \*Array\* | Required | | \`packages.declared\_value\` | Value of the package to be shipped. Does not include the estimated shipping cost. | \*Number\* | Required | | \`packages.quantity\` | Quantity of packages. The only allowed value is \`1\`. | \*Number\* | Required | | \`packages.dimensions\` | Object containing the package dimensions. The maximum allowed values are: \- Each side must be \*\*maximum 150 cm\*\*. \- The total dimensions limit \*\*must not exceed 330 cm\*\*. \- The \*\*maximum weight\*\* is \*\*30 kg (real or volumetric)\*\*. | \*Object\* | Required | | \`packages.dimensions.height\` | Package height in centimeters. | \*Number\* | Required | | \`packages.dimensions.width\` | Package width in centimeters. | \*Number\* | Required | | \`packages.dimensions.length\` | Package length in centimeters. | \*Number\* | Required | | \`packages.dimensions.weight\` | Package weight in grams. | \*Number\* | Required | | \`shipping\_from.zip\_code\` | Postal code of the origin address. If this value is provided, it will be used to calculate the quote. Otherwise, the Shipping data configured in Mercado Pago will be applied. | \*String\* | Optional | | \`shipping\_to.zip\_code\` | Postal code of the destination address. | \*String\* | Required | If the request is correct, the response will return the shipping quote, which may contain more than one option varying in price and/or delivery time. \`\`\`json { "shipment\_rate\_id": "be9fae0d-1079-471e-887d-55861965d10e", "rates": \[ { "options": \[ { "id": "3c86ea36-fef7-4a9e-9092-d4eb6e744834", "pricing": { "base\_price": "87", "price": "87", "discounts": \[\] }, "method": "standard", "pay\_before": "2025-10-27T00:00:00-06:00", "delivery\_promise": { "shipping\_from": "2025-10-28T12:00:00-06:00", "shipping\_to": "2025-10-30T12:00:00-06:00" }, "delivery\_days": { "from": 3, "to": 5 } } \], "packages": \[ { "quantity": 1, "dimensions": { "weight": "500", "width": "30", "height": "30", "length": "30" } } \] } \], "shipping\_to": { "zip\_code": "06720", "country\_id": "MX", "city\_id": "TUxNQ0NVQTczMTI", "state\_id": "MX-DIF" } } \`\`\` | Field | Description | Type | |---|---|---| | \`shipment\_rate\_id\` | Quote identifier. \*\*Use this value as \`shipment\_rate\_id\` when creating the shipment\*\*. | \*String\* | | \`rates\` | List of quotes for the package based on the provided address. | \*Array\* | | \`options\` | List of available quote options. | \*Array\* | | \`id\` | Shipping option identifier. \*\*Use this value as \`option\_id\` when creating the shipment from the quote\*\*. | \*String\* | | \`base\_price\` | Gross shipping value. | \*Number\* | | \`price\` | Net shipping value. | \*Number\* | | \`method\` | Delivery method. Currently the responses can be: \`standard\`, for standard offers, and \`economic\`, for cheaper offers. | \*String\* | | \`pay\_before\` | Expected date to guarantee the generated shipping promise. | \*Date\* | | \`delivery\_promise.shipping\_from\` | Initial date of the delivery promise. | \*String\* | | \`delivery\_promise.shipping\_to\` | Final date of the delivery promise. | \*String\* | | \`delivery\_days.from\` | Minimum business days for the delivery promise. | \*Integer\* | | \`delivery\_days.to\` | Maximum business days for the delivery promise. | \*Integer\* | | \`packages.quantity\` | Quantity of quoted packages. | \*Number\* | | \`packages.dimensions\` | Dimensions of the quoted package. | \*Object\* | | \`shipping\_to.zip\_code\` | Postal code of the destination address. | \*String\* | | \`shipping\_to.city\_id\` | Identifier of the destination address city. | \*String\* | | \`shipping\_to.state\_id\` | Abbreviation of the destination address state. | \*String\* | | \`shipping\_to.country\_id\` | Abbreviation of the destination address country. | \*String\* | To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ::: :::AccordionComponent{title="Create shipments"} Once you get a quote, you can create a shipment using the information you received in the quote response. If the response returned multiple options, choose the one that best fits your needs. To create a shipment, send a request to the endpoint :TagComponent{tag="POST" text="/shipping/v1/shipments" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/create-shipment/post" color="green"} including your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} and the parameters described in the table below, including the quote identifiers. \`\`\`curl curl --location 'https://api.mercadopago.com/shipping/v1/shipments' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \\ --header 'Content-Type: application/json' \\ --header 'X-Idempotency-Key: {{SOME\_UNIQUE\_VALUE}}' \\ --data '{ "rates": { "shipment\_rate\_id": "be9fae0d-1079-471e-887d-55861965d10e", "option\_id": "d7f61877-4a39-4f94-b6fb-d80a6351c714" }, "payment\_intent\_id": "131245840212", "receiver": { "person": { "email": "john.doe@example.com", "full\_name": "John Doe", "identification": "12345678901", "phone": "+5511999999999" }, "address": { "floor": "2", "apartment": "201", "street\_number": "123", "street\_name": "Calle de las Flores", "zip\_code": "01234567", "neighborhood": "Centro", "references": "cerca del mercado" } }, "external\_reference\_id": "ext-ref-12345", "items": \[ { "title": "Smartphone Samsung Galaxy", "quantity": 1, "unit\_price": 7999, "description": "White", "fiscal\_data": { "sat": "12345678", "sat\_measurement\_id": "SAT001", "measurement\_unit": "UN", "package\_id": "PKG001", "dangerous\_material\_id": "DM000" }, "dimensions": { "unit": "G", "height": 15, "width": 8, "length": 1, "weight": 200 } } \] }' \`\`\` | Field | Description | Type | Required | |---|---|---|---| | \`X-Idempotency-Key\` | \_Header\_. Key to ensure each request is unique and avoid duplicate shipment creation. We recommend using a UUID V4 or random strings. Accepts values between 1 and 64 characters. | \*String\* | Required | | \`rates\` | Quote information for the package and provided address. | \*Object\* | Required | | \`rates.shipment\_rate\_id\` | Quote identifier, obtained in the response to that request. | \*String\* | Required | | \`rates.option\_id\` | Selected quote option identifier, obtained in the response to that request. | \*String\* | Required | | \`payment\_intent\_id\` | Identifier of the payment associated with the shipment. It must always be provided. If the payment is processed with Mercado Pago, provide the payment ID, approved or rejected. | \*String\* | Required | | \`receiver\` | Receiver information (who will receive the package). | \*Object\* | Required | | \`receiver.person\` | Receiver's personal information. | \*Object\* | Required | | \`receiver.person.email\` | Receiver's email address. | \*String\* | Required | | \`receiver.person.full\_name\` | Receiver's full name. | \*String\* | Required | | \`receiver.person.identification\` | Receiver's identification document. | \*String\* | Optional | | \`receiver.person.phone\` | Receiver's phone number. | \*String\* | Required | | \`receiver.address\` | Receiver's address information. | \*Object\* | Required | | \`receiver.address.floor\` | Apartment floor. | \*String\* | Optional | | \`receiver.address.apartment\` | Apartment number (internal). | \*String\* | Optional | | \`receiver.address.street\_number\` | Street number (external). | \*String\* | Required | | \`receiver.address.street\_name\` | Street name. | \*String\* | Required | | \`receiver.address.zip\_code\` | Postal code of the address. | \*String\* | Required | | \`receiver.address.neighborhood\` | Neighborhood or district of the address. | \*String\* | Optional | | \`receiver.address.references\` | Address details or complement. | \*String\* | Optional | | \`external\_reference\_id\` | Information on the label to identify an external reference. | \*String\* | Optional | | \`items\` | Information about the items to ship. | \*Array\* | Required | | \`items.title\` | Item title. | \*String\* | Required | | \`items.quantity\` | Quantity of items. | \*Number\* | Required | | \`items.unit\_price\` | Item unit price. | \*Number\* | Required | | \`items.description\` | Item description. | \*String\* | Optional | | \`items.fiscal\_data\` | Product fiscal data. | \*Object\* | Required | | \`items.fiscal\_data.sat\` | \[SAT\](http://pys.sat.gob.mx/PyS/catUnidades.aspx) category of the item. | \*String\* | Required | | \`items.fiscal\_data.sat\_measurement\_id\` | Unique identifier of the product measurement unit according to \[SAT\](http://pys.sat.gob.mx/PyS/catUnidades.aspx) units. | \*String\* | Required | | \`items.fiscal\_data.measurement\_unit\` | Product measurement unit. | \*String\* | Required | | \`items.fiscal\_data.package\_id\` | Package identifier. | \*String\* | Required | | \`items.fiscal\_data.dangerous\_material\_id\` | Identifier for dangerous products. | \*String\* | Optional | | \`items.dimensions\` | Item size. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments) to learn about the permitted limits. | \*Object\* | Optional | | \`items.dimensions.height\` | Item height in centimeters. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments). | \*Number\* | Required | | \`items.dimensions.width\` | Item width in centimeters. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments). | \*Number\* | Required | | \`items.dimensions.length\` | Item length in centimeters. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments). | \*Number\* | Required | | \`items.dimensions.weight\` | Item weight in grams. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments). | \*Number\* | Required | | \`items.dimensions.unit\` | Measurement unit. Consult the \[sizing best practices\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments). | \*String\* | Required | If the request is sent correctly, the response will return the data of the created shipment. \`\`\`json { "shipments": \[ { "id": "7311edef-a46e-4a42-a8e1-6a142fa7ee48", "tracking\_url": "https://www.mercadopago.com.mx/shipping-tracking?id=000038774013", "packages": \[ { "id": "f0c6e696-becb-4c9a-92c4-40422052583b" } \] } \], "idempotency\_key": "unique-key-12345", "rates": { "shipment\_rate\_id": "52194ade-d6a9-4e9e-a582-c0897343849a", "option\_id": "741e1150-5493-47e4-9720-ceca12d30af9", "delivery\_promise": { "from": "2025-10-28T12:00:00-06:00", "to": "2025-10-30T12:00:00-06:00" } }, "payment\_intent\_id": "131245840212", "receiver": { "person": { "email": "john.doe@example.com", "full\_name": "John Doe", "identification": "12345678901", "phone": "+5511999999999" }, "address": { "floor": "2", "apartment": "201", "street\_number": "123", "street\_name": "Calle de las Flores", "zip\_code": "01234567", "neighborhood": "Centro", "references": "cerca del mercado" } }, "origin": { "zip\_code": "45601", "city": "Tlaquepaque", "state": "Jalisco", "country": "Mexico", "neighborhood": "La Calerilla", "address\_line": "Calz de Guadalupe 432", "references": "200 Referencia: Casa blanca y azul." }, "external\_reference\_id": "ext-ref-12345", "items": \[ { "title": "Smartphone Samsung Galaxy", "quantity": 1, "unit\_price": 7999, "description": "White", "fiscal\_data": { "sat": "12345678", "sat\_measurement\_id": "SAT001", "measurement\_unit": "UN", "package\_id": "PKG001", "dangerous\_material\_id": "DM000" }, "dimensions": { "unit": "G", "height": 15, "width": 8, "length": 1, "weight": 200 } } \] } \`\`\` | Field | Description | Type | |---|---|---| | \`shipments\` | Information of the created shipments. | \*Array\* | | \`shipments.id\` | Unique identifier of the shipment. | \*String\* | | \`shipments.tracking\_url\` | Link for the buyer to check the shipment status in real time. | \*String\* | | \`shipments.packages\` | Packages included in the shipment. | \*Array\* | | \`shipments.packages.id\` | Identifier of the shipped package. \*\*Use this value to generate labels and consult shipments\*\*. | \*String\* | | \`idempotency\_key\` | Idempotency key to avoid duplicates. | \*String\* | | \`rates\` | Information of the quote used. | \*Object\* | | \`rates.delivery\_promise\` | Confirmed delivery promise. | \*Object\* | | \`rates.delivery\_promise.from\` | Initial date of the delivery promise. | \*String\* | | \`rates.delivery\_promise.to\` | Final date of the delivery promise. | \*String\* | | \`payment\_intent\_id\` | Identifier of the payment associated with the shipment. Must always be informed when processed with Mercado Pago. | \*String\* | | \`receiver\` | Information of the shipment receiver. | \*Object\* | | \`origin\` | Information of the origin address. | \*Object\* | | \`external\_reference\_id\` | External reference provided in the request. | \*String\* | | \`items\` | Items included in the shipment. | \*Array\* | To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ::: :::AccordionComponent{title="Get shipment information"} It is possible to consult a shipment and obtain its complete data once created. This query will allow you to access the package identifier (\`packages.id\`) and the tracking number (\`tracking\_number\`), among other data. To do so, send a request with your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} to the endpoint :TagComponent{tag="GET" text="/shipping/v1/shipments" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/get-shipments/get" color="accent"} with the necessary query parameters. \`\`\`curl curl --location 'https://api.mercadopago.com/shipping/v1/shipments?package\_id=1c5dce04-dc5e-4fed-b7f1-08c192977c70' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \`\`\` Optionally, you can also send the following parameters as \*\*query parameters\*\* to filter the query: | Parameter | Description | Type | Required | |---|---|---|---| | \`package\_id\` | Identifier of the package to consult. | \*String\* | Optional | | \`external\_reference\_id\` | External reference of the shipment. | \*String\* | Optional | | \`payment\_id\` | Identifier of the associated payment. | \*String\* | Optional | | \`payment\_intent\_id\` | Identifier of the payment intent. Must always be informed when processed with Mercado Pago.| \*String\* | Optional | If the request is correct, the response will be like the example below. \`\`\`json { "data": \[ { "external\_reference\_id": "ext-ref-12345", "shipment\_id": "7311edef-a46e-4a42-a8e1-6a142fa7ee48", "shipment\_status": "ready", "active\_phase": "forward", "created\_at": "2026-02-09T20:17:16.637Z", "shipping\_to": { "address": "Calle 789", "city\_locality": "Ciudad de México", "state\_province": "MX", "complement": "calle sin salida", "zip\_code": "07000-000", "country\_code": "MX" }, "shipping\_from": { "phone": "5513997343432", "contact": "Nicolas", "address": "Calle 123, 100", "city\_locality": "Ciudad de México", "state\_province": "MX", "complement": "calle sin salida", "zip\_code": "11520", "country\_code": "MX" }, "tracking\_url": "https://www.mercadopago.com.mx/shipping-tracking?id=000038774013", "packages": \[ { "id": "1c5dce04-dc5e-4fed-b7f1-08c192977c70", "dimensions": { "height": 50, "length": 12, "width": 50, "weight": 30, "volume": 2 }, "items": \[ { "title": "Product", "description": "Product description", "unit\_price": 100 } \], "price": { "amount": "12.0", "currency": "MXN" }, "tracking\_info": { "tracking\_number": "1c5dce04-dc5e-4fed-b7f1-08c192977c70", "last\_status": "ready", "updated\_at": "2026-02-09T20:17:16.637Z" } } \], "dispatch\_date": { "from": "2025-06-10T09:30:00.073890622Z" } } \] } \`\`\` | Field | Description | Type | |---|---|---| | \`external\_reference\_id\` | External reference of the shipment. | \*String\* | | \`shipment\_id\` | Unique identifier of the shipment. | \*String\* | | \`shipment\_status\` | Current status of the shipment. | \*String\* | | \`active\_phase\` | Active phase of the shipment: \`forward\` (shipment to the customer) or \`reverse\` (return). | \*String\* | | \`created\_at\` | Date and time of shipment creation. | \*Date\* | | \`shipping\_to\` | Information of the destination address with complete details of the receiver. | \*Object\* | | \`shipping\_from\` | Information of the origin address with sender details. | \*Object\* | | \`tracking\_url\` | Link for the buyer to check the shipment status in real time. | \*String\* | | \`packages\` | Packages included in the shipment. | \*Array\* | | \`packages.id\` | Package identifier. \*\*Use this value to generate labels\*\*. | \*String\* | | \`packages.dimensions\` | Package dimensions (height, length, width, weight, and volume). | \*Object\* | | \`packages.items\` | Articles included in the package. | \*Array\* | | \`packages.price\` | Package price information. | \*Object\* | | \`packages.tracking\_info\` | Package tracking information. | \*Object\* | | \`packages.tracking\_info.tracking\_number\` | Package tracking number. \*\*Use this value to track the shipment\*\*. | \*String\* | | \`packages.tracking\_info.last\_status\` | Last recorded status of the package. | \*String\* | | \`dispatch\_date\` | Estimated dispatch date of the shipment. | \*Object\* | To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ::: :::AccordionComponent{title="Cancel shipments"} To cancel an existing shipment, send a request to the endpoint :TagComponent{tag="DELETE" text="/shipping/v1/shipments/{id}" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/cancel-shipment/delete" color="red"} including your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} and the identifier of the shipment to cancel in the \_path\_. > WARNING > > You can only cancel shipments created independently of a payment, that have not been dispatched yet or that have been returned to the seller after an unsuccessful delivery attempt. After 15 days, all generated shipments that have not been dispatched will be automatically canceled and the cost will be returned to the seller. If you want to cancel a shipment associated with a payment, created from a preference, use the :TagComponent{tag="PUT" text="/v1/payments/{id}" href="/developers/en/reference/online-payments/checkout-pro-preferences/create-cancellation/put" color="orange"} endpoint. \`\`\`curl curl --location --request DELETE 'https://api.mercadopago.com/shipping/v1/shipments/e522fa4a-c3f8-4f34-a353-16f45a012345' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \`\`\` If the request is correct, the shipment will be canceled and the response will return a \`204 No Content\` status. To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ::: :::AccordionComponent{title="Generate labels"} With the Labels API, you can generate the labels that contain all the information necessary to dispatch the packages of your sold products. You can choose whether you want the label to be generated in PDF, ZIP, or JSON format. The \`zip\` value generates a label in ZPL format. > WARNING > > If when consulting a shipment, the \`dispatch\_date\` parameter is present, labels can only be generated 24 hours before the date and time defined in that field. To generate the label, send a request with your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} and the parameters indicated in the table below to the endpoint :TagComponent{tag="GET" text="/shipping/v1/shipments/{id}/packages/{packageId}/label" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/generate-shipment-label/get" color="accent"}. \`\`\`curl curl --location 'https://api.mercadopago.com/shipping/v1/shipments/{shipment\_id}/packages/{package\_id}/label' \\ --header 'X-Content-Type: json' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \`\`\` | Field | Description | Type | Required | |---|---|---|---| | \`shipment\_id\` | \_Path\_. Shipment identifier, which can be obtained by consulting shipment information or through Webhook notification. | \*String\* | Required | | \`package\_id\` | \_Path\_. Package identifier, which can be obtained by consulting shipment information or through Webhook notification. | \*String\* | Required | | \`X-Content-Type\` | \_Header\_. Desired output format for the label. Possible formats are: \`pdf\`, \`zip\`, \`json\`. | \*String\* | Required | The response may vary depending on the output format specified in the request, but will always contain a label identifier (\`id\`) and its content (\`label\`). If it was requested to be generated in a PDF, ZIP, or ZPL file, it will contain the file for download. \`\`\`json \[ { "id": 43539204818, "label": "String" } \] \`\`\` To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ::: :::AccordionComponent{title="Track shipments"} You can track dispatched packages using their tracking number. To do so, send a request to the endpoint :TagComponent{tag="GET" text="/shipping/v1/shipments-tracking/{tracking\_number}" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/get-shipment-tracking/get" color="accent"} including your :toolTipComponent\[\_Access Token\_\]{content="Private key of the application created in Mercado Pago that is used in the \_backend\_. You can access it through \*Your integrations > Integration data\*."} and the package tracking number (\`tracking\_number\`) in the request \_path\_. \`\`\`curl curl --location 'https://api.mercadopago.com/shipping/v1/shipments-tracking/{tracking\_number}' \\ --header 'Authorization: Bearer {{YOUR\_ACCESS\_TOKEN}}' \`\`\` If the data sent is correct, the response will contain the package information along with the shipment events, as presented in the response below. \`\`\`json { "tracking\_number": "343434ereer-3344e33rre3", "tracking\_url": "https://www.mercadopago.com.mx/shipping-tracking?id=000038774013", "package": { "id": "1", "external\_reference\_id": "External reference", "dimensions": { "height": 10, "length": 10, "width": 10, "weight": 10, "volume": 10 }, "items": \[ { "name": "Product", "description": "Product description", "value": 2007.66 } \], "price": { "amount": 2007.66, "currency": "MXN" } }, "tracking": \[ { "type": "forward", "events": \[ { "status": "created", "date": "2024-08-22T13:40:00.095Z" }, { "event\_name": "ready", "event\_date": "2025-06-09T18:40:24.749252964Z" }, { "status": "shipped", "date": "2024-08-23T10:40:00.095Z" }, { "status": "in\_hub", "date": "2024-08-23T11:40:00.095Z" }, { "status": "outbounded", "date": "2024-08-23T13:40:00.095Z" }, { "status": "out\_for\_delivery", "date": "2024-08-23T13:45:00.095Z" }, { "status": "delivered", "date": "2024-08-23T14:45:00.095Z" } \] } \] } \`\`\` | Field | Description | Type | |---|---|---| | \`tracking\_number\` | Shipment tracking code of the package. | \*String\* | | \`tracking\_url\` | Link for the buyer to check the shipment status in real time. | \*String\* | | \`package\` | Package data. | \*Object\* | | \`package.id\` | Unique identifier of the shipped package. | \*String\* | | \`package.external\_reference\_id\` | External reference of the package. | \*String\* | | \`package.dimensions\` | Package dimensions (height, length, width, weight, and volume). | \*Object\* | | \`package.items\` | Information of the items included in the package. | \*Array\* | | \`package.price\` | Shipping price data of the package. | \*Object\* | | \`package.price.amount\` | Shipping value. | \*Number\* | | \`package.price.currency\` | Currency used. | \*String\* | | \`tracking\` | Details of the shipment history. | \*Array\* | | \`tracking.type\` | Direction in which the shipment moves: \`forward\` when the package is on its way to the customer; \`reverse\` when the package is returning to the origin address. | \*String\* | | \`tracking.events\` | List of shipment events. | \*Array\* | | \`tracking.events.status\` | Status of the shipment event. Consult the possible statuses in the section below. | \*String\* | | \`tracking.events.date\` | Date of update of the event status. | \*String\* | | \`tracking.events.event\_name\` | Event name (when available). | \*String\* | | \`tracking.events.event\_date\` | Event date (when available). | \*String\* | To learn about the errors that this request can return, access our :TagComponent{tag="API" text="API Reference" href="/developers/en/reference/online-payments/checkout-pro-preferences/overview#bookmark\_shipping" color="accent"}. ### Possible shipment statuses Below, you can consult the possible statuses of a shipment along with its description and association with the direction in which the shipment moves. | Status | Description | Phase | |---|---|---| | \`created\` | The shipment was created after payment was made. | \*Forward\* / \*Reverse\* | | \`ready\` | The shipment label can now be generated. When \`dispatch\_date\` is present, you can only generate the label 24 hours before this date and time. | \*Forward\* | | \`label\_printed\` | The label was generated. | \*Forward\* / \*Reverse\* | | \`shipped\` | The package was picked up and is on its way to its destination. | \*Forward\* / \*Reverse\* | | \`out\_for\_delivery\` | The package left the origin location towards the destination address. | \*Forward\* | | \`soon\_deliver\` | The package is close to its destination. | \*Forward\* | | \`delivered\` | The package was delivered. | \*Forward\* | | \`not\_delivered\` | The package was not delivered. | \*Forward\* / \*Reverse\* | | \`canceled\` | The shipment was canceled. | \*Forward\* | | \`in\_hub\` | The package is in a warehouse. | \*Forward\* | | \`rejected\_in\_hub\` | The package was rejected at the warehouse. | \*Forward\* | | \`discarded\` | The package was discarded and will not return to the sender. | \*Reverse\* | | \`outbounded\` | The package left the warehouse. | \*Forward\* | | \`impassable\_area\` | The shipment route has an impassable area. | \*Forward\* | | \`receiver\_absent\` | The package receiver is absent. | \*Forward\* | | \`refused\_delivery\` | The package delivery was refused. | \*Forward\* | | \`bad\_address\` | The carrier could not find the destination address or it was not valid. | \*Forward\* / \*Reverse\* | | \`damaged\` | The package was damaged. | \*Forward\* / \*Reverse\* | | \`lost\` | The package was lost. | \*Forward\* / \*Reverse\* | | \`stolen\` | The package was stolen. | \*Forward\* / \*Reverse\* | | \`delayed\` | The package is delayed. | \*Forward\* | | \`estimated\_delivery\_updated\` | Estimated delivery date updated. | \*Forward\* | | \`returned\` | The package was returned to the sender. | \*Reverse\* | | \`on\_route\` | The package is on its way. | \*Forward\* | | \`failed\` | Failure in shipment initialization. | - | | \`redirected\` | The shipment was redirected (changed phase). | \*Reverse\* | | \`stuck\` | The shipment is stuck (failure in phase change). | \*Forward\* / \*Reverse\* | | \`picked\_up\` | Package picked up. | \*Reverse\* | | \`carrier\_logistic\_center\_inbound\` | The package entered a warehouse. | \*Forward\* / \*Reverse\* | | \`carrier\_logistic\_center\_outbound\` | The package left a warehouse. | \*Forward\* / \*Reverse\* | | \`sender\_absent\` | Seller absent for pickup. | \*Reverse\* | | \`refused\_pickup\` | The package pickup was refused. | \*Forward\* | | \`sender\_not\_visited\` | Package pickup could not be completed. | \*Forward\* | ::: For more information about best practices when working with shipping dimensions, consult the \[Shipping dimensions\](https://www.mercadopago.com.mx/developers/en/docs/checkout-pro-preferences/additional-settings/shipping/best-practices-shipments) documentation.