Commerce Manager
Get item data
using System;
using Asi.Soa.ClientServices;
using Asi.Soa.Commerce.DataContracts;
// Initialize Entity and Commerce managers, item and party IDs
EntityManager entityManager = new EntityManager();
CommerceManager commerceManager = new CommerceManager(entityManager);
string itemId = "G15"; // Product code
// Use CommerceManager to return the item data by ID
ItemData item = commerceManager.FindItemByItemId(itemId);
if (item != null)
{
Console.WriteLine("Product Name: {0}", item.Name); // Modern Mug
Console.WriteLine("Product Description: {0}",
item.Description); //A distinctive new shape keeps your coffee fresh and bright in this 14 oz mug!
}
using System;
using System.Net.Http;
const string itemId = "G15"; // Product code
HttpClient client = new HttpClient();
/*
Add proper authorization header to new HttpClient above
before making below request, see
https://developer.imis.com/v0.1/docs/accessing-the-rest-api#section-direct-access-oauth-20
for an example of how to perform this in C# project
*/
var item = Client.GetAsync($"api/item/{itemId}").Result;
if (item != null && item.IsSuccessStatusCode)
{
Console.WriteLine("Product: {0}", item.Content.ReadAsStringAsync().Result);
}
/*
Product: {
"$type":"Asi.Soa.Commerce.DataContracts.ProductItemData, Asi.Contracts",
"Weight":{
"$type":"System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib",
"Amount":0.50
},
"Image":{
"$type":"Asi.Soa.Core.DataContracts.VirtualFileData, Asi.Contracts",
"VirtualPath":"~/images/samples/products/G15.png",
"ThumbnailVirtualPath":"~/images/samples/products/G15_50x50.png"
},
"ImageUrl":"~/images/samples/products/G15.png",
"ThumbnailUrl":"~/images/samples/products/G15.png",
"HasPhysicalInventory":false,
"PublishingInformation":{
"$type":"Asi.Soa.Core.DataContracts.PublishingInformationData, Asi.Contracts",
"StartDate":null,
"ExpirationDate":null,
"Keywords":{
"$type":"System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values":[
]
},
"PublishingState":0
},
"TempDefaultPrice":6.2000,
"ItemFinancialInformation":{
"$type":"Asi.Soa.Commerce.DataContracts.ItemFinancialInformationData, Asi.Contracts",
"FinancialEntity":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialEntityData, Asi.Contracts",
"EntityCode":""
},
"TaxCategory":{
"$type":"Asi.Soa.Commerce.DataContracts.TaxCategorySummaryData, Asi.Contracts",
"Name":"Taxable",
"TaxCategoryId":"Taxable",
"Description":"Taxable"
},
"IncursShipping":true,
"ItemFinancialAccounts":{
"$type":"Asi.Soa.Commerce.DataContracts.ItemFinancialAccountsData, Asi.Contracts",
"AccountsReceivable":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts"
},
"Income":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount":{
"$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountId":"",
"GLAccountCode":"",
"Name":""
}
},
"Inventory":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount":{
"$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountId":"",
"GLAccountCode":"",
"Name":""
}
},
"CostOfGoodsSold":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount":{
"$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountId":"",
"GLAccountCode":"",
"Name":""
}
},
"InventoryAdjustments":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount":{
"$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountId":"",
"GLAccountCode":"",
"Name":""
}
},
"DamagedGoods":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts"
},
"DeferredIncome":{
"$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount":{
"$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountId":"",
"GLAccountCode":"",
"Name":""
}
}
}
},
"FairMarketValue":{
"$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Amount":5.0000,
"Currency":{
"$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode":"USD",
"DecimalPositions":2,
"ExtensionData":null
},
"IsAmountDefined":true
},
"AdditionalAttributes":{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
"$values":[
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"TAXABLE",
"Value":{
"$type":"System.Boolean",
"$value":true
}
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"PST_TAXABLE",
"Value":{
"$type":"System.Boolean",
"$value":false
}
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"TAX_AUTHORITY",
"Value":""
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"TAX_BY_LOCATION",
"Value":{
"$type":"System.Boolean",
"$value":false
}
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"TAXCATEGORY_CODE",
"Value":""
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"WEBOPTION",
"Value":{
"$type":"System.Int32",
"$value":2
}
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"IsBillingBaseItem",
"Value":{
"$type":"System.Boolean",
"$value":false
}
},
{
"$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name":"PayPriority",
"Value":{
"$type":"System.Int32",
"$value":0
}
}
]
},
"IsPremium":false,
"PremiumInformation":{
"$type":"Asi.Soa.Commerce.DataContracts.PremiumInformationData, Asi.Contracts",
"RequiredGiftAmount":{
"$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Currency":{
"$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode":"USD",
"DecimalPositions":2,
"ExtensionData":null
},
"IsAmountDefined":true
}
},
"AllowOrderLineNote":false,
"Description":"A distinctive new shape keeps your coffee fresh and bright in this 14 oz mug!",
"ItemClass":{
"$type":"Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId":"SALES-GIFTS",
"Name":"Gifts"
},
"ItemCode":"G15",
"ItemId":"G15",
"Name":"Modern Mug"
}
*/
Get item price for party
using System;
using Asi.Soa.ClientServices;
using Asi.Soa.Commerce.DataContracts;
using Asi.Soa.Core.DataContracts;
using Asi.Soa.Membership.DataContracts;
EntityManager entityManager = new EntityManager();
string itemId = "G15"; // Product code
string partyId = "18043"; // Chris Baker
// Use GetPartyItemPrice to return the price
PartyItemPriceData partyItemPriceData = CommerceManager.GetPartyItemPrice(entityManager, itemId, partyId);
if (partyItemPriceData != null)
{
Console.WriteLine("Product - Name: {0}, Price: {1}", partyItemPriceData.Item.Name,
partyItemPriceData.SelectedPrice);
}
using System;
using System.Net.Http;
const string itemId = "G15"; // Product code
const string partyId = "18052"; // Brian Murphy
HttpClient client = new HttpClient();
/*
Add proper authorization header to new HttpClient above
before making below request, see
https://developer.imis.com/v0.1/docs/accessing-the-rest-api#section-direct-access-oauth-20
for an example of how to perform this in C# project
*/
var partyItemPrice = client
.GetAsync($"api/partyitemprice?Id={partyId}&ItemId={itemId}").Result;
if (partyItemPrice != null && partyItemPrice.IsSuccessStatusCode)
{
Console.WriteLine("Party Item Price: {0}", partyItemPrice.Content.ReadAsStringAsync().Result);
}
/*
Party Item Price: {"$type":"Asi.Soa.Core.DataContracts.PagedResult`1[[Asi.Soa.Commerce.DataContracts.PartyItemPriceData, Asi.Contracts]], Asi.Contracts",
"Items":{
"$type":"System.Collections.Generic.List`1[[Asi.Soa.Commerce.DataContracts.PartyItemPriceData, Asi.Contracts]], mscorlib",
"$values":[
{
"$type":"Asi.Soa.Commerce.DataContracts.PartyItemPriceData, Asi.Contracts",
"Party":{
"$type":"Asi.Soa.Membership.DataContracts.PartySummaryData, Asi.Contracts",
"CityName":"Eden Prairie",
"CountryName":"United States",
"CountrySubEntityName":"MN",
"Email":"[email protected]",
"Phone":"(516) 987-2222",
"PartyId":"18052",
"Id":"18052",
"Status":{
"$type":"Asi.Soa.Membership.DataContracts.PartyStatusData, Asi.Contracts",
"PartyStatusId":"A",
"Name":"Active",
"Description":"Active"
},
"Name":"Mr. Brian Murphy",
"Sort":"MURPHY, BRIAN",
"IsMarkedForDelete":false
},
"Item":{
"$type":"Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"Description":"A distinctive new shape keeps your coffee fresh and bright in this 14 oz mug!",
"ItemClass":{
"$type":"Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId":"SALES-GIFTS",
"Name":"SALES-GIFTS"
},
"ItemId":"G15",
"Name":"Modern Mug"
},
"SelectedPriceSheet":{
"$type":"Asi.Soa.Commerce.DataContracts.PriceSheetSummaryData, Asi.Contracts",
"Description":"Non-Member pricing",
"Name":"Standard",
"PriceSheetId":"Standard"
},
"SelectedPrice":{
"$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Amount":6.2,
"Currency":{
"$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode":"USD",
"DecimalPositions":2,
"ExtensionData":null
},
"IsAmountDefined":true
},
"StandardPriceSheet":{
"$type":"Asi.Soa.Commerce.DataContracts.PriceSheetSummaryData, Asi.Contracts",
"Description":"Non-Member pricing",
"Name":"Standard",
"PriceSheetId":"Standard"
},
"StandardPrice":{
"$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Amount":6.2,
"Currency":{
"$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode":"USD",
"DecimalPositions":2,
"ExtensionData":null
},
"IsAmountDefined":true
},
"DiscountPriceSheet":{
"$type":"Asi.Soa.Commerce.DataContracts.PriceSheetSummaryData, Asi.Contracts",
"Description":"Member pricing",
"Name":"Member",
"PriceSheetId":"Member"
},
"DiscountPrice":{
"$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Amount":5.1,
"Currency":{
"$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode":"USD",
"DecimalPositions":2,
"ExtensionData":null
},
"IsAmountDefined":true
}
}
]
},
"Offset":0,
"Limit":100,
"Count":1,
"TotalCount":1,
"NextPageLink":null,
"HasNext":false,
"NextOffset":0
}
*/
Updated over 5 years ago