tags:

views:

121

answers:

1

I am specifying a SKU in my AddFixedPriceItem requests but the response does not come back with a SKU (although SKU is specified in the schema). This is a problem because I am using Large Merchant Services and can submit many items at once. If one item in a batch fails, how am I supposed to be able to tell which one it is? How can I relate SKUs to ItemIds? The response information has very little value if I can't map it back to something in my inventory.

Here is an example of a request going out that does not return a SKU:

<?xml version="1.0" encoding="UTF-8"?>
<BulkDataExchangeRequests xmlns="urn:ebay:apis:eBLBaseComponents">
  <Header>
    <SiteID>0</SiteID>
    <Version>639</Version>
  </Header>
  <AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
    <Version>639</Version>
    <Item>
      <CategoryMappingAllowed>true</CategoryMappingAllowed>
      <Country>US</Country>
      <Currency>USD</Currency>
      <Description>This is the description.</Description>
      <ListingDuration>GTC</ListingDuration>
      <ListingType>FixedPriceItem</ListingType>
      <Location>Provo, UT</Location>
      <PaymentMethods>PayPal</PaymentMethods>
      <PayPalEmailAddress>[email protected]</PayPalEmailAddress>
      <PrimaryCategory>
        <CategoryID>63850</CategoryID>
      </PrimaryCategory>
      <Quantity>10</Quantity>
      <ShippingDetails>
        <SalesTax>
          <SalesTaxPercent>6.5</SalesTaxPercent>
          <SalesTaxState>UT</SalesTaxState>
          <ShippingIncludedInTax>false</ShippingIncludedInTax>
        </SalesTax>
        <ShippingServiceOptions>
          <ShippingService>UPSGround</ShippingService>
          <ShippingServiceCost currencyID="USD">7.99</ShippingServiceCost>
          <ShippingServiceAdditionalCost currencyID="USD">0.0</ShippingServiceAdditionalCost>
          <ShippingServicePriority>1</ShippingServicePriority>
        </ShippingServiceOptions>
        <ShippingType>Flat</ShippingType>
        <InsuranceDetails>
          <InsuranceOption>NotOffered</InsuranceOption>
        </InsuranceDetails>
      </ShippingDetails>
      <Site>US</Site>
      <StartPrice currencyID="USD">100.0</StartPrice>
      <Title>Test Product</Title>
      <SKU>PROD02-TST</SKU>
      <DispatchTimeMax>3</DispatchTimeMax>
      <ReturnPolicy>
        <ReturnsWithinOption>Days_30</ReturnsWithinOption>
        <ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
        <Description>Our return policy details.</Description>
        <ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>
      </ReturnPolicy>
      <InventoryTrackingMethod>ItemID</InventoryTrackingMethod>
    </Item>
  </AddFixedPriceItemRequest>
</BulkDataExchangeRequests>
+1  A: 

If one item in a batch fails, how am I supposed to be able to tell which one it is?

Use MessageID in your AddFixedPriceItem Request.

How can I relate SKUs to ItemIds

Most likely I'm assuming you're wanting to manage your inventory via SKUs, i.e. "Increase Quantity by +2 for SKU 'MYTESTSKU02'. If this is the case, you'll want:

<InventoryTrackingMethod>SKU</InventoryTrackingMethod>

Then you can Relist/Revise/End by SKU. If you merely wish to associate a SKU to an ItemID as more of a label and you still desire to manage your inventory by ItemID, then your current request seems correct.

In terms of the SKU field not being returned, can you paste the AddFixedPriceItemResponse?

Overflow Helper
I'll paste it when I go back to work on Monday. I can't track via SKU because then you can only list a SKU once. Basically I want to know that ItemId 123 is for a product with SKU ABC or something like that. I think I can call a GetItem or something but it would obviously be much easier if it was just returned with the AddFixedPriceItemResponse.
Ryan Elkins
Using the MessageID field seems to work and will be what I go with for now although I'd still like to try and see what is happening with the SKU not being sent back.
Ryan Elkins