eBay Merchant Data APIVersion 1113

SetShipmentTrackingInfo

Specifies the shipment tracking information associated with one package of an order. If multiple packages are required for the order, this call must be made separately for each package.



Input

See also Samples.

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<SetShipmentTrackingInfoRequest xmlns="urn:ebay:apis:eBLBaseComponents">
  <!-- Call-specific Input Fields -->
  <IsPaid> boolean </IsPaid>
  <IsShipped> boolean </IsShipped>
  <OrderID> string </OrderID>
  <OrderLineItemID> string </OrderLineItemID>
  <Shipment> ShipmentType
    <ShipmentTrackingDetails> ShipmentTrackingDetailsType
      <ShipmentLineItem> ShipmentLineItemType
        <LineItem> LineItemType
          <CountryOfOrigin> string </CountryOfOrigin>
          <Description> string </Description>
          <ItemID> ItemIDType (string) </ItemID>
          <Quantity> int </Quantity>
          <TransactionID> string </TransactionID>
        </LineItem>
        <!-- ... more LineItem nodes allowed here ... -->
      </ShipmentLineItem>
      <ShipmentTrackingNumber> string </ShipmentTrackingNumber>
      <ShippingCarrierUsed> string </ShippingCarrierUsed>
    </ShipmentTrackingDetails>
    <!-- ... more ShipmentTrackingDetails nodes allowed here ... -->
    <ShippedTime> dateTime </ShippedTime>
  </Shipment>
</SetShipmentTrackingInfoRequest>
Argument Type Occurrence Meaning
IsPaid boolean Optional This field is included and set to true to indicate that the buyer has paid for the order.
IsShipped boolean Optional This field is included and set to true to indicate that an order or order line item was shipped. If this element is missing, eBay assumes that the order or order line item was shipped.
OrderID string Conditional A unique identifier that identifies a single line item or multiple line item order. Either the OrderID or OrderLineItemID value must be passed in the request.

Note: As of June 2019, eBay has changed the format of order identifier values. The new format is a non-parsable string, globally unique across all eBay marketplaces, and consistent for both single line item and multiple line item orders. Unlike in the past, instead of just being known and exposed to the seller, these unique order identifiers will also be known and used/referenced by the buyer and eBay customer support.

For developers and sellers who are already integrated with the Trading API's order management calls, this change shouldn't impact your integration unless you parse the existing order identifiers (e.g., OrderID or OrderLineItemID), or otherwise infer meaning from the format (e.g., differentiating between a single line item order versus a multiple line item order). Because we realize that some integrations may have logic that is dependent upon the old identifier format, eBay is rolling out this Trading API change with version control to support a transition period of approximately 9 months before applications must switch to the new format completely.

During the transition period, for developers/sellers using a Trading WSDL older than Version 1113, they can use the X-EBAY-API-COMPATIBILITY-LEVEL HTTP header in API calls to control whether the new or old OrderID format is returned in call response payloads. To get the new OrderID format, the value of the X-EBAY-API-COMPATIBILITY-LEVEL HTTP header must be set to 1113. During the transition period and even after, the new and old OrderID formats will still be supported/accepted in all Trading API call request payloads. After the transition period (which will be announced), only the new OrderID format will be returned in all Trading API call response payloads, regardless of the Trading WSDL version used or specified compatibility level.

Max length: 40.
OrderLineItemID string Conditional A unique identifier for an eBay order line item. This identifier is created as soon as there is a commitment to buy from the seller. Either the OrderLineItemID or the OrderID value must be passed in the request.
Shipment ShipmentType Required This container is used to provide the name of the shipping carrier, the package tracking number, and optionally, the timestamp of the shipment.
Shipment
  .ShipmentTrackingDetails
ShipmentTrackingDetailsType Optional,
repeatable: [0..*]
Container consisting of the tracking number and shipping carrier associated with the shipment of one item (package).

Because an order can have multiple line items and/or packages, there can be multiple ShipmentTrackingDetails containers under the Shipment container.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem
ShipmentLineItemType Optional Contains information about one or more order line items in a Global Shipping Program package. Required or returned if the value of ShippingCarrierUsed is PBI.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
LineItemType Optional,
repeatable: [1..*]
Contains information about one order line item in a Global Shipping Program package. The package can contain multiple units of a given order line item, and multiple order line items.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
  .CountryOfOrigin
string Optional The Country of Manufacture for the order line item; this is required for customs. This should identify the country in which more than 50% of the value of the item was created.

This value must conform to the ISO 3166 two-letter country code standard. To see the list of currently supported codes, and the English names associated with each code (e.g., KY="Cayman Islands"), call GeteBayDetails with DetailName set to CountryDetails.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
  .Description
string Optional The item description of the order line item, based on its ItemID.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
  .ItemID
ItemIDType (string) Optional Unique identifier for the eBay listing associated with the order line item. A multiple-quantity listing can have multiple order line items, but only one ItemID value. Unless an OrderLineItemID or SKU value is specified in the same node, this field is required for each ItemTransactionID node included in the request.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
  .Quantity
int Optional The number of units of the order line item in this package; this is required for customs. The seller must ensure that this matches the quantity of the order line item enclosed in the package.

This value must be a positive integer, and it can't be greater than the quantity of this item specified in the original transaction.
Shipment
  .ShipmentTrackingDetails
  .ShipmentLineItem.LineItem
  .TransactionID
string Optional Unique identifier for an eBay order line item (transaction). The TransactionID should match the ItemID specified in each ItemTransactionID node included in the request. Optionally, an OrderLineItemID value can substitute for the ItemID/TransactionID pair.
Shipment
  .ShipmentTrackingDetails
  .ShipmentTrackingNumber
string Conditional The tracking number assigned by the shipping carrier to the item shipment. This field and the ShippingCarrierUsed field are mutually dependent. When you submit ShipmentTrackingNumber, you must also supply a value for ShippingCarrierUsed. When you submit ShippingCarrierUsed, you must also supply a value for ShipmentTrackingNumber.

The format of the tracking number must be consistent with the format used by the specified shipping carrier (ShippingCarrierUsed). Typically, you should avoid spaces and hyphens. Returned only if set.

For GetOrders, GetOrderTransactions, and GetItemTransactions only: If using Trading WSDL Version 1019 or above, this field will only be returned to the buyer or seller, and no longer returned at all to third parties. If using a Trading WSDL older than Version 1019, the real tracking number is only returned to the buyer or seller, and a string value of Unavailable will be returned to all third parties.
Shipment
  .ShipmentTrackingDetails
  .ShippingCarrierUsed
string Conditional The name of the shipping carrier used to ship the item. This field and the ShipmentTrackingNumber field are mutually dependent. When you submit ShippingCarrierUsed, you must also supply a value for ShipmentTrackingNumber. When you submit ShipmentTrackingNumber, you must also supply a value for ShippingCarrierUsed.

When the site ID is Austria, Poland, or UK, ShippingCarrierUsed can be any value, because it is not checked by eBay. For all other sites, only the following characters are allowed: letters (a-z, A-Z), numbers (0-9), space, and dash (-). The site ID is specified in the CompleteSale request header.

Note: Commonly used shipping carriers can be found by calling GeteBayDetails with DetailName set to ShippingCarrierDetails and examining the returned ShippingCarrierDetails.ShippingCarrier field. ShippingCarrierCodeType also has a list of valid shipping carriers, but eBay cannot guarantee that this enumerated type contains a full, updated list of shipping carriers. For the CompleteSale call:
  • This field is not case sensitive in the CompleteSale request.
  • When using UPS Mail Innovations, supply the value UPS-MI. Buyers will subsequently be sent to the UPS Mail Innovations website for tracking status.
  • When using FedEx SmartPost, supply the value FedEx. Buyers will subsequently be sent to the FedEx web site for tracking status.
For the Get calls: When using the Global Shipping Program, this field returns a value of PBI.

Applicable values: See ShippingCarrierCodeType
Shipment.ShippedTime dateTime Optional The date and time that the seller handed off the package(s) to the shipping carrier. If this field is not included in the request, the timestamp of the call execution is used as the shipped time. Note that sellers have the ability to set this value up to 3 calendar days in the future.



Output

See also Samples.

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<SetShipmentTrackingInfoResponse xmlns="urn:ebay:apis:eBLBaseComponents">
  <!-- Call-specific Output Fields -->
  <OrderLineItemID> string </OrderLineItemID>
  <!-- Standard Output Fields -->
  <Ack> AckCodeType </Ack>
  <Errors> ErrorType
    <ErrorClassification> ErrorClassificationCodeType </ErrorClassification>
    <ErrorCode> token </ErrorCode>
    <ErrorParameters ParamID="string"> ErrorParameterType
      <Value> string </Value>
    </ErrorParameters>
    <!-- ... more ErrorParameters nodes allowed here ... -->
    <LongMessage> string </LongMessage>
    <SeverityCode> SeverityCodeType </SeverityCode>
    <ShortMessage> string </ShortMessage>
  </Errors>
  <!-- ... more Errors nodes allowed here ... -->
</SetShipmentTrackingInfoResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
OrderLineItemID string Always OrderLineItemID is required upon input and always returned in the response. You can use this field to track whether or not a response is returned for every request, and to match specific responses to Specific requests.
Standard Output Fields  
Ack AckCodeType Always A token representing the application-level acknowledgement code that indicates the response status (e.g., success). The AckCodeType list specifies the possible values for the Ack field.

Applicable values:

CustomCode
Reserved for internal or future use.
Failure
This value indicates that the call request processing failed.
Success
This value indicates that the call request was processed successfully without any issues.
Warning
This value indicates that the call request was successful, but processing was not without any issues. These issues can be checked in the Errors container, that will also be returned when one or more known issues occur with the call request.

(Not all values in AckCodeType apply to this field.)

Code so that your app gracefully handles any future changes to this list.
Errors ErrorType Conditionally,
repeatable: [0..*]
A list of application-level errors (if any) that occurred when eBay processed the request.

See Error Handling.

Errors.ErrorClassification ErrorClassificationCodeType Conditionally API errors are divided between two classes: system errors and request errors.

Applicable values:

CustomCode
Reserved for internal or future use.
RequestError
An error has occurred either as a result of a problem in the sending application or because the application's end-user has attempted to submit invalid data (or missing data). In these cases, do not retry the request. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the application or data is resolved, resend the request to eBay with the corrected data.
SystemError
Indicates that an error has occurred on the eBay system side, such as a database or server down. An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

Code so that your app gracefully handles any future changes to this list.
Errors.ErrorCode token Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms. See the "Errors by Number" document.
Errors.ErrorParameters ErrorParameterType Conditionally,
repeatable: [0..*]
This optional element carries a list of context-specific error variables that indicate details about the error condition. These are useful when multiple instances of ErrorType are returned.
Errors.ErrorParameters
  [ attribute ParamID ]
string Conditionally This optional element carries a list of context-specific error variables that indicate details about the error condition. These are useful when multiple instances of ErrorType are returned.
Errors.ErrorParameters.Value string Conditionally This is the value of the request parameter noted in the ParamID attribute. So, if the ParamID value was ItemID, the value in this field would be the actual value of that ItemID.
Errors.LongMessage string Conditionally A more detailed description of the condition that raised the error.
Errors.SeverityCode SeverityCodeType Conditionally Indicates whether the error is a severe error (causing the request to fail) or an informational error (a warning) that should be communicated to the user.

Applicable values:

CustomCode
Reserved for internal or future use.
Error
The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

If the source of the problem is within the application (such as a missing required element), change the application before you retry the request.
  • If the problem is due to end-user input data, please alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, you can attempt to re-send the request to eBay.
  • If the source of the problem is on eBay's side, An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.


See the Compatible Application Check section of the eBay Features Guide for more information.
Warning
The request was processed successfully, but something occurred that may affect your application or the user. For example, eBay may have changed a value the user sent in. In this case, eBay returns a normal, successful response and also returns the warning.

When a warning occurs, the error is returned in addition to the business data. In this case, you do not need to retry the request (as the original request was successful). However, depending on the cause or nature of the warning, you might need to contact either the end user or eBay to effect a long term solution to the problem to prevent it from reoccurring in the future.

Code so that your app gracefully handles any future changes to this list.
Errors.ShortMessage string Conditionally A brief description of the condition that raised the error.



Samples

New to making API calls? Please see Making a Call.

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

Request that you use to record that an order has been shipped. Use the SetShipmentTrackingInfo request to associate each line item in a SoldReport to the shipped time, tracking service, and tracking number that you used when shipping an item.

Description

User megaonlinemerchant wants to keep track of the carrier information and tracking number for each item in her Sold Report that she has shipped to date. She starts order processing and creates a data file to set the shipment tracking info. at the same time she creates the data file to acknowledged orders in her Sold Report.

Input

The fields in the following SetShipmentTrackingInfo request represent shipped items from three of megaonlinemerchant's basketball shoe listings. In this sample, we have included a basic SetShipmentTrackingInfo request. In a more typical SetShipmentTrackingInfo request file, you might record and upload data for thousands of shipped items.

XML format.

<?xml version="1.0" encoding="UTF-8"?>
<BulkDataExchangeRequests>
    <Header>
        <Version>955</Version>
        <SiteID>0</SiteID>
    </Header>
    <SetShipmentTrackingInfoRequest xmlns="urn:ebay:apis:eBLBaseComponents">
        <OrderID>110035505229-23336925001</OrderID>
        <OrderLineItemID>110035505229-23336925001</OrderLineItemID>
        <Shipment> 
            <ShippedTime>2008-11-25T12:00:00.000Z</ShippedTime>
            <ShipmentTrackingDetails>
                <ShippingCarrierUsed>UPS</ShippingCarrierUsed>
                <ShipmentTrackingNumber>1Z 999 999 99 9999 999 9</ShipmentTrackingNumber>
            </ShipmentTrackingDetails>
        </Shipment>
    </SetShipmentTrackingInfoRequest>
    <SetShipmentTrackingInfoRequest xmlns="urn:ebay:apis:eBLBaseComponents">
        <OrderID>110035571629-23291233001</OrderID>
        <OrderLineItemID>110035571629-23291233001</OrderLineItemID>
        <Shipment> 
            <ShippedTime>2008-11-25T12:00:00.000Z</ShippedTime>
            <ShipmentTrackingDetails>
                <ShippingCarrierUsed>UPS</ShippingCarrierUsed>
                <ShipmentTrackingNumber>1Z 888 888 88 8888 888 8</ShipmentTrackingNumber>
            </ShipmentTrackingDetails>
        </Shipment>
    </SetShipmentTrackingInfoRequest>
    <SetShipmentTrackingInfoRequest xmlns="urn:ebay:apis:eBLBaseComponents">
        <OrderID>110035504829-23270675001</OrderID>
        <OrderLineItemID>110035504829-23270675001</OrderLineItemID>
        <Shipment> 
            <ShippedTime>2008-11-25T12:00:00.000Z</ShippedTime>
            <ShipmentTrackingDetails>
                <ShippingCarrierUsed>UPS</ShippingCarrierUsed>
                <ShipmentTrackingNumber>1Z 777 777 77 7777 777 7</ShipmentTrackingNumber>
            </ShipmentTrackingDetails>
        </Shipment>
    </SetShipmentTrackingInfoRequest>
</BulkDataExchangeRequests>

Output

The SetShipmentTrackingInfo response file includes the OrderID and OrderLineItemID of each item you have shipped, call Success or Failure, and any error numbers and messages returned by the call request. For multiple line items, each shipment is listed as a separate node.

XML format.
<?xml version="1.0" encoding="utf-8"?>
<BulkDataExchangeResponses xmlns="urn:ebay:apis:eBLBaseComponents">
    <SetShipmentTrackingInfoResponse>
        <Ack>Success</Ack>
        <OrderID>110035505229-23336925001</OrderID>
        <OrderLineItemID>110035505229-23336925001</OrderLineItemID>
    </SetShipmentTrackingInfoResponse>
    <SetShipmentTrackingInfoResponse>
        <Ack>Success</Ack>
        <OrderID>110035571629-23291233001</OrderID>
        <OrderLineItemID>110035571629-23291233001</OrderLineItemID>
    </SetShipmentTrackingInfoResponse>
    <SetShipmentTrackingInfoResponse>
        <Ack>Success</Ack>
        <OrderID>110035504829-23270675001</OrderID>
        <OrderLineItemID>110035504829-23270675001</OrderLineItemID>
    </SetShipmentTrackingInfoResponse>
</BulkDataExchangeResponses>



Change History

Change Date Description
1113
2019-06-21
  • OrderID (modified): The new format of order identifier values was rolled out. Both the new and old order ID format will be accepted in request payloads to identify an eBay order. The format (old or new) that is returned in response payloads is dependent on the WSDL version and/or compatibility level. See the 1113 Release Notes for more details.
1107
2019-05-10
  • OrderID (modified): Starting in June 2019, eBay will start changing the format of order identifier values. The new format will be a non-parsable string, globally unique across all eBay marketplaces, and consistent for both single line item and multiple line item orders. To enable and use the new format, the user will need to use the 1107 WSDL (or newer as versions roll out) and set the compatibility level to 1113. There will be a nine-month transition period where the old format will still be supported.
0959
2016-03-11
  • Shipment.ShipmentLineItem (doc change): Previously, the documentation for this call erroneously indicated that Shipment.ShipmentLineItem was conditionally required in the request. In fact, the ShipmentLineItem container was and is part of ShipmentTrackingDetails, and the documentation now displays only Shipment.ShipmentTrackingDetails.ShipmentLineItem in the request prototype.
0809
2013-02-06
  • SetShipmentTrackingInfoRequest (doc change): For orders on the eBay India site, SetShipmentTrackingInfo cannot be used if the buyer uses PaisaPay as the payment method.
0727
2011-06-22
  • ShipmentTrackingNumber, ShippingCarrierUsed (modified): ShipmentTrackingNumber and ShippingCarrierUsed are no longer always required. These fields are now conditionally required. If you specify one, you must specify the other, but now they can both be omitted from the request.
0589
2008-11-29
  • (added) New call.