eBay SOAP Update Variation Stock Quantity - ebay-api

I am trying to update the stock quantity of a variation item in eBay, but my request fails.
I have a product with variants:
T-Shirt
Black
Blue
Champion Black
I want to change the Champion Black to 319.
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<RequesterCredentials xmlns="urn:ebay:apis:eBLBaseComponents">
<eBayAuthToken>X</eBayAuthToken>
</RequesterCredentials>
</soap:Header>
<soap:Body>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<MessageID>X</MessageID>
<Version>779</Version>
<InventoryStatus>
<SKU>Champion Black</SKU>
<ItemID>262620802157</ItemID>
<Quantity>319</Quantity>
</InventoryStatus>
</ReviseInventoryStatusRequest>
eBay responds with success, but they say the stock is 337:
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-10-10T22:35:33.659Z</Timestamp>
<Ack>Success</Ack>
<CorrelationID>65055fdd-b574-4e98-85e8-0558b06d365a</CorrelationID>
<Version>987</Version>
<Build>E987_UNI_API5_18125388_R1</Build>
<InventoryStatus>
<SKU>Champion Black</SKU>
<ItemID>262620802157</ItemID>
<StartPrice>10.95</StartPrice>
<Quantity>337</Quantity>
</InventoryStatus>

The call is correct. eBay sends back the quantity available plus the quantity sold.

Related

Seeking Within Tracks Disabled for Audiobooks

We are attempting to build an API to play audiobooks on Sonos and we have run into the issue that seeking through tracks seems to be specifically disabled for audiobook type containers. We noticed this issue when we set the container type to 'container' and found that not only was seeking around the track possible, but so was "Quick Skips," which are only supposed to be possible for audiobooks and podcasts (https://developer.sonos.com/build/content-service-get-started/supported-audio-content/).
Here is what playback looks like when the container type for our chapter tracks is set to 'audiobook' and here's what it looks like when the container type is set to 'container.' Why are we running into this issue and is there any way to allow for seeking and quick skips within a track for tracks within an audiobook container?
Here are example getMetadata responses from our service.
Root:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<getMetadataResponse xmlns="http://www.sonos.com/Services/1.1">
<getMetadataResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<index>0</index>
<count>1</count>
<total>1</total>
<mediaCollection>
<id>audiobook:33462:2617184</id>
<itemType>container</itemType>
<title>The Grapes of Wrath</title>
<summary>First published in 1939, The Grapes of Wrath creates an unforgettable portrait of the migrants who left the dust bowl for the promised land of California. Although he wrote it quickly, Steinbeck spent much time gathering detailed reports of the desperate conditions in migrant camps. He also worked in one camp helping to care for its starving residents. Although they have planted the land for generations, the Joads are tenant farmers. Now drought and mechanization have forced them off the Oklahoma farm they call home. As they travel toward new jobs in California, the penniless, hungry Joads learn that America has no mercy for the poor. Their fate is one that was repeated in hundreds of lives. Brilliant in its fusion of drama and rhetoric, The Grapes of Wrath changed the way the world saw migrant workers. They would never again be faceless masses who could be ignored and abandoned. This landmark work's impact earned John Steinbeck the Pulitzer Prize and contributed...</summary>
<author>John Steinbeck</author>
<narrator>Dylan Baker</narrator>
<canPlay>true</canPlay>
<albumArtURI>https://img1.od-cdn.com/ImageType-150/1694-1/5CE/FF2/0E/{5CEFF20E-0C05-4FA1-8903-34D26124FC29}Img150.jpg</albumArtURI>
<canResume>true</canResume>
</mediaCollection>
</getMetadataResult>
</getMetadataResponse>
</s:Body>
</s:Envelope>
Title:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<getMetadataResponse xmlns="http://www.sonos.com/Services/1.1">
<getMetadataResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<index>0</index>
<count>20</count>
<total>20</total>
<mediaMetadata>
<id>navEl:33462:2617184:0:0</id>
<itemType>track</itemType>
<title>The Grapes of Wrath [0/20]</title>
<mimeType>audio/mpeg</mimeType>
<trackMetadata>
<author>John Steinbeck</author>
<narrator>Dylan Baker</narrator>
<albumArtURI>https://....Img150.jpg</albumArtURI>
<canPlay>true</canPlay>
<canAddToFavorites>false</canAddToFavorites>
</trackMetadata>
</mediaMetadata>
<mediaMetadata>
<id>navEl:33462:2617184:1:0</id>
<itemType>track</itemType>
<title>The Grapes of Wrath [1/20]</title>
<mimeType>audio/mpeg</mimeType>
<trackMetadata>
<author>John Steinbeck</author>
<narrator>Dylan Baker</narrator>
<albumArtURI>https://img1.od-cdn.com/ImageType-150/1694-1/5CE/FF2/0E/{5CEFF20E-0C05-4FA1-8903-34D26124FC29}Img150.jpg</albumArtURI>
<canPlay>true</canPlay>
<canAddToFavorites>false</canAddToFavorites>
</trackMetadata>
</mediaMetadata>
<mediaMetadata>
<id>navEl:33462:2617184:2:0</id>
<itemType>track</itemType>
<title>The Grapes of Wrath [2/20]</title>
<mimeType>audio/mpeg</mimeType>
<trackMetadata>
<author>John Steinbeck</author>
<narrator>Dylan Baker</narrator>
<albumArtURI>https://.....Img150.jpg</albumArtURI>
<canPlay>true</canPlay>
<canAddToFavorites>false</canAddToFavorites>
</trackMetadata>
</mediaMetadata>
<!--More MediaMetadata Elements-->
</getMetadataResult>
</getMetadataResponse>
</s:Body>
</s:Envelope>
Are there any additional parameters that we have to include to make seeking work for audiobooks?
It looks like you're missing the duration element in trackMetadata. The fact that the Quick Skip buttons show up for the generic container itemType is unintended.
The Sonos app shows Quick Skips for audiobooks whenever the metadata contains an author, narrator, or chapter title, provided that you:
Specify audioBook as the itemType.
Include duration in trackMetadata for each chapter.
See Saving and Resuming Play Position
for details.

How to Obtain (Extract) eBay Listing EAN which is not Visible (multi-variation listing?

wanted to know if there's a way to obtain the ean used by seller for a product listing on eBay, the ean does currently show up on eBay's item specifics area if its a multi-variation listing (only shows up if its a single product listing), so is there a way to obtain the ean used for a listing, here's an example of a listing which I would like to obtain the ean used: http://www.ebay.co.uk/itm/Luxury-Magnetic-Flip-Cover-Stand-Wallet-Leather-Case-For-Apple-iPhone-Models-/172423423931?var=&hash=item28253ca7bb:m:mUL-SeQQB128hGq-rt62LJw
You can call the GetItem operation in the Trading API. Below is an example XML request.
<?xml version="1.0" encoding="UTF-8"?>
<GetItemRequest
xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken></eBayAuthToken>
</RequesterCredentials>
<ItemID>172423423931</ItemID>
<OutputSelector>Item.Variations.Variation.VariationProductListingDetails.EAN</OutputSelector>
</GetItemRequest>
A sample of the response from the API is below. The EAN information is contained in the Item.Variations.Variation.VariationProductListingDetails.EAN field.
<?xml version="1.0" encoding="UTF-8"?>
<GetItemResponse
xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2017-02-17T10:12:13.699Z</Timestamp>
<Ack>Success</Ack>
<Version>991</Version>
<Build>E991_CORE_API_18167430_R1</Build>
<Item>
<Variations>
<Variation>
<VariationProductListingDetails>
<EAN>0702865347275</EAN>
</VariationProductListingDetails>
</Variation>
<Variation>
<VariationProductListingDetails>
<EAN>0702865347275</EAN>
</VariationProductListingDetails>
</Variation>
</Variations>
</Item>
</GetItemResponse>

Magento Customer Update API Error - Cannot use object of type stdClass as array

Hi Im am trying to connect to magento api Customer Update using SOAP UI. I perfectly connect and update products. I can list Customers
but for some reason I can not update a customer. The xml I am using is as follows:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento">
<soapenv:Header/>
<soapenv:Body>
<urn:customerCustomerUpdateRequestParam>
<sessionId>65e47ee067bba9c51b97c8d80929a138</sessionId>
<customerId>1</customerId>
<customerData>
<email>33#ddd.com</email>
</customerData>
</urn:customerCustomerUpdateRequestParam>
</soapenv:Body>
</soapenv:Envelope>
And the response I get is the following:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Cannot use object of type stdClass as array</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Can any one shed some light on this?
Thanks.

Error registering Yodlee user, can't getWrappedExceptions

I'm getting the following error (see Response) while attempting to register a user. The code was working fine before but it seems something changed.
Request:
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:ns3="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://userregistration.usermanagement.core.soap.yodlee.com"
xmlns:ns1="http://common.soap.yodlee.com"
xmlns:ns2="http://login.ext.soap.yodlee.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns3:Body>
<ns0:register3>
<cobrandContext xsi:type="ns1:CobrandContext">
<cobrandId>8910005960</cobrandId>
<channelId>-1</channelId>
<locale>
<country>US</country>
<language>en</language>
</locale>
<tncVersion>2</tncVersion>
<applicationId>58EEA306454D869DFF721D0D00B82D00</applicationId>
<cobrandConversationCredentials xsi:type="ns2:SessionCredentials">
<sessionToken>05292013_0:718a0b8d870c13b5be2d2fb14bfd53b3796c5c97b401d68d34fe4594fdefeab3a3e5d6d8ee14696a6e03f53f0da613b781f1be0c8c06e70b883bb9abe232ba9f</sessionToken>
</cobrandConversationCredentials>
<preferenceInfo>
<currencyCode>USD</currencyCode>
<timeZone>PST</timeZone>
<dateFormat>MM/dd/yyyy</dateFormat>
<currencyNotationType>SYMBOL_NOTATION</currencyNotationType>
<numberFormat>
<decimalSeparator>.</decimalSeparator>
<groupingSeparator>,</groupingSeparator>
<groupPattern>###,##0.##</groupPattern>
</numberFormat>
</preferenceInfo>
<currencyCode>USD</currencyCode>
<timeZone>PST</timeZone>
<dateFormat>MM/dd/yyyy</dateFormat>
<currencyNotationType>SYMBOL_NOTATION</currencyNotationType>
<numberFormat>
<decimalSeparator>.</decimalSeparator>
<groupingSeparator>,</groupingSeparator>
<groupPattern>###,##0.##</groupPattern>
</numberFormat>
</preferenceInfo>
<fetchAllLocaleData>false</fetchAllLocaleData>
</cobrandContext>
<userCredentials xsi:type="ns2:PasswordCredentials">
<loginName>someyodleeuser#somedomain.com</loginName>
<password>yodleepasswordtest</password>
</userCredentials>
<userProfile>
<values>
<table>
<key xsi:type="xsd:string">EMAIL_ADDRESS</key>
<value xsi:type="xsd:string">someyodleeuser#somedomain.com</value>
</table>
</values>
</userProfile>
</ns0:register3>
</ns3:Body>
</SOAP-ENV:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>IllegalArgumentValueExceptionFaultMessage</faultstring>
<detail>
<ns4:IllegalArgumentValueExceptionFault xmlns:ns4="http://core.soap.yodlee.com">
<faultText>com.yodlee.core.IllegalArgumentValueException: Multiple exceptions encapsulated within: invoke getWrappedExceptions for details</faultText>
</ns4:IllegalArgumentValueExceptionFault>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Problem is, I'm not getting back any details on the exception to debug the issue (Even when doing as suggested).
Your password is not in the right format and hence you are getting this error.
Below are the restrictions on username and password which you should follow -
UserName
>= 3 characters <= 150 characters
pNo Whitespace
No Control Characters
Contains at least one Letter
Password
>= 6 characters
<= 50 characters
No Whitespace
No Control Characters
Contains at least one Number
Contains at least one Letter
Does not contain the same letter/number three or more times in a row. (e.g. aaa123 would fail for three \"a\"'s in a row, but a1a2a3 would pass)"); Does not equal username

eBay API: GetOrders call returning no orders

I have placed test orders in the sandbox eBay account.
I am not able to get the orders listing from the GetOrders API call.
It retruns the success message but no orders are fetched.
Below are the API call details :
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:ebay:apis:eBLBaseComponents" ><soap:Header><RequesterCredentials><eBayAuthToken>...</eBayAuthToken><Credentials><AppId>Clarion89-2b36-4da6-b073-00dafbcff12</AppId><DevId>f79169c1-f95b-4d23-9fe2-547504ffb827</DevId><AuthCert>...</AuthCert></Credentials></RequesterCredentials></soap:Header><soap:Body><GetOrdersRequest><DetailLevel>ReturnAll</DetailLevel><Version>527</Version><CreateTimeFrom>2012-04-02T09:52:27.000Z</CreateTimeFrom><CreateTimeTo>2012-05-03T09:52:27.000Z</CreateTimeTo><OrderRole>Seller</OrderRole><OrderStatus>Active</OrderStatus><ListingType>FixedPriceItem</ListingType></GetOrdersRequest></soap:Body></soap:Envelope>
Response returned as below
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<GetOrdersResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2012-05-03T09:54:03.650Z</Timestamp>
<Ack>Success</Ack>
<Version>771</Version>
<Build>E771_CORE_BUNDLED_14795207_R1</Build>
<PaginationResult>
<TotalNumberOfPages>0</TotalNumberOfPages>
<TotalNumberOfEntries>0</TotalNumberOfEntries>
</PaginationResult>
<HasMoreOrders>false</HasMoreOrders>
<OrderArray/>
<OrdersPerPage>100</OrdersPerPage>
<PageNumber>1</PageNumber>
<ReturnedOrderCountActual>0</ReturnedOrderCountActual>
</GetOrdersResponse>
</soapenv:Body>
</soapenv:Envelope>
Please tell me why i am not getting order details
first of all i would use an higher version (i'm actually using 771 as compatibility level)
I used to have a similar problem at the very benning when i started coded for api, then i switched CreatedTime filter to NumberOfDays wich are the days to look back from today.
What language are you using to make the call?
Check your request parameters against your orders that are stored on ebay. It may happen that there are no orders matching the parameters you are entering in your call. Try entering the most basic request parameters like
<?xml version="1.0" encoding="utf-8"?>
<GetOrdersRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>[your authentication token]</eBayAuthToken>
</RequesterCredentials>
<CreateTimeFrom>2012-05-10T00:00:00.000Z</CreateTimeFrom>
<CreateTimeTo>2012-05-15T00:00:00.000Z</CreateTimeTo>
</GetOrdersRequest>
You can enter the dates as per your requirement but make sure you use the date format accepted by ebay.