Documentation Getting started with the API
Version: 1.7 Date: 07/07/2015
Documentation – Getting started with the API
Volo Commerce Ltd Page 2
Contents
Introduction ........................................................................................................... 3
How to find the Web Service Definition Language (WSDL) ........................................................................3
Calling the web service .............................................................................................................................5
Pagination .................................................................................................................................................5
API Methods .......................................................................................................... 7
addOrderHistories ....................................................................................................................................8
getBatchStatus ........................................................................................................................................10
getFullProductsByFields ..........................................................................................................................12
getOrderHistories ...................................................................................................................................15
getOrders................................................................................................................................................17
getPartialProducts ..................................................................................................................................23
getProducts.............................................................................................................................................26
getProductStockLevels ............................................................................................................................29
importProducts .......................................................................................................................................32
updateOrders .........................................................................................................................................35
updateOrdersAsync ................................................................................................................................37
updateProducts ......................................................................................................................................39
updateProductsAsync .............................................................................................................................41
Document Control .............................................................................................. 43
Change History .......................................................................................................................................43
Documentation – Getting started with the API
Volo Commerce Ltd Page 3
Introduction
The purpose of this document is to detail how third party developers can access the Volo API web service and to create ‘client side’ code with which the API can be integrated into the Volo system. It describes the execution of common operations for receiving or sending data that represent information about the trader’s products or orders.
How to find the Web Service Definition Language (WSDL)
To access the WSDL document of the web service, enter the following URL in your web browser - https://{customersubdomain}.esellerpro.com/eSellerProAPI/. (NOTE: your Volo Implementer will provide the customer with their subdomain). This takes the customer to the Volo API Login screen:
Enter username and password (these credentials will need to be created by your implementer). This will bring up the Volo API screen:
Documentation – Getting started with the API
Volo Commerce Ltd Page 4
To see the WSDL, click on this link in your browser:
Clicking on this link will display the WSDL document:
Documentation – Getting started with the API
Volo Commerce Ltd Page 5
Calling the web service
Having created the ‘client side’ code, the following points should be noted when making a web service call:
• Every call is authenticated and authorised using the username and password. Therefore, the username and password MUST be sent as part of the http parameters when making the web service call (Basic Authentication)
• Only secure communication (HTTPS) is supported. If the user makes a call within http, then an error message will be thrown – “Only secure communication is allowed”.
Pagination
For all “get” calls, pagination results will be returned. The pagination request looks like this:
<pagination> <EntriesPerPage>100</EntriesPerPage> <PageNumber>1</PageNumber> </pagination>
Tag Description EntriesPerPage The number of rows per page. If not provided, then 5000
entries per page will be considered. PageNumber The page number. If not provided, then the first page will be
returned. If the first page is requested, or if the pagination is not provided in the request, then the PaginationResult will be returned as part of the response. The PaginationResult looks like this:
<PaginationResult> <TotalNumberOfEntries>107928</TotalNumberOfEntries> <TotalNumberOfPages>22</TotalNumberOfPages> </PaginationResult>
Documentation – Getting started with the API
Volo Commerce Ltd Page 6
Tag Description
TotalNumberOfEntries The total number of entries in the response.
TotalNumberOfPages The total number of pages in the response.
Once the pagination result is returned, then subsequent calls will be made using the TotalNumberOfPages value in this response.
Documentation – Getting started with the API
Volo Commerce Ltd Page 7
API Methods
Volo provides a number of API methods to allow you to update or capture data held within the application. Below, you will find the methods relating to the type of data being parsed.
• getFullProductsByField • getPartialProducts • getProducts • getProductStockLevels • updateProducts • importProducts • getOrderHistories • getOrders • addOrderHistories • updateOrders • updateProductsAsync • updateOrdersAsync • getBatchStatus
Documentation – Getting started with the API
Volo Commerce Ltd Page 8
addOrderHistories
This method adds a history entry (or entries) to the sales order (or orders). Currently only the NOTE type history entries are added to the sales orders. Here is an example request:
Tag Description ESPOrderNumber The eSellerPro sales order number. HistoryEntry Description
Description of the History entry text.
Type The History Type. There are many types available; currently, only NOTE type can be added through the API.
UserName The username of the system (database username). TimeStamp The date and time.
Example
<api:addOrderHistories> <arg0> <!--Zero or more repetitions: --> <OrderHistory> <ESPOrderNumber>3</ESPOrderNumber> <!--Zero or more repetitions:--> <HistoryEntry Description=" " Type="NOTE" UserName="userName" TimeStamp="2014-06-09T16:15:04+01:00"/> </OrderHistory> </arg0> </api:addOrderHistories>
Documentation – Getting started with the API
Volo Commerce Ltd Page 9
Having added the history entry to the order successfully, the following response will be returned:
Tag Description
responseMessage This will indicate the number of orders that were updated successfully.
responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying
message will give details
timestamp The date and time that the order history entry was updated.
Documentation – Getting started with the API
Volo Commerce Ltd Page 10
getBatchStatus
This method returns the batch status for a given batch ID. It’s particularly of use in relation to getOrdersAsync and getProductsAsync. Here is an example request:
The reference number within the <arg0> tags is the Batch ID. On making this call request, the following responses will be given:
Tag Description BatchId The requested batch ID. Status The status of the batch. There are two possible values:
• SUBMITTED • PROCESSED
UpdateType The update type. There are two possible values: • UPDATE_PRODUCTS
• UPDATE_ORDERS
Example
<api:getBatchStatus> <arg0>B23CC7D8-4233-4CAF-806B-991B8104284F</arg0>
</api:getBatchStatus>
Example
<return> <BatchId>B23CC7D8-4233-4CAF-806B-991B8104284F</BatchId> <Status>SUBMITTED</Status> <UpdateType>UPDATE_PRODUCTS</UpdateType>
</return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 11
The following response will be returned:
This contains extra UpdateResponseEntry detail which confirms whether or not the processing was successful: Tag Description
UpdateResponseEntry This holds the result of the updated product/order. ID The identifier of the product (stock number) or order
(order ID).
Status This extra Status is the update status of the entry (the other is batch status – see earlier). There are two possible values:
• SUCCESS
• ERROR
Message If the update fails, and the Status = ERROR, the reason will be sent in this attribute. If the Status = SUCCESS, then no message will be given.
Example
<return> <BatchId>B23CC7D8-4233-4CAF-806B-991B8104284F</BatchId> <UpdateResponseEntries> <UpdateResponseEntry ID="TestBeauty" Status="SUCCESS"/> </UpdateResponseEntries> <Status>PROCESSED</Status> <UpdateType>UPDATE_PRODUCTS</UpdateType> </return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 12
getFullProductsByFields
This call will give the requested product fields in the same way as the custom export, as performed within the Volo system. Here is an example request:
Tag Description
SearchCriteria These 8 fields also appear in getProducts, getPartialProducts and getProductStockLevels:
excludeListingSKUs true – excludes Listing SKUs from the results false – does not exclude Listing SKUs from the results
Example
<api:getFullProductsByFields> <arg0> <SearchCriteria> <excludeListingSKUs>false</excludeListingSKUs>
<excludeProductsWithOutStockNumber>true</excludeProductsWithOutStockNumber>
<includeDiscontinuedItems>true</includeDiscontinuedItems> <listedOnAmazon>true</listedOnAmazon> <listedOnEbay>true</listedOnEbay> <listedOnPlay>true</listedOnPlay> <listedOnWebsite>true</listedOnWebsite> <pagination> <EntriesPerPage>3</EntriesPerPage> <PageNumber>3</PageNumber> </pagination> <stockNumber></stockNumber> </SearchCriteria> <OutPutFields> <OutPutField Name="turbine corripuit" Type="CUSTOM_FIELD"/> </OutPutFields> </arg0> </api:getFullProductsByFields>
Documentation – Getting started with the API
Volo Commerce Ltd Page 13
excludeProductsWithOutStockNumber true – excludes products without stock numbers from the results false – does not exclude products without stock numbers from the results
includeDiscontinuedItems true – includes discontinued items in the results false – does not include discontinued items in the results
listedOnAmazon true – includes products listed on Amazonfalse – does not include products listed on Amazon
listedOnEbay true – includes products listed on eBay false – does not include products listed on
eBay
listedOnPlay true – includes products listed on Play false – does not include products listed on Play
listedOnWebsite true – includes products listed on the website false – does not include products listed on the website
stockNumber The stock number of the product.
OutPutFields The requested field, details of which are in the following fields:
Name The name of the field. The available fields can be found in the eSellerPro Custom Import layout.
Type The type of field. There are three possible values:
• IMAGE_FIELD • CUSTOM_FIELD • MANDATORY
Documentation – Getting started with the API
Volo Commerce Ltd Page 14
Once this call has been processed, the following response will be returned:
Tag Description
responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful
• ERROR - if this status shows, an accompanying message will give details
timestamp The date and time of the response.
OutPutFields These fields could be any of the fields in the Import/Export layout. Each field returned shows its value, e.g.:
OutPutField Name="StockNumber"
The value returned in the “Stock Number” field.
OutPutField Name="RRP"
The value returned in the “RRP” field.
OutPutField Name="CostEach"
The value returned in the “CostEach” field.
Example
<return> <responseStatus>OK</responseStatus> <timestamp>2013-04-26T11:56:32.381+01:00</timestamp> <fullProductByFieldResult> <FullProductByField> <OutPutFields> <OutPutField Name="StockNumber">1 rally test</OutPutField> <OutPutField Name="RRP">0.0</OutPutField> <OutPutField Name="CostEach">4.0</OutPutField> </OutPutFields> </FullProductByField> </fullProductByFieldResult>
</return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 15
getOrderHistories
This method returns the order histories for the given Volo order numbers. Here is an example request:
Tag Description ESPOrderNumber The eSellerPro sales order number.
Having processed the call request successfully, the following response will be returned:
Example
<api:getOrderHistories> <arg0> <OrderHistory> <ESPOrderNumber>3842</ESPOrderNumber> </OrderHistory> <OrderHistory> <ESPOrderNumber>3852</ESPOrderNumber> </OrderHistory> </arg0>
</api:getOrderHistories>
Example
<ns2:getOrderHistoriesResponse xmlns:ns2="http://api.esellerpro.sandbourne.com"> <return>
<responseStatus>OK</responseStatus> <timestamp>2013-04-26T10:16:29.267+01:00</timestamp> <OrderHistories> <OrderHistory> <ESPOrderNumber>4095</ESPOrderNumber> <HistoryEntry Description="Manual Order Added" Type="ORDER_IN" UserName="support.al" TimeStamp="2013-04-17T12:47:56+01:00"/> <HistoryEntry Description="Added: '170413b' - 2 @ £ 1.50" Type="NOTE" UserName="support.al" TimeStamp="2013-04-17T12:48:24+01:00"/> </OrderHistory> </OrderHistories>
</return> </ns2:getOrderHistoriesResponse>
Documentation – Getting started with the API
Volo Commerce Ltd Page 16
Tag Description responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying message
will give details
timestamp The date and time of the response.
OrderHistory The details of each order history returned, in the following fields:
ESPOrderNumber The eSellerPro sales order number. HistoryEntry Description
Description of the History entry text.
Type The History Type. There are many types available; currently, only NOTE type can be added through the API.
UserName The username of the system (database username). TimeStamp The date and time that the order history entry was created.
Documentation – Getting started with the API
Volo Commerce Ltd Page 17
getOrders
This call returns the sales order(s) information for a given search criteria. Here is an example request:
Tag Description
startDate The date from which orders need to be retrieved.
endDate The date to which orders need to be retrieved.
newOrdersOnly true – only brings in new orders. false – brings in older orders too.
orderSource The source from which the sales order has been raised. includeCredits true – includes order credits in the response.
false – excludes order credits from the response. This tag is optional and defaults to false.
Here is an example response from this call (goes over the page):
Example
<arg0> <startDate>2018-11-01T05:36:46+00:00</startDate> <endDate>2008-09-29T02:49:45</endDate> <newOrdersOnly>true</newOrdersOnly> <orderSource>quae divum incedo</orderSource> <pagination> <EntriesPerPage>3</EntriesPerPage> <PageNumber>3</PageNumber> </pagination> <paidOnly>true</paidOnly> <includeCredits>true</includeCredits>
</arg0>
Example
<responseStatus>OK</responseStatus> <timestamp>2013-04-30T17:09:00.934+01:00</timestamp> <OutgoingOrders> <Order> <OrderType>Order</OrderType> <ESPOrderNo>1001</ESPOrderNo> <InvoiceNumber>41221</InvoiceNumber> <Date>2011-08-05+01:00</Date> <CustomerCompany/>
Documentation – Getting started with the API
Volo Commerce Ltd Page 18
<CustomerName>Robert 28648 2</CustomerName> <CustomerAddress1>test</CustomerAddress1> <CustomerAddress2>test</CustomerAddress2> <CustomerCity>test</CustomerCity> <CustomerCounty>test</CustomerCounty> <CustomerPostcode>test</CustomerPostcode> <CustomerCountry>UK</CustomerCountry> <CustomerEmail/> <DeliveryCompany/> <DeliveryName>Robert 28648 2</DeliveryName> <DeliveryAddress1>test</DeliveryAddress1> <DeliveryAddress2>test</DeliveryAddress2> <DeliveryCity>test</DeliveryCity> <DeliveryCounty>test</DeliveryCounty> <DeliveryPostcode>test</DeliveryPostcode> <DeliveryCountry>UK</DeliveryCountry> <DeliveryTelephone>909090</DeliveryTelephone> <ShippingCost>0.20</ShippingCost> <Insurance>0</Insurance> <Discount>0</Discount> <OrderTotal>0.20</OrderTotal> <PaymentComplete>true</PaymentComplete> <Payments> <Payment> <PaymentMethod>PayPal</PaymentMethod> <PaymentReference/> <PayPalProtectionEligibility>false</PayPalProtectionEligibility> </Payment> </Payments> <CurrencyCode>GBP</CurrencyCode> <SellerUsername>testuser_esptestuk1</SellerUsername> <OrderItems> <Item> <WebProductID>50</WebProductID> <StockNumber>50</StockNumber> <ItemNumber>0</ItemNumber> <ProductTitle>Robert's test item</ProductTitle> <Quantity>5</Quantity> <UnitCost>0</UnitCost> <TaxRate>20</TaxRate> <UnitCostIncludesTax>Y</UnitCostIncludesTax> <Weight>0</Weight> </Item> </OrderItems> <BuyerId/>
Documentation – Getting started with the API
Volo Commerce Ltd Page 19
Tag Description responseStatus This gives the status of the response. Possible
values are: • OK - shows if the response has been
successful • ERROR - if this status shows, an
accompanying message will give details
timestamp The date and time of the response. OrderType The order type. Possible values are:
• Order • Credit
ESPOrderNo The eSellerPro sales order number. InvoiceNumber The number of the invoice for the sales order.
<OrderCredits> <OrderCredit> <CreditNoteNumber>9000004</CreditNoteNumber> <CreditNoteDate>2015-06-29T00:00:00.000+01:00</CreditNoteDate> <ShippingRefunded>0.0</ShippingRefunded> <InsuranceRefunded>0.0</InsuranceRefunded> <DiscountRefunded>0.0</DiscountRefunded> <UnitPrice>150.0</UnitPrice> <CancelReason>API test</CancelReason> <StockNumber>01062015-2</StockNumber> <QuantityRefunded>3</QuantityRefunded> </OrderCredit> <OrderCredit> <CreditNoteNumber>9000004</CreditNoteNumber> <CreditNoteDate>2015-06-29T00:00:00.000+01:00</CreditNoteDate> <ShippingRefunded>0.0</ShippingRefunded> <InsuranceRefunded>0.0</InsuranceRefunded> <DiscountRefunded>0.0</DiscountRefunded> <UnitPrice>100.0</UnitPrice> <CancelReason>API test</CancelReason> <StockNumber>01062015-3</StockNumber> <QuantityRefunded>1</QuantityRefunded> </OrderCredit> </OrderCredits> </Order> </OutgoingOrders>
Documentation – Getting started with the API
Volo Commerce Ltd Page 20
Date The date of the sales order. CustomerCompany Billing Details: Customer Company name
CustomerName Billing Details: Name. CustomerAddress1 Billing Details: Address Line 1. CustomerAddress2 Billing Details: Address Line 2. CustomerCity Billing Details: City. CustomerCounty Billing Details: Country. CustomerPostcode Billing Details: Postcode.
CustomerCountry Billing Details: country.
CustomerEmail Billing Details: email address.
DeliveryCompany Shipping Details: Customer Company name
DeliveryName Shipping Details: Name.
DeliveryAddress1 Shipping Details: Address Line 1.
DeliveryAddress2 Shipping Details: Address Line 2.
DeliveryCity Shipping Details: City.
DeliveryCounty Shipping Details: County.
DeliveryPostcode Shipping Details: Postcode.
DeliveryCountry Shipping Details: Country.
DeliveryTelephone Shipping Details: Telephone number. ShippingCost Shipping cost for the order.
Insurance Any insurance amount.
Discount Any discount amount (numerical value).
OrderTotal Total value of the order.
PaymentComplete true – payment has been completed. false – payment has not been completed.
Documentation – Getting started with the API
Volo Commerce Ltd Page 21
PaymentMethod The method of payment for the order. Possible values are:
• ABE
• ABE Refund
• Amazon • Amazon refund • Bank Transfer
• Cash
• Cheque
• Credit • Credit Card
• Discount
• External
• NOCHEX
• On Account
• Overpaid
• PayPal • PayPal Refund
• PixPlace
• Play.COM • Play.COM Refund • Postal Order • Price Minister
• Tesco
PaymentReference The payment reference for the order.
PayPalProtectionEligibility true – eligible for protection false – not eligible for protection
CurrencyCode The 3 digit ISO currency code for the order.
SellerUsername If eBay, this is the SellerID. If website, this is the domain ID.
WebProductID The website product ID.
StockNumber The stock number of the item.
ItemNumber The eBay item number.
Documentation – Getting started with the API
Volo Commerce Ltd Page 22
ProductTitle The Title of the item. Quantity The quantity of the item in the order.
UnitCost Item Price
TaxRate The percentage tax rate, shown numerically (e.g. 20)
UnitCostIncludesTax Whether or not Tax is included in the cost per item. Possible values are:
• Y – tax is included. • N – tax is not included.
Weight The weight of the item.
BuyerId The eBay buyer ID.
CreditNoteNumber The reference number for credit note
CreditNoteDate The date when credit was processed
ShippingRefunded The Shipping Cost that was refunded
InsuranceRefunded The Insurance Cost that was refunded
DiscountRefunded The Discount that was refunded
UnitPrice Amount refunded per item CancelReason Reason for cancellation or refund
StockNumber The stock number of the item
QuantityRefunded The number of items refunded
Documentation – Getting started with the API
Volo Commerce Ltd Page 23
getPartialProducts
This method returns the basic product inventory information such as Cost Price and other prices, and stock level. Here is an example request:
Tag Description
excludeListingSKUs true – excludes Listing SKUs from the results false – does not exclude Listing SKUs from the results
excludeProductsWithOutStockNumber true – excludes products without stock numbers from the results false – does not exclude products without stock numbers from the results
includeDiscontinuedItems true – includes discontinued items in the results false – does not include discontinued items in the results
listedOnAmazon true – includes products listed on Amazon false – does not include products listed on Amazon
Example
<arg0> <excludeListingSKUs>false</excludeListingSKUs> <excludeProductsWithOutStockNumber>true</excludeProductsWithOutStockNumber> <includeDiscontinuedItems>true</includeDiscontinuedItems> <listedOnAmazon>true</listedOnAmazon> <listedOnEbay>true</listedOnEbay> <listedOnPlay>true</listedOnPlay> <listedOnWebsite>true</listedOnWebsite>
<pagination> <EntriesPerPage>3</EntriesPerPage>
<PageNumber>3</PageNumber> </pagination> <stockNumber>temperat iras</stockNumber> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 24
listedOnEbay true – includes products listed on eBay false – does not include products listed on eBay
listedOnPlay true – includes products listed on Play false – does not include products listed on Play
listedOnWebsite true – includes products listed on the website
false – does not include products listed on the website
stockNumber The stock number of the product.
After submitting the call request, the following response will be returned:
Example
<responseStatus>OK</responseStatus> <timestamp>2013-05-01T09:48:32.643+01:00</timestamp>
<PaginationResult> <TotalNumberOfEntries>81146</TotalNumberOfEntries> <TotalNumberOfPages>17</TotalNumberOfPages> </PaginationResult> <PartialProducts> <PartialProduct>
<StockNumber>1 rally test</StockNumber> <prices> <Price>
<Name>RRP</Name> <Value>0</Value>
</Price> <Price>
<Name>EBAY_BUY_NOW_PRICE</Name> <Value>60</Value>
</Price> <Price>
<Name>EBAY_INVENTORY_PRICE</Name> <Value>5</Value>
</Price> </prices> <StockLevel>72</StockLevel> <CostPrice>4.0</CostPrice>
</PartialProduct>
Documentation – Getting started with the API
Volo Commerce Ltd Page 25
With this call, only three prices will be returned: • RRP • EBAY_BUY_NOW_PRICE • EBAY_INVENTORY_PRICE
Tag Description responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying
message will give details
timestamp The date and time of the response. StockNumber The stock number of the product. prices These 2 fields give details of each price updated:
Name The price name. there are three possible values: • RRP • EBAY_BUY_NOW_PRICE
• EBAY_INVENTORY_PRICE
Value The value brought in for each price type. StockLevel The stock level of the product.
CostPrice The Cost Price of the product.
Documentation – Getting started with the API
Volo Commerce Ltd Page 26
getProducts
This method returns the basic product information. Here is an example request:
Tag Description
excludeListingSKUs true – excludes Listing SKUs from the results false – does not exclude Listing SKUs from the results
excludeProductsWithOutStockNumber true – excludes products without stock numbers from the results false – does not exclude products without stock numbers from the results
includeDiscontinuedItems true – includes discontinued items in the results false – does not include discontinued items in the results
listedOnAmazon true – includes products listed on Amazon false – does not include products listed on Amazon
listedOnEbay true – includes products listed on eBay false – does not include products listed on eBay
Example
<arg0> <excludeListingSKUs>false</excludeListingSKUs> <excludeProductsWithOutStockNumber>true</excludeProductsWithOutStockNumber>
<includeDiscontinuedItems>true</includeDiscontinuedItems> <listedOnAmazon>true</listedOnAmazon> <listedOnEbay>true</listedOnEbay> <listedOnPlay>true</listedOnPlay> <listedOnWebsite>true</listedOnWebsite> <pagination> <EntriesPerPage>3</EntriesPerPage> <PageNumber>3</PageNumber> </pagination> <stockNumber>temperat iras</stockNumber> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 27
listedOnPlay true – includes products listed on Play false – does not include products listed on Play
listedOnWebsite true – includes products listed on the website false – does not include products listed on the website
stockNumber The stock number of the product.
After submitting the call request, the following response will be returned:
Tag Description StockNumber The stock number of the product. Title The title of the product.
Subtitle The Subtitle of the product (where present). ListingTitle The Listing title of the product. StockLevel The Stock Level of the product. RRP The RRP of the product. CostPrice The Cost Price of the product.
Example
<Product> <StockNumber>1 rally test</StockNumber> <Title>ewe (changed)</Title> <Subtitle>Test</Subtitle> <ListingTitle>Testnnf</ListingTitle> <StockLevel>72</StockLevel> <RRP>0.0</RRP> <CostPrice>4.0</CostPrice> <TaxCode>S</TaxCode> <Weight unit="g">0.0</Weight> <Width unit="mm">0.0</Width> <Height unit="mm">0.0</Height> <Depth unit="mm">0.0</Depth> <UPC/> <Publisher/> <ISBN/> <Notes/> <Supplier>Supplier1</Supplier> </Product>
Documentation – Getting started with the API
Volo Commerce Ltd Page 28
TaxCode The Tax Code of the product. Possible basic values are: • S (ie Standard) • Z (ie Zero)
Other country-specific codes may be added. Weight unit="g" The weight of the product, in grammes. Width unit="mm" The width of the product, in millimetres. Height unit="mm" The height of the product, in millimetres. Depth unit="mm" The depth of the product, in millimetres. UPC The barcode of the product.
Publisher The publisher of the product (mostly for books). ISBN The ISBN of the product (books only). Notes Any notes that are added against the product.
Supplier The supplier of the product.
Documentation – Getting started with the API
Volo Commerce Ltd Page 29
getProductStockLevels
This method returns the stock level information of the product(s). Here is an example request:
Tag Description
excludeListingSKUs true – excludes Listing SKUs from the results false – does not exclude Listing SKUs from the results
excludeProductsWithOutStockNumber true – excludes products without stock numbers from the results false – does not exclude products without stock numbers from the results
includeDiscontinuedItems true – includes discontinued items in the results false – does not include discontinued items in the results
listedOnAmazon true – includes products listed on Amazon false – does not include products listed on Amazon
Example
<arg0> <excludeListingSKUs>false</excludeListingSKUs> <excludeProductsWithOutStockNumber>true</excludeProductsWithOutStockNumber> <includeDiscontinuedItems>true</includeDiscontinuedItems> <listedOnAmazon>true</listedOnAmazon> <listedOnEbay>true</listedOnEbay> <listedOnPlay>true</listedOnPlay> <listedOnWebsite>true</listedOnWebsite>
<pagination> <EntriesPerPage>3</EntriesPerPage> <PageNumber>3</PageNumber>
</pagination> <stockNumber>temperat iras</stockNumber>
</arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 30
listedOnEbay true – includes products listed on eBay false – does not include products listed on eBay
listedOnPlay true – includes products listed on Play false – does not include products listed on Play
listedOnWebsite true – includes products listed on the website
false – does not include products listed on the website
stockNumber The stock number of the product.
After submitting the call request, the following response will be returned:
Example
<ProductStockLevels> <ProductStockLevel> <StockNumber>1 rally test</StockNumber> <OnHand>72</OnHand> <Available>59</Available> <Listed> <ChannelListedQuantity> <Channel>eBay</Channel> <Quantity>1</Quantity> </ChannelListedQuantity> <ChannelListedQuantity> <Channel>Amazon</Channel> <Quantity>0</Quantity> </ChannelListedQuantity> <ChannelListedQuantity> <Channel>Play</Channel> <Quantity>0</Quantity> </ChannelListedQuantity> <ChannelListedQuantity> <Channel>Website</Channel> <Quantity>0</Quantity> </ChannelListedQuantity>
<ChannelListedQuantity> <Channel>PixPlace</Channel> <Quantity>5</Quantity> </ChannelListedQuantity>
<ChannelListedQuantity> <Channel>PriceMinister</Channel> <Quantity>0</Quantity> </ChannelListedQuantity>
Documentation – Getting started with the API
Volo Commerce Ltd Page 31
Tag Description
StockNumber The stock number of the product. OnHand The quantity of the product which is on hand.
Available The quantity of the product which is available. ChannelListedQuantity These fields show the stock levels for each channel on
which this product is listed: Channel The channel – possible channels include:
• eBay • Amazon • Play
• Website • PixPlace • PriceMinister • Tesco
Quantity The quantity listed on that channel.
<ChannelListedQuantity> <Channel>Tesco</Channel>
<Quantity>0</Quantity> </ChannelListedQuantity>
</ProductStockLevel>
Documentation – Getting started with the API
Volo Commerce Ltd Page 32
importProducts
This method will give the requested product fields in the same way as the custom import, as performed within the eSellerPro system. It allows for any of the fields which can be imported via the GUI to be imported via XML – but note that the format of field names must be exactly as shown in the ‘Standard Field’ dropdown on the GUI. It falls into 2 sections – Layout and Import data. By default, every field in the imported layout will be updateable. There will be a limit of 1000 rows per import. Here is an example request:
Example
<arg0> <Layout> <LayoutName>TestLayout</LayoutName> <LayoutFields> <LayoutField Name="StockNumber"/> <LayoutField Name="Title"/> <LayoutField Name="Amazon1(amazon.co.uk).CSD_Department2"/> <LayoutField Name="Amazon1(amazon.co.uk).CSD_StyleName"/> </LayoutFields> <SellerCentralCategory>Apparel.</SellerCentralCategory> <SellerCentralSubCategory>Apparel</SellerCentralSubCategory> </Layout> <ImportData> <ImportRow> <ImportField Name ="StockNumber">12022014-17</ImportField> <ImportField Name= "Title">Test Title1</ImportField> <ImportField Name="Amazon1(amazon.co.uk).CSD_Department2">Shirt</ImportField> <ImportField Name="Amazon1(amazon.co.uk).CSD_StyleName">Cape</ImportField> </ImportRow> </ImportData> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 33
Tag Description
LayoutName The name of the layout to be imported.
LayoutFields The requested fields, details of which are in the following fields:
Name The name of the field. The available fields can be found in the eSellerPro Custom Import layout.
Type The type of field. There are three possible values: • IMAGE_FIELD • CUSTOM_FIELD
MANDATORY
SellerCentralCategory If the user wants to import Amazon category-specific data, this and the sub category field below are both mandatory fields. The field supports the new Amazon category format, i.e. with a dot after the value (e.g. Apparel.).Only Amazon category/sub category details entered in these two fields will be imported – all others will be ignored.
SellerCantralSubCategory As above.
ImportRow The row of data to be imported. Each row could have a number of import fields:
ImportFields Each import row contains import fields: Name The name of the import field – will correspond with
a field in the LayoutFields section, e.g. StockNumber. This is a mandatory field
Type The type of import field – only mandatory for the following types:
• IMAGE_FIELD • CUSTOM_FIELD • MANDATORY
Value The value of the import field – this is mandatory.
Documentation – Getting started with the API
Volo Commerce Ltd Page 34
Once this call request has been processed, the following response will be returned:
Tag Description
LayoutName The name of the layout which has been imported.
KeyField This will be the first LayoutField name specified in the request, and should normally be StockNumber.
TotalRecordsSent The total number of records sent in the call.
TotalRecordsInserted The total number of records inserted.
TotalRecordsUpdated The total number of records updated. TotalRecordsSkipped The total number of records skipped.
Example
<LayoutName>TestLayout</LayoutName> <KeyField>StockNumber</KeyField> <TotalRecordsSent>1</TotalRecordsSent> <TotalRecordsInserted>1</TotalRecordsInserted> <TotalRecordsUpdated>0</TotalRecordsUpdated> <TotalRecordsSkipped>0</TotalRecordsSkipped> </ImportResult>
Documentation – Getting started with the API
Volo Commerce Ltd Page 35
updateOrders Orders can be updated with this call. The example below shows the actual details that can be updated:
Tag Description
ESPOrderNo The eSP sales order number. OrderStatus The status of the order. There are four possible values:
• WAITING_FOR_DELIVERY • DELIVERED
• CANCELLED • ON_HOLD
OnHoldNotes If the OrderStatus is ON_HOLD, these are the accompanying notes.
Courier The name of the Courier. CourierService The name of the Courier service.
CourierTracking The Courier Tracking number.
After submitting the call request, the following response will be returned:
Example
<OrderUpdate> <ESPOrderNo>4094</ESPOrderNo> <OrderStatus>DELIVERED</OrderStatus> <OnHoldNotes>Teste</OnHoldNotes> <Courier>Courier</Courier> <CourierService>Courier Service</CourierService> <CourierTracking>Tracking number</CourierTracking> <Notes>Notes</Notes> </OrderUpdate>
Example
<return> <responseMessage>Updated 1 orders.</responseMessage> <responseStatus>OK</responseStatus>
<timestamp>2013-04-30T17:18:43.333+01:00</timestamp> </return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 36
Tag Description
responseMessage This will indicate the number of orders that were updated successfully.
responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying
message will give details
timestamp The date and time of the response.
Documentation – Getting started with the API
Volo Commerce Ltd Page 37
updateOrdersAsync This call is similar to the previous updateOrders call: the only difference is that the updates occur asynchronously (i.e. intermittently rather than in a steady stream). When the request is submitted a batch ID will be returned; this can then be used in the getBatchStatus call to retrieve the status of the updates. We would encourage the use of the Async calls for both order and product updates, as this puts less load on the servers and makes for better performance. Here is an example request:
Tag Description
ESPOrderNo The eSP sales order number.
OrderStatus The status of the order. There are four possible values: • WAITING_FOR_DELIVERY • DELIVERED
• CANCELLED • ON_HOLD
OnHoldNotes If the OrderStatus is ON_HOLD, these are the accompanying notes.
Courier The name of the Courier. CourierService The name of the Courier service.
CourierTracking The Courier Tracking number. Notes Date & timestamp plus any notes added to the ‘Memo’
field on the Payment/Shipping Tab on the GUI.
Example
<arg0> <!--1 or more repetitions :--> <OrderUpdate> <ESPOrderNo>4094</ESPOrderNo> <OrderStatus>DELIVERED</OrderStatus> <OnHoldNotes>Teste</OnHoldNotes> <Courier>Courier</Courier> <CourierService>Courier Service</CourierService> <CourierTracking>Tracking number</CourierTracking> <Notes>Notes</Notes> </OrderUpdate> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 38
Tag Description
responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying
message will give details
timestamp The date and time of the response.
BatchId Identification for the batch.
UpdateType For order updates, this will show Update Orders.
The BatchId from this response can then be used to retrieve the batch status by using the getBatchStatus call.
Example
<return> <responseStatus>OK</responseStatus> <timestamp>2013-04-30T17:27:09.383+01:00</timestamp> <BatchId>CB2E238E-5393-4B1A-B20E-E793CA3B581C</BatchId> <UpdateType>Update Orders</UpdateType> </return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 39
updateProducts
This call updates the product’s inventory information, such as Price, Stock Level and Cost Price. Here is an example request:
Tag Description
StockNumber The stock number of the product. Prices Fields giving price information for the product:
Price AccountName This attribute is only applicable for AMAZON_PRICE and PLAY_PRICE. It should contain the specific Amazon or Play account to be updated – necessary when there are multiple Amazon or Play accounts.
Name The name of the price. Possible values are: • EBAY_BUY_NOW_PRICE • EBAY_INVENTORY_PRICE • RRP
• AMAZON_PRICE
• PLAY_PRICE
Value The value of the named price. StockLevel The stock level information of the product:
Example
<arg0> <ProductUpdate> <StockNumber>TestBeauty</StockNumber> <Prices>
<Price AccountName=" "> <Name>PLAY_PRICE</Name> <Value>1000.00</Value> </Price>
</Prices> <StockLevel> <Location></Location> <Quantity>3</Quantity> <StockUpdateType>STOCK_CHECK</StockUpdateType> </StockLevel> <CostPrice>2.5</CostPrice>
</ProductUpdate> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 40
Location The location for this stock level. This is optional, but if not provided then the default location will be considered.
Quantity The quantity to be updated.
StockUpdateType The type of stock update. There are two possible values: • DELIVERY
• STOCK_CHECK
Tag Description
responseMessage This will indicate the number of orders that were updated successfully.
responseStatus This gives the status of the response. Possible values are:
• OK - shows if the response has been successful • ERROR - if this status shows, an accompanying
message will give details
timestamp The date and time of the response.
Example
<return> <responseMessage>1 products were updated.</responseMessage> <responseStatus>OK</responseStatus> <timestamp>2013-05-01T10:15:01.814+01:00</timestamp>
</return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 41
updateProductsAsync
This call is similar to the previous updateProducts call: the only difference is that the updates occur asynchronously (i.e. intermittently rather than in a steady stream). When the request is submitted a batch ID will be returned in the response (see below); this can then be used in the getBatchStatus call to retrieve the status of the updates. We would encourage the use of the Async calls for both order and product updates, as this puts less load on the servers and makes for better performance. Here is an example request:
Tag Description
StockNumber The stock number of the product.
Prices Price details, in the following 2 fields:
Name The name of the price type.
Value The value of the price type. StockLevel Stock Level details, in the following 2 fields:
Quantity The stock level quantity.
StockUpdateType The type of stock update. There are 2 possible values: • DELIVERY
• STOCK_CHECK
Example
<arg0> <ProductUpdate> <StockNumber>TestShoes</StockNumber> <Prices> <Price> <Name>RRP</Name> <Value>1000.00</Value> </Price> </Prices> <StockLevel> <Quantity>3</Quantity> <StockUpdateType>STOCK_CHECK</StockUpdateType> </StockLevel> </ProductUpdate> </arg0>
Documentation – Getting started with the API
Volo Commerce Ltd Page 42
Tag Description responseStatus This gives the status of the response. Possible values
are: OK - shows if the response has been successful ERROR - if this status shows, an accompanying message will give details
timestamp The date and time of the response. BatchId Identification for the batch. UpdateType For product updates, this will show Update Products.
Example
<return> <responseStatus>OK</responseStatus> <timestamp>2013-05-01T10:20:25.296+01:00</timestamp> <BatchId>73E63E7F-2E3B-4965-BEB2-5740F5A7E9C7</BatchId> <UpdateType>Update Products</UpdateType> </return>
Documentation – Getting started with the API
Volo Commerce Ltd Page 43
Document Control Change History Version Date Initials Remarks
0.1 RR Initial draft
1.1 23/5/13 SK Proof & completion of initial draft – queries pending
1.2 17/6/13 SK Updates following resolution of queries
1.3 16/8/13 SK Further additions (values for Response Status)
1.4 4/10/13 SK Amendment in ‘How to find the WSDL’ section
1.5 16/2/15 SK Addition of importProducts call & response details
1.6 20/2/15 OP Document re-brand to Volo