Catalog entry warehouse inventories
Describes how to work with RESTful operations for catalog entry warehouse inventories in the Optimizely Service API.
Example models
[Serializable]
public class WarehouseInventory
  {
    public string CatalogEntryCode { get; set; }
    public string WarehouseCode { get; set; }
    public ResourceLink WarehouseLink { get; set; }
    public decimal InStockQuantity { get; set; }    
    public decimal ReservedQuantity { get; set; }    
    public decimal ReorderMinQuantity { get; set; }
    public decimal PreorderQuantity { get; set; }
    public decimal BackorderQuantity { get; set; }
    public bool AllowBackorder { get; set; }
    public bool AllowPreorder { get; set; }
    public string InventoryStatus { get; set; }
    public DateTime? PreorderAvailabilityDate { get; set; }
    public DateTime? BackorderAvailabilityDate { get; set; }
    public DateTime? PurchaseAvailableDate { get; set; }
  }Get all entry warehouse inventories
| GET | get/episerverapi/commerce/entries/{entryCode}/inventories | Get all entry warehouse inventories | 
JSON response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);		
var result = client.GetAsync("/episerverapi/commerce/entries/{entry code}/inventories").Result.Content.ReadAsStringAsync().ResultXML response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));		
var result = client.GetAsync("/episerverapi/commerce/entries/{entry code}/inventories").Result.Content.ReadAsStringAsync().ResultResponse
<ArrayOfWarehouseInventory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <WarehouseInventory>
    <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
    <WarehouseCode>default</WarehouseCode>
    <InStockQuantity>10</InStockQuantity>
    <ReservedQuantity>2</ReservedQuantity>
    <ReorderMinQuantity>3</ReorderMinQuantity>
    <PreorderQuantity>4</PreorderQuantity>
    <BackorderQuantity>6</BackorderQuantity>
    <AllowBackorder>true</AllowBackorder>
    <AllowPreorder>true</AllowPreorder>
    <InventoryStatus>Enabled</InventoryStatus>
    <PreorderAvailabilityDate>2010-09-01T16:00:00Z</PreorderAvailabilityDate>
    <BackorderAvailabilityDate>2020-01-04T02:00:00Z</BackorderAvailabilityDate>
    <PurchaseAvailableDate>2011-02-02T00:00:00Z</PurchaseAvailableDate>
  </WarehouseInventory>
  <WarehouseInventory>
    <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
    <WarehouseCode>IL</WarehouseCode>
    <InStockQuantity>200</InStockQuantity>
    <ReservedQuantity>5</ReservedQuantity>
    <ReorderMinQuantity>3</ReorderMinQuantity>
    <PreorderQuantity>5</PreorderQuantity>
    <BackorderQuantity>10</BackorderQuantity>
    <AllowBackorder>true</AllowBackorder>
    <AllowPreorder>true</AllowPreorder>
    <InventoryStatus>Enabled</InventoryStatus>
    <PreorderAvailabilityDate>2011-01-01T00:00:00Z</PreorderAvailabilityDate>
    <BackorderAvailabilityDate>2019-09-09T00:00:00Z</BackorderAvailabilityDate>
    <PurchaseAvailableDate>2011-02-02T00:00:00Z</PurchaseAvailableDate>
  </WarehouseInventory>
  <WarehouseInventory>
    <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
    <WarehouseCode>NY</WarehouseCode>
    <InStockQuantity>200</InStockQuantity>
    <ReservedQuantity>5</ReservedQuantity>
    <ReorderMinQuantity>3</ReorderMinQuantity>
    <PreorderQuantity>5</PreorderQuantity>
    <BackorderQuantity>10</BackorderQuantity>
    <AllowBackorder>true</AllowBackorder>
    <AllowPreorder>true</AllowPreorder>
    <InventoryStatus>Enabled</InventoryStatus>
    <PreorderAvailabilityDate>2011-01-01T00:00:00Z</PreorderAvailabilityDate>
    <BackorderAvailabilityDate>2019-09-09T00:00:00Z</BackorderAvailabilityDate>
    <PurchaseAvailableDate>2011-02-02T00:00:00Z</PurchaseAvailableDate>
  </WarehouseInventory>
</ArrayOfWarehouseInventory>Get a specific entry warehouse inventory
| GET | get/episerverapi/commerce/entries/{entryCode}/inventories/{warehouseCode} | Get a specific entry warehouse inventory | 
JSON response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);		
var result = client.GetAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}").Result.Content.ReadAsStringAsync().ResultXML response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));		
var result = client.GetAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}").Result.Content.ReadAsStringAsync().ResultResponse
<WarehouseInventory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
  <WarehouseCode>WELLINGTON</WarehouseCode>
  <InStockQuantity>23</InStockQuantity>
  <ReservedQuantity>1</ReservedQuantity>
  <ReorderMinQuantity>1</ReorderMinQuantity>
  <PreorderQuantity>3</PreorderQuantity>
  <BackorderQuantity>2</BackorderQuantity>
  <AllowBackorder>true</AllowBackorder>
  <AllowPreorder>true</AllowPreorder>
  <InventoryStatus>Enabled</InventoryStatus>
  <PreorderAvailabilityDate>2014-08-26T13:27:01.79Z</PreorderAvailabilityDate>
  <BackorderAvailabilityDate>2014-08-26T13:27:01.79Z</BackorderAvailabilityDate>
  <PurchaseAvailableDate>2014-08-26T13:27:01.79Z</PurchaseAvailableDate>
</WarehouseInventory>Create entry warehouse inventory
| POST | post/episerverapi/commerce/entries/{entryCode}/inventories | Create entry warehouse inventory | 
JSON response type
var model = new WarehouseInventory()
  {
    AllowBackorder = true,
    AllowPreorder = true,
    BackorderAvailabilityDate = DateTime.UtcNow,
    PurchaseAvailableDate = DateTime.UtcNow,
    BackorderQuantity = 2,
    CatalogEntryCode = "Accessories-Electronics-200WattsAMFMCDReciever-sku",
    InStockQuantity = 23,
    InventoryStatus = "Enabled",
    PreorderAvailabilityDate = DateTime.UtcNow,
    PreorderQuantity = 3,
    ReorderMinQuantity = 1,
    ReservedQuantity = 1,
    WarehouseCode = "WELLINGTON"
  };
var json = JsonConvert.SerializeObject(model);
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);		
var result = client.PostAsync("/episerverapi/commerce/entries/{entry code}/inventories", 
  new StringContent(json, Encoding.UTF8, "application/json")).Result.Content.ReadAsStringAsync().ResultXML response type
var model = new WarehouseInventory()
  {
    AllowBackorder = true,
    AllowPreorder = true,
    BackorderAvailabilityDate = DateTime.UtcNow,
    PurchaseAvailableDate: DateTime.UtcNow,
    BackorderQuantity = 2,
    CatalogEntryCode = "Accessories-Electronics-200WattsAMFMCDReciever-sku",
    InStockQuantity = 23,
    InventoryStatus = "Enabled",
    PreorderAvailabilityDate = DateTime.UtcNow,
    PreorderQuantity = 3,
    ReorderMinQuantity = 1,
    ReservedQuantity = 1,
    WarehouseCode = "WELLINGTON"
  };
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
var serializer = new XmlSerializer(typeof(WarehouseInventory));
var xml = String.Empty;
using (var ms = new MemoryStream())
  {
    serializer.Serialize(ms, model);
    xml = Encoding.Default.GetString(ms.ToArray());
  } 
var result = client.PostAsync("/episerverapi/commerce/entries/{entry code}/inventories", 
  new StringContent(xml, Encoding.UTF8, "text/xml")).Result.Content.ReadAsStringAsync().ResultResponse
<WarehouseInventory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
  <WarehouseCode>WELLINGTON</WarehouseCode>
  <InStockQuantity>23</InStockQuantity>
  <ReservedQuantity>1</ReservedQuantity>
  <ReorderMinQuantity>1</ReorderMinQuantity>
  <PreorderQuantity>3</PreorderQuantity>
  <BackorderQuantity>2</BackorderQuantity>
  <AllowBackorder>true</AllowBackorder>
  <AllowPreorder>true</AllowPreorder>
  <InventoryStatus>Enabled</InventoryStatus>
  <PreorderAvailabilityDate>2014-08-27T09:23:51.6912667Z</PreorderAvailabilityDate>
  <BackorderAvailabilityDate>2014-08-27T09:23:51.6912667Z</BackorderAvailabilityDate>
  <PurchaseAvailableDate>2014-08-27T09:23:51.6912667Z</PurchaseAvailableDate>
</WarehouseInventory>Update entry warehouse inventory
| PUT | put/episerverapi/commerce/entries/{entryCode}/inventories/{warehouseCode} | Update entry warehouse inventory | 
JSON response type
var model = new WarehouseInventory()
  {
    AllowBackorder = true,
    AllowPreorder = true,
    BackorderAvailabilityDate = DateTime.UtcNow,
    PurchaseAvailableDate = DateTime.UtcNow,
    BackorderQuantity = 2,
    CatalogEntryCode = "Accessories-Electronics-200WattsAMFMCDReciever-sku",
    InStockQuantity = 23,
    InventoryStatus = "Enabled",
    PreorderAvailabilityDate = DateTime.UtcNow,
    PreorderQuantity = 3,
    ReorderMinQuantity = 1,
    ReservedQuantity = 1,
    WarehouseCode = "WELLINGTON"
  };
var json = JsonConvert.SerializeObject(model);
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);		
var result = client.PutAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}",
  new StringContent(json, Encoding.UTF8, "application/json")).Result.Content.ReadAsStringAsync().ResultXML response type
var model = new WarehouseInventory()
  {
    AllowBackorder = true,
    AllowPreorder = true,
    BackorderAvailabilityDate = DateTime.UtcNow,
    PurchaseAvailableDate = DateTime.UtcNow,
    BackorderQuantity = 2,
    CatalogEntryCode = "Accessories-Electronics-200WattsAMFMCDReciever-sku",
    InStockQuantity = 23,
    InventoryStatus = "Enabled",
    PreorderAvailabilityDate = DateTime.UtcNow,
    PreorderQuantity = 3,
    ReorderMinQuantity = 1,
    ReservedQuantity = 1,
    WarehouseCode = "WELLINGTON"
  };
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
var serializer = new XmlSerializer(typeof(WarehouseInventory));
var xml = String.Empty;
using (var ms = new MemoryStream())
  {
    serializer.Serialize(ms, model);
    xml = Encoding.Default.GetString(ms.ToArray());
  } 	
var result = client.PutAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}",
  new StringContent(xml, Encoding.UTF8, "text/xml")).Result.Content.ReadAsStringAsync().ResultResponse
204 No ContentDelete entry warehouse inventory
| DELETE | delete/episerverapi/commerce/entries/{entryCode}/inventories/{warehouseCode} | Delete entry warehouse inventory | 
JSON response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);		
var result = client.DeleteAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}").Result.Content.ReadAsStringAsync().ResultXML response type
var client = new HttpClient()
  {
    BaseAddress = new Uri(ConfigurationManager.AppSettings["integrationUrl"])
  };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));	
var result = client.DeleteAsync("/episerverapi/commerce/entries/{entry code}/inventories/{warehouse code}").Result.Content.ReadAsStringAsync().ResultResponse
<WarehouseInventory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CatalogEntryCode>Accessories-Electronics-200WattsAMFMCDReciever-sku</CatalogEntryCode>
  <WarehouseCode>WELLINGTON</WarehouseCode>
  <InStockQuantity>23</InStockQuantity>
  <ReservedQuantity>1</ReservedQuantity>
  <ReorderMinQuantity>1</ReorderMinQuantity>
  <PreorderQuantity>3</PreorderQuantity>
  <BackorderQuantity>2</BackorderQuantity>
  <AllowBackorder>true</AllowBackorder>
  <AllowPreorder>true</AllowPreorder>
  <InventoryStatus>Enabled</InventoryStatus>
  <PreorderAvailabilityDate>2014-08-27T09:23:51.6912667Z</PreorderAvailabilityDate>
  <BackorderAvailabilityDate>2014-08-27T09:23:51.6912667Z</BackorderAvailabilityDate>
  <PurchaseAvailableDate>2014-08-27T09:23:51.6912667Z</PurchaseAvailableDate>
</WarehouseInventory>Special strings
These properties require special values to function properly.
InventoryStatus
- Enabled
- Disabled
- Ignored
Updated about 2 months ago