> ## Documentation Index
> Fetch the complete documentation index at: https://developers.e-cross.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Get parcel details

> Retrieve detailed tracking information for a parcel

<Note>
  For a known order, start with [Get order by ID](/api-reference/orders/get-order-by-id) or [Get order by sales channel order ID](/api-reference/orders/get-order-by-saleschannelorderid) and inspect `order.shipping.deliveries[].parcels[]`. Use this endpoint when your workflow already has a `parcelId` or needs a parcel-focused response.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://hermes.api.e-cross.tech/ext/parcels/MERCHANT387294640090BR' \
    -H 'Authorization: Bearer YOUR_TOKEN'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "merchantId": "MERCHANT",
    "parcelId": "MERCHANT918340981107MX",
    "salesChannel": "ECOM",
    "salesChannelOrderId": "1234567890",
    "senderCountry": "Spain",
    "recipientCountry": "Mexico",
    "status": "DELIVERED",
    "trackingUrl": "https://tracking.e-cross.tech/track/MERCHANT918340981107MX",
    "shipmentId": "18cda980-b2cd-478d-b5fc-6b23ea3feef9",
    "grossWeight": 1.01,
    "netWeight": 1,
    "volumetricWeight": 0.2,
    "lastMileTrackingNumber": "MMX123456789E",
    "creationDate": "2025-09-25T18:07:03.703Z",
    "deliveryEstimateDate": "2025-11-05T17:59:37.925Z",
    "lastUpdateDate": "2025-10-31T18:10:40.105Z",
    "invoiceDocumentUrl": "https://example.com/invoice.pdf",
    "invoiceNumber": "0000001",
    "labels": [
      {
        "labelUrl": "https://example.com/label.pdf",
        "lineHaulService": "FREIGHT_FORWARDER",
        "trackingNumber": "MMX123456789E"
      }
    ],
    "items": [
      {
        "hsCode": "640299",
        "itemWeight": 1,
        "productId": "123P",
        "quantity": 1,
        "skuId": "123",
        "skuName": "Sku name"
      }
    ],
    "events": [
      {
        "coreStatus": {
          "buyerStep": "CREATED",
          "code": "CREATED",
          "macroStep": "SHIPMENT_CREATED"
        },
        "description": "Order created",
        "eventDate": "2025-09-25T18:07:03.703Z",
        "receivedDate": "2025-09-25T18:07:03.703Z"
      },
      {
        "coreStatus": {
          "buyerStep": "DELIVERED",
          "code": "DELIVERED",
          "macroStep": "DELIVERED"
        },
        "description": "Delivered",
        "eventDate": "2025-10-31T17:41:08.000Z",
        "receivedDate": "2025-10-31T18:10:36.930Z"
      }
    ]
  }
  ```
</ResponseExample>

### Path Parameters

<ParamField path="parcelId" type="string" required>
  Parcel identifier. You can retrieve it from `order.shipping.deliveries[].parcels[].parcelId` after the order reaches `READY_TO_SHIP`.
</ParamField>

### Response Fields

<ResponseField name="merchantId" type="string">
  Identifier of the merchant.
</ResponseField>

<ResponseField name="parcelId" type="string">
  Identifier of the parcel.
</ResponseField>

<ResponseField name="salesChannel" type="string">
  Identifier of the sales channel where the order was placed.
</ResponseField>

<ResponseField name="salesChannelOrderId" type="string">
  Identifier of the order in the sales channel.
</ResponseField>

<ResponseField name="senderCountry" type="string">
  Country where the parcel was dispatched from.
</ResponseField>

<ResponseField name="recipientCountry" type="string">
  Country where the parcel will be delivered to.
</ResponseField>

<ResponseField name="status" type="string">
  Status of the parcel (macro step of the logistic route). Can be one of:

  * `SHIPMENT_CREATED` - Parcel has been created
  * `SHIPPED` - Parcel has been shipped
  * `ARRIVED_DESTINATION_COUNTRY` - Parcel arrived in destination country, waiting for customs clearance
  * `CUSTOMS_CLEARANCE` - Parcel is in customs clearance process
  * `LAST_MILE` - Customs clearance completed, parcel delivered to last mile provider
  * `DELIVERED` - Parcel was delivered to the recipient
  * `SHIPMENT_CANCELED` - Parcel was cancelled and won't be delivered
</ResponseField>

<ResponseField name="trackingUrl" type="string">
  Public tracking link sent to the buyer. This URL renders a web application to display trackings.
</ResponseField>

<ResponseField name="shipmentId" type="string">
  Identifier of the shipment in which the parcel is included, if any.
</ResponseField>

<ResponseField name="grossWeight" type="number">
  Estimated weight of the parcel in kg including packaging.
</ResponseField>

<ResponseField name="netWeight" type="number">
  Estimated weight of the parcel in kg without packaging.
</ResponseField>

<ResponseField name="volumetricWeight" type="number">
  Estimated volumetric weight of the parcel in kg.
</ResponseField>

<ResponseField name="lastMileTrackingNumber" type="string">
  Tracking number of the parcel in the last mile provider.
</ResponseField>

<ResponseField name="creationDate" type="string">
  Date when the parcel was created.
</ResponseField>

<ResponseField name="deliveryEstimateDate" type="string">
  Date of the estimated delivery of the parcel.
</ResponseField>

<ResponseField name="lastUpdateDate" type="string">
  Date of the last update of the parcel.
</ResponseField>

<ResponseField name="invoiceDocumentUrl" type="string">
  URL of the commercial invoice.
</ResponseField>

<ResponseField name="invoiceNumber" type="string">
  Number of the commercial invoice.
</ResponseField>

<ResponseField name="labels" type="array">
  Array of labels associated with the parcel.

  <Expandable title="Label Fields">
    <ResponseField name="labelUrl" type="string">Public URL of the label.</ResponseField>
    <ResponseField name="lineHaulService" type="string">Type of service this label refers to.</ResponseField>
    <ResponseField name="trackingNumber" type="string">Parcel code in the respective logistics provider.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="items" type="array">
  Array of items included in the parcel.

  <Expandable title="Item Fields">
    <ResponseField name="hsCode" type="string">HS code of the item.</ResponseField>
    <ResponseField name="itemWeight" type="number">Weight of the item in kg.</ResponseField>
    <ResponseField name="productId" type="string">Identifier of the product.</ResponseField>
    <ResponseField name="quantity" type="integer">Quantity of the item.</ResponseField>
    <ResponseField name="skuId" type="string">Identifier of the SKU.</ResponseField>
    <ResponseField name="skuName" type="string">Name of the SKU.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="events" type="array">
  Array of logistics events associated with the parcel.

  <Expandable title="Event Fields">
    <ResponseField name="description" type="string">Description of the event.</ResponseField>
    <ResponseField name="eventDate" type="string">Date when the event occurred.</ResponseField>
    <ResponseField name="receivedDate" type="string">Date when the event was received by e-CROSS.</ResponseField>

    <ResponseField name="coreStatus" type="object">
      When a tracking is successfully mapped to e-CROSS trackings.

      <Expandable title="Core Status Fields">
        <ResponseField name="buyerStep" type="string">Code of the step displayed in the public tracking link.</ResponseField>
        <ResponseField name="code" type="string">Internal code of the event.</ResponseField>
        <ResponseField name="macroStep" type="string">Macro step of the event (same domain as status field).</ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
