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().Result
XML 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().Result
Response
<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().Result
XML 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().Result
Response
<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().Result
XML 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().Result
Response
<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().Result
XML 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().Result
Response
204 No Content
Delete 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().Result
XML 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().Result
Response
<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 over 1 year ago
Next