eBay API additem returns error when creating Buy It Now listing - ebay-api

I am using the following code to list items in eBay through their API. However, the code below only creates auction type listings.
I was just wondering if anyone knows how I can create buy it now items/listings instead?
Thank You
This is my XML request.
<?xml version="1.0" encoding="utf-8" ?>
<AddItemRequest
xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>AgAAAA</eBayAuthToken>
</RequesterCredentials>
<DetailLevel>ReturnAll</DetailLevel>
<ErrorLanguage>en_US</ErrorLanguage>
<Version>949</Version>
<Item>
<Site>US</Site>
<PrimaryCategory>
<CategoryID>45114</CategoryID>
</PrimaryCategory>
<ItemSpecifics>
<NameValueList>
<Name>Brand</Name>
<Value>Unbranded</Value>
</NameValueList>
<NameValueList>
<Name>MPN</Name>
<Value>Does Not Apply</Value>
</NameValueList>
<NameValueList>
<Name>Model</Name>
<Value>mp02</Value>
</NameValueList>
<NameValueList>
<Name>Country/Region of Manufacture</Name>
<Value>United States</Value>
</NameValueList>
</ItemSpecifics>
<ConditionID>1000</ConditionID>
<BuyItNowPrice currencyID="USD">30.00</BuyItNowPrice>
<Country>US</Country>
<Currency>USD</Currency>
<DispatchTimeMax>3</DispatchTimeMax>
<ListingDuration>Days_7</ListingDuration>
<ListingType>Auction</ListingType>
<LiveAuction>TRUE</LiveAuction>
<LotSize>11</LotSize>
<Location>san jose, CA</Location>
<PaymentMethods>PayPal</PaymentMethods>
<PayPalEmailAddress>usasiva#gmail.com</PayPalEmailAddress>
<PictureDetails>
<PictureURL>http://www.qbforms.com/api/shopfunc/Penguins.jpg</PictureURL>
</PictureDetails>
<PostalCode>95125</PostalCode>
<Quantity>1</Quantity>
<RegionID>0</RegionID>
<StartPrice>20.00</StartPrice>
<ShippingTermsInDescription>True</ShippingTermsInDescription>
<Title>tak_test2_31</Title>
<Description>itemXYZzx</Description>
<ReturnPolicy>
<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
<RefundOption>MoneyBack</RefundOption>
<ReturnsWithinOption>Days_30</ReturnsWithinOption>
</ReturnPolicy>
<ShippingDetails>
<ShippingType>Flat</ShippingType>
<ShippingServiceOptions>
<ShippingService>USPSMedia</ShippingService>
<ShippingServiceCost>2.0</ShippingServiceCost>
</ShippingServiceOptions>
</ShippingDetails>
</Item>
</AddItemRequest>

If I understand correctly, and you are trying to create a Buy it Now listing instead of an auction listing, then it's simple: you just need to use a different API call AddFixedPriceItem.
Here is the API reference with all the details.

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 api BulkDataExchangeRequests & ReviseInventoryStatus : Missing Required Container

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>

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.

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.