Ebay api BulkDataExchangeRequests & ReviseInventoryStatus : Missing Required Container - ebay-api

I have some issues with BulkDataExchangeRequest/ReviseInventoryStatus(using the Large Merchant Sevices api) when trying to modify the quantities of listed products. I managed to successfully make all the prerequisite requests in order to upload and process the BulkDataExchange xml (createUploadJob, uploadFileRequest, startUploadJob) but the quantities of the products did not modified on the ebay shop. I've found out that in order to get the errors of the xml itself ,not the upload jobs, I must use the DownloadFileRequest, but I am failing to fix the errors returned by it. For the 3 products that I've tried to modify the quantity with ReviseInventoryStatus I am getting a 'Missing required container' with the error code 21916253. I've checked the xml that I send but I can't figure out what exactly what it is missing. Here is the xml, any tips would be appreciated:
<?xml version="1.0" encoding="UTF-8"?>
<BulkDataExchangeRequests>
<Header>
<SiteID>77</SiteID>
<Version>955</Version>
</Header>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<errorlanguage>en_US</errorlanguage>
<warninglevel>High</warninglevel>
<version>955</version>
<inventorystatus>
<itemid>281077289788</itemid>
<quantity>500</quantity>
<sku>MGA10003</sku>
<startprice>6.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<errorlanguage>en_US</errorlanguage>
<warninglevel>High</warninglevel>
<version>955</version>
<inventorystatus>
<itemid>271171602595</itemid>
<quantity>500</quantity>
<sku>MGA10215</sku>
<startprice>20.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<errorlanguage>en_US</errorlanguage>
<warninglevel>High</warninglevel>
<version>955</version>
<inventorystatus>
<itemid>281449929626</itemid>
<quantity>8</quantity>
<sku>MGA12496.3</sku>
<startprice>18.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
</BulkDataExchangeRequests>
Here is the response from DownloadFileRequest:
<?xml version="1.0" encoding="utf-8"?>
<BulkDataExchangeResponses xmlns="urn:ebay:apis:eBLBaseComponents">
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-04-15T07:39:41.431Z</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Erforderlicher Container fehlt.</ShortMessage>
<LongMessage>Erforderlicher Container fehlt.</LongMessage>
<ErrorCode>21916253</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>961</Version>
<Build>E961_UNI_API5_17901460_R1</Build>
</ReviseInventoryStatusResponse>
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-04-15T07:39:41.565Z</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Erforderlicher Container fehlt.</ShortMessage>
<LongMessage>Erforderlicher Container fehlt.</LongMessage>
<ErrorCode>21916253</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>961</Version>
<Build>E961_UNI_API5_17901460_R1</Build>
</ReviseInventoryStatusResponse>
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-04-15T07:39:41.660Z</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Erforderlicher Container fehlt.</ShortMessage>
<LongMessage>Erforderlicher Container fehlt.</LongMessage>
<ErrorCode>21916253</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>961</Version>
<Build>E961_UNI_API5_17901460_R1</Build>
</ReviseInventoryStatusResponse>
</BulkDataExchangeResponses>

Field names are case sensitive. I've spotted a few fields in your request that are all in lowercase. For example, <inventorystatus> should be <InventoryStatus>, and <itemid> needs to be <ItemID>.

I know this is an old question, but maybe it could help someone else.
Maybe you have to remove ErrorLanguage, WarningLevel and Version and leave your XML like this:
<?xml version="1.0" encoding="UTF-8"?>
<BulkDataExchangeRequests>
<Header>
<SiteID>77</SiteID>
<Version>955</Version>
</Header>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<inventorystatus>
<itemid>281077289788</itemid>
<quantity>500</quantity>
<sku>MGA10003</sku>
<startprice>6.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<inventorystatus>
<itemid>271171602595</itemid>
<quantity>500</quantity>
<sku>MGA10215</sku>
<startprice>20.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<inventorystatus>
<itemid>281449929626</itemid>
<quantity>8</quantity>
<sku>MGA12496.3</sku>
<startprice>18.90</startprice>
</inventorystatus>
</ReviseInventoryStatusRequest>
</BulkDataExchangeRequests>

Related

Xentral APIs empty address issue

I'm trying to create an order & an address on Xentral using POSTMAN service. I'm using AddresseCreate, AuftragCreate APIs. But when I tried to create an Address, it is giving 200 OK status, but an empty address is generating.
I'm hitting this URL: https://my_domain.xentral.biz/index.php?module=api&action=AdresseCreate&hash=**********&api_id=1
Request Body ->>
<?xml version="1.0" encoding="UTF-8"?>
<request>
<status>
<function>AdresseCreate</function>
</status>
<xml>
<name>somename</name>
<land>USA</land>
<strasse>new york 5</strasse>
<hausnummer>49</hausnummer>
<typ>co</typ>
<sprache>english</sprache>
<plz>22041</plz>
<ort>new york</ort>
<telefon>0821123456789</telefon>
<telefax>0821123456790</telefax>
<email>somename#name.com</email>
<projekt>SHOPIFY.USA</projekt>
<anrede>firma</anrede>
<firma>company</firma>
<vorname>LB</vorname>
<kundennummer>NEW</kundennummer>
<lieferantennummer>NEW</lieferantennummer>
</xml>
</request>
Response Body -->
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status>
<action>AdresseCreate</action>
<message>OK</message>
<messageCode>1</messageCode>
</status>
<xml>
<id>5487</id>
<kundennummer></kundennummer>
</xml>
</response>
Can Anyone tell me what I'm doing wrong? Or is this some fault from Xentral's side?

Why my ariba cannot parse my response api?

My ariba network cannot parse my document cXML response. At ariba screen i have this response
<?xml version="1.0" encoding="UTF-8"?>
<cXML payloadID="1501467044460-2947794417638298020#216.109.111.19" timeStamp="2017-07-30T19:10:44-07:00">
<Response>
<Status code="200" text="OK" />
<PunchOutSetupResponse>
<StartPage>
<URL>test.ariba.com</URL>
</StartPage>
</PunchOutSetupResponse>
</Response>
</cXML>
However I still get this message from Ariba:
Couldn't parse document
Can anyone support me with this.
This is the document we're using and working correctly
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML timestamp="<%= #timestamp %>" payloadID="<%= #payload_id %>">
<Response>
<Status code="200" text="success"></Status>
<PunchOutSetupResponse>
<StartPage>
<URL><%= #start_url %></URL>
</StartPage>
</PunchOutSetupResponse>
</Response>
</cXML>
The start_url must be a valid URL like http://test.mysite.com/xxxxx
could you check if there is language dependency. lang="en-US"

eBay Orders Buyer Paid

I have an order where the buyer paid the shipping to eBay, however, it's not on the order. It's international shipping and the buyer paid it.
You will see the shipping service cost is $26.15, however, the shipping and handling is $0 in the image. Am I reading the wrong field for shipping?
Request
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<RequesterCredentials xmlns="urn:ebay:apis:eBLBaseComponents"></RequesterCredentials>
</soap:Header>
<soap:Body>
<GetOrdersRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<DetailLevel>ReturnAll</DetailLevel>
<MessageID>9682099a-9dbd-45b0-a2bb-c9caa4bb42ea</MessageID>
<Version>779</Version>
<OrderIDArray>
<OrderID>161926872948-1351674703006</OrderID>
</OrderIDArray>
</GetOrdersRequest>
</soap:Body>
</soap:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<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>2016-01-07T19:47:34.216Z</Timestamp>
<Ack>Success</Ack>
<CorrelationID>c310b4b7-b81b-4c9b-ba91-0a434feabf06</CorrelationID>
<Version>949</Version>
<Build>E949_CORE_APIXO_17770993_R1</Build>
<PaginationResult>
<TotalNumberOfPages>1</TotalNumberOfPages>
<TotalNumberOfEntries>1</TotalNumberOfEntries>
</PaginationResult>
<HasMoreOrders>false</HasMoreOrders>
<OrderArray>
<Order>
<OrderID>161926872948-1351674703006</OrderID>
<OrderStatus>Completed</OrderStatus>
<AdjustmentAmount currencyID="USD">0.0</AdjustmentAmount>
<AmountPaid currencyID="USD">56.1</AmountPaid>
<AmountSaved currencyID="USD">0.0</AmountSaved>
<CheckoutStatus>
<eBayPaymentStatus>NoPaymentFailure</eBayPaymentStatus>
<LastModifiedTime>2016-01-07T19:28:25.000Z</LastModifiedTime>
<PaymentMethod>PayPal</PaymentMethod>
<Status>Complete</Status>
<IntegratedMerchantCreditCardEnabled>false</IntegratedMerchantCreditCardEnabled>
</CheckoutStatus>
<ShippingDetails>
<SalesTax>
<SalesTaxPercent>0.0</SalesTaxPercent>
<SalesTaxState></SalesTaxState>
<ShippingIncludedInTax>false</ShippingIncludedInTax>
<SalesTaxAmount currencyID="USD">0.0</SalesTaxAmount>
</SalesTax>
<ShippingServiceOptions>
<ShippingService>ShippingMethodExpress</ShippingService>
<ShippingServicePriority>1</ShippingServicePriority>
<ExpeditedService>false</ExpeditedService>
<ShippingTimeMin>1</ShippingTimeMin>
<ShippingTimeMax>4</ShippingTimeMax>
</ShippingServiceOptions>
<InternationalShippingServiceOption>
<ShippingService>InternationalPriorityShipping</ShippingService>
<ShippingServicePriority>1</ShippingServicePriority>
</InternationalShippingServiceOption>
<SellingManagerSalesRecordNumber>74748</SellingManagerSalesRecordNumber>
<TaxTable>
<TaxJurisdiction>
<SalesTaxPercent>8.25</SalesTaxPercent>
<ShippingIncludedInTax>true</ShippingIncludedInTax>
</TaxJurisdiction>
</TaxTable>
<GetItFast>false</GetItFast>
</ShippingDetails>
<CreatedTime>2016-01-04T18:42:01.000Z</CreatedTime>
<PaymentMethods>PayPal</PaymentMethods>
<SellerEmail>Invalid Request</SellerEmail>
<ShippingAddress>
<Name></Name>
<Street1></Street1>
<Street2></Street2>
<CityName></CityName>
<StateOrProvince></StateOrProvince>
<Country>IL</Country>
<CountryName></CountryName>
<Phone></Phone>
<PostalCode>55900</PostalCode>
<ExternalAddressID></ExternalAddressID>
</ShippingAddress>
<ShippingServiceSelected>
<ShippingService>InternationalPriorityShipping</ShippingService>
<ShippingServiceCost currencyID="USD">26.15</ShippingServiceCost>
</ShippingServiceSelected>
<Subtotal currencyID="USD">29.95</Subtotal>
<Total currencyID="USD">56.1</Total>
<ExternalTransaction>
<ExternalTransactionID>XX</ExternalTransactionID>
<ExternalTransactionTime>2016-01-04T18:42:00.000Z</ExternalTransactionTime>
<FeeOrCreditAmount currencyID="USD">1.26</FeeOrCreditAmount>
<PaymentOrRefundAmount currencyID="USD">56.1</PaymentOrRefundAmount>
</ExternalTransaction>
<TransactionArray>
<Transaction>
<Buyer>
<Email>Invalid Request</Email>
<UserFirstName></UserFirstName>
<UserLastName></UserLastName>
</Buyer>
<ShippingDetails>
<CalculatedShippingRate>
<OriginatingPostalCode>63126</OriginatingPostalCode>
<PackageDepth measurementSystem="English" unit="inches">7</PackageDepth>
<PackageLength measurementSystem="English" unit="inches">11</PackageLength>
<PackageWidth measurementSystem="English" unit="inches">1</PackageWidth>
<PackagingHandlingCosts currencyID="USD">0.0</PackagingHandlingCosts>
<ShippingIrregular>false</ShippingIrregular>
<ShippingPackage>PackageThickEnvelope</ShippingPackage>
<WeightMajor measurementSystem="English" unit="lbs">0</WeightMajor>
<WeightMinor measurementSystem="English" unit="oz">3</WeightMinor>
</CalculatedShippingRate>
<SellingManagerSalesRecordNumber>74748</SellingManagerSalesRecordNumber>
</ShippingDetails>
<CreatedDate>2016-01-04T18:42:01.000Z</CreatedDate>
<Item>
<ApplicationData>XX</ApplicationData>
<ItemID>XX</ItemID>
<Site>US</Site>
<Title>Becca Shimmering Skin Perfector - Opal (1.7oz/50ml)....</Title>
<SKU>BECSHIOPA</SKU>
<ConditionID>1000</ConditionID>
<ConditionDisplayName>New</ConditionDisplayName>
</Item>
<QuantityPurchased>1</QuantityPurchased>
<Status>
<PaymentHoldStatus>None</PaymentHoldStatus>
</Status>
<TransactionID>1351674703006</TransactionID>
<TransactionPrice currencyID="USD">29.95</TransactionPrice>
<TransactionSiteID>US</TransactionSiteID>
<Platform>eBay</Platform>
<Taxes>
<TotalTaxAmount currencyID="USD">0.0</TotalTaxAmount>
<TaxDetails>
<Imposition>SalesTax</Imposition>
<TaxDescription>SalesTax</TaxDescription>
<TaxAmount currencyID="USD">0.0</TaxAmount>
<TaxOnSubtotalAmount currencyID="USD">0.0</TaxOnSubtotalAmount>
<TaxOnShippingAmount currencyID="USD">0.0</TaxOnShippingAmount>
<TaxOnHandlingAmount currencyID="USD">0.0</TaxOnHandlingAmount>
</TaxDetails>
<TaxDetails>
<Imposition>WasteRecyclingFee</Imposition>
<TaxDescription>ElectronicWasteRecyclingFee</TaxDescription>
<TaxAmount currencyID="USD">0.0</TaxAmount>
</TaxDetails>
</Taxes>
<ActualShippingCost currencyID="USD">26.15</ActualShippingCost>
<ActualHandlingCost currencyID="USD">0.0</ActualHandlingCost>
<OrderLineItemID>161926872948-1351674703006</OrderLineItemID>
</Transaction>
</TransactionArray>
<PaidTime>2016-01-04T18:42:01.000Z</PaidTime>
<ShippedTime>2016-01-05T18:04:57.000Z</ShippedTime>
<IntegratedMerchantCreditCardEnabled>false</IntegratedMerchantCreditCardEnabled>
<EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6AEloWlDpKLpA6dj6x9nY+seQ==</EIASToken>
<PaymentHoldStatus>None</PaymentHoldStatus>
<MonetaryDetails>
<Payments>
<Payment>
<PaymentStatus>Succeeded</PaymentStatus>
<Payer type="eBayUser">XX</Payer>
<Payee type="eBayPartner">XX</Payee>
<PaymentTime>2016-01-04T18:42:00.000Z</PaymentTime>
<PaymentAmount currencyID="USD">26.15</PaymentAmount>
</Payment>
<Payment>
<PaymentStatus>Succeeded</PaymentStatus>
<Payer type="eBayUser">XX</Payer>
<Payee type="eBayUser">XX</Payee>
<PaymentTime>2016-01-04T18:42:00.000Z</PaymentTime>
<PaymentAmount currencyID="USD">29.95</PaymentAmount>
<ReferenceID type="ExternalTransactionID">XX</ReferenceID>
<FeeOrCreditAmount currencyID="USD">1.26</FeeOrCreditAmount>
</Payment>
</Payments>
</MonetaryDetails>
</Order>
</OrderArray>
<OrdersPerPage>100</OrdersPerPage>
<PageNumber>1</PageNumber>
<ReturnedOrderCountActual>1</ReturnedOrderCountActual>
</GetOrdersResponse>
</soapenv:Body>
</soapenv:Envelope>
Because the order is because is using Global Shipping it will show 0.00.
Please check the API documentation on the getordersapi or getmyebayselling api.
Take a look at the tag
<IsMultiLegShipping> boolean </IsMultiLegShipping>
You can exclude these pass through payments if it is true.
In order to see <IsMultiLegShipping> you will need to pass this with your request:
<DetailLevel>ReturnAll</DetailLevel>
DetailLevel: ReturnAll. Also returned if DetailLevel is not provided on input.

eBay GetOrders Unpaid Orders

I am trying to pull a list of orders from eBay where the paid date is null. Here is my current query:
http://developer.ebay.com/devzone/xml/docs/reference/ebay/getorders.html
Can eBay return orders that are unpaid? Do I need to add a parameter?
<?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>XX</eBayAuthToken>
</RequesterCredentials>
</soap:Header>
<soap:Body>
<GetOrdersRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<MessageID>XX</MessageID>
<Version>779</Version>
<CreateTimeFrom>2015-08-05T00:00:00</CreateTimeFrom>
<CreateTimeTo>2015-08-05T23:59:00</CreateTimeTo>
<OrderRole>Seller</OrderRole>
<OrderStatus>All</OrderStatus>
<Pagination>
<EntriesPerPage>50</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
</GetOrdersRequest>
</soap:Body>
</soap:Envelope>
I'm not familiar with the GetOrders request, but you can certainly get a list of Crimothy's who have not paid using the GetMyeBaySelling API and setting 'AwaitingPayment' as the OrderStatusFilter.
http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetMyeBaySelling.html
This simple request should give you what you're after:
<?xml version="1.0" encoding="utf-8"?>
<GetMyeBaySellingRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>... </eBayAuthToken>
</RequesterCredentials>
<SoldList>
<Include>true</Include>
<Pagination><EntriesPerPage>100</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
<OrderStatusFilter>AwaitingPayment</OrderStatusFilter>
</SoldList><DetailLevel>ReturnAll</DetailLevel>
<Version>935</Version>
<WarningLevel>High</WarningLevel>
</GetMyeBaySellingRequest>
Try and pass in DetailLevel just before you close out </GetOrdersRequest>
<DetailLevel>ReturnAll</DetailLevel>

Sonos API Browse container two-line displayy

For reason the two-line display of containers in browse are not working, via search it works perfectly. Can someone please review below output?
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getMetadataResponse xmlns="http://www.sonos.com/Services/1.1">
<getMetadataResult>
<index>0</index>
<count>2</count>
<total>2</total>
<mediaCollection>
<canPlay>true</canPlay>
<id>album-1200</id>
<title>En de wind stilde</title>
<itemType>album</itemType>
<artistId>artist-5716</artistId>
<artist>Ds. D.W. Tuinier</artist>
<albumArtURI>http://***/albumart.php?album_id=1200&size=200</albumArtURI>
</mediaCollection>
<mediaCollection>
<canPlay>true</canPlay>
<id>album-1163</id>
<title>De Tas</title>
<itemType>album</itemType>
<artistId>artist-5619</artistId>
<artist>Ben de Raaf</artist>
<albumArtURI>http://***/albumart.php?album_id=1163&size=200</albumArtURI>
</mediaCollection>
</getMetadataResult>
</getMetadataResponse>
</soap:Body>
</soap:Envelope>
The source of the problem was located in the parent container, the itemType of the parent container should be AlbumList instead of a container.
Many thanks Sonos Developer Advocacy.