Each integrator can define Functions that can be called in a dynamic formula. These are built and maintained by the integrator and are documented in the subscription documentation.
Overview
The iPaaS mapping uses a dynamic code interpreter called EvalExpression to allow users to define custom logic for field mappings. This allows for certain programmatic operations to enable more complex mapping rules. For example, if we want to prefix the SKU on a website with the letters WEB, we could define a mapping with SKU assigned to the websites SKU to be "WEB"+ SKU
We have also defined a number of custom functions to help with common operations or with more complex data operations. These custom function calls are defined below.
In general, any field that is available for mapping is also available for use in a dynamic formula. For parent/child mapping collections (e.g. Products and their Units), we also provide some additional fields to reference the parent data, or to reference the children from the parent. For example, we may want to define the price of a unit using a field from the parent. Or conversely, we may want to calculate the quantity field on the parent using the inventory children object. The available fields for these types of mappings are outlined in the Data Members section below.
Standard Syntax
EvalExpression generally use C# syntax
Element | Description | Example |
+, - | Additive, Concatenation | 100 + a |
*, /, % | Multiplicative | 100 * 2 / (3 % 2) |
^ | Power | 2 ^ 16 |
- | Negation | -6 + 10 |
+ | Concatenation | "abc" + "def" |
== | Equal Comparison | if(Name == "Test") |
= | Equal Assignment | var name = "Test" |
<> | Not Equal | Name <> "Test", QTY <> 3 |
>, < | Greater Than, Less Than | QTY > 3 |
>=, <= | Greater Than or Equal To, Less Than or Equal To | QTY >= 3 |
&&, ||, ! | Logical And, Or, and Not | (1 > 10) && (true || !false) |
(statement? iftrue : iffalse) | Conditional (If statement) | (a > 100? "greater" : "less") |
(type)variable | Cast | (int)100.25 |
[] | Array index | 1 + arr[i+1] |
. | Member | varA.varB.function("a") |
String | literal | "string!" |
Char | literal | 'c' |
Boolean | literal | true && false |
Double and float | literal | 100.25D + 100.25F |
Integer | literal | 100 |
\" | Syntax | Escape character for quotes, e.g. FirstMatch(Barcodes, "BARCOD_TYP == \"UPC\"") |
Functions
The following functions are available for use in mapping formulas.
Existing system classes
Several standard system classes and their methods are available by default:
System.Math
System.string
System.Collections.ICollection
System.DateTime
Translation Engine Functions
Function Call | Return type | Description | Example |
CreateTypeFromJSON(String assemblyName, String type, String json) |
| THIS HAS BEEN DEPRECATED. This will allow you to turn a JSON string into a custom data type. THIS HAS BEEN DEPRECATED. |
|
CreateTypeFromKVP(String assemblyName, String Type, List`1 keyValuePairs) |
| THIS HAS BEEN DEPRECATED. This provides a way to create a specified type and populate it based off the KVP list supplied. THIS HAS BEEN DEPRECATED. |
|
FieldFromFirstMatch(IEnumerable inputList, String condition, String fieldName) |
| Return a field from the first item in a given list of objects that matches. E.g. to get the first BARCODE that has the BARCOD_TYP = ITEM call FieldFromFirstMatch(Barcodes, "BARCOD_ID = "ITEM"", "BARCOD") |
|
FirstMatch(IEnumerable inputList, String condition) |
| Returns the first matching object. Note that this returns the entire object. See the procedure FieldFromFirstMatch() to retrieve a single field from that match |
|
GetValue(Object Source, String FieldName) |
| Get a field value by name |
|
SumFieldFromCollection(ICollection iList, String fieldName) |
| Sum a field from each entry in a given collection |
|
Integration.Abstract
Function Call | Return type | Description | Example |
Coalesce(Object[] list) | object | Returns the first non-null element | Coalesce(ADDL_DESCR_2, ADDL_DESCR_1) |
CoalesceToDateTime(Object[] list) | DateTime | Returns the first non-null element, converted to a DateTime | CoalesceToDateTime(PROF_DAT_1, PROF_DAT_2) |
CoalesceToDecimal(Object[] list) | decimal | Returns the first non-null element, converted to a DateTime | CoalesceToDecimal(QuantityOnHand, 0) |
CoalesceToInt(Object[] list) | Int | Returns the first non-null element, converted to an Int | CoalesceToInt(QuantitySold, 0) |
ConvertToDecimal(Object obj) | decimal | Convert an object to a decimal | ConvertToDecimal("7.5") |
ConvertToDouble(Object obj) | double | Covnert an object to a double | ConvertToDouble("7.5") |
ConvertToInt(Object obj) | int | Convert an object to an int | ConvertToInt("7") |
ConvertToLong(Object obj) | long | Convert an object to a long (int64) | ConvertToLong(DOC_ID) |
CurrentDateTime() | DateTime | Returns the current DateTime in the local time zone | CurrentDateTime() |
CurrentDateTimeOffset() | DateTimeOffset | Returns the current DateTimeOffset in the local time zone | CurrentDateTimeOffset() |
DateOnly(Object input) | DateTime (nullable) | Converts the input to a DateTime or DateTimeOffset and then returns only the date portion, in a DateTime. | DateOnly(ExpirationDate) |
DateTimeOffsetFromLocalDateTime(Object input) | DateTimeOffset | Convert a DateTime in the local time zone to a DateTimeOffset | DateTimeOffsetFromLocalDateTime(LST_MAINT_DT) |
First(IEnumerable inputList) | object | Returns the first object in a collection | First(Barcodes) |
IntListFromString(Object input) | List<int> | This will allow you to turn a string into a list of integers. This function is useful for fields that take in an array of ints but are coming from a string field (e.g. static mapping or a flat string field such as "[1,2]") | IntListFromString("1,2,3") |
IsEmpty(Object input) | bool | Determines if the input object is one of several values indicating empty. Null and DBNull will return true. For non-nullable types with edge default values, we also return true. E.g. these type values all indicate an empty value: Guid.Empty, DateTime.MinValue, DateTimeOffset.MinValue, "" (empty string) | IsEmpty(DESCR) |
IsNull(Object value) | bool | Determines if the passed object is null or not | IsNull(CustomFields) |
JSONToDictionary(Object input) | Dictionary<string, string> | Parse a JSON string and convert it to a string/string dictionary | JSONToDictionary("{"GiftCardId":"" + GiftCardNumber(GiftCertificate) + ""}") |
Larger(Object a, Object b) | decimal | Return the larger of two numeric objects. Flee does not handle nullable types well e.g decimal? > decimal, so this lets us do a simple comparison of two values and keep the largest. | Larger(QtyOnHnd,0) would allow us to send the qty on hand, as long as it's non-negative |
LocalDateTimeFromDateTimeOffset(Object input) | DateTime (nullable) | Convert a DateTimeOffset to a DateTime in the local time zone | LocalDateTimeFromDateTimeOffset(ImportedDateTimeOffset) |
MaximumDateTime() | DateTime | Returns the maximum DateTime (aka DateTime.MaxValue) | MaximumDateTime() |
MinimumDateTime() | DateTime | Returns the minimum DateTime (aka DateTime.MinValue) | MinimumDateTime() |
ReadFromStringDictionary(Object dictionary, Object key) | string | Returns the value for the specified key from a dictionary. If the key does not exist, it returns null | ReadFromStringDictionary(LineInfo, "GiftCardId") |
RegExMatch(Object input, Object pattern) | bool | Determine if the input string matches the given pattern in RegEx. | Regex("The dog is running", "^The") |
RemovePrefix(Object prefix, Object value) | string | This function provides a safe way to remove a given prefix. IF the prefix is not present, no changes are made. E.g., if we want to turn BC123 into 123, we can call RemovePrefix("BC", "BC123"). | RemovePrefix("BC", "BC123") |
StringListFromString(Object input) | List<string> | This will allow you to turn a string into a list of strings. This function is useful for fields that take an array of strings but are coming from a flat string field (e.g. static mapping or a flat string field, "[keyword1, keyword2]") |
|
SubstringAfterLastMatch(Object haystack, Object needle) | string | This function returns the portion of a string after the last occurance of a given character. This is useful for parsing sections of compound IDs. E.g. if we have DIR-L78-JWT-6GQ|1, we might want to grab the 1 as a sequence number. | SubstringAfterLastMatch("DIR-L78-JWT-6GQ|1", "|") |
Truncate(Object input, Object maxLength) | string | Truncates the input at the | Truncate("This is a really long string that I need to shorten", 10) |
TypesafeDivision(Object numerator, Object denomonator) | double | Allows for a nullable- and type-safe division. | TypesafeDivision(EXT_PRC, QTY_SOLD) |
TypesafeMultiplication(Object a, Object b) | double | Allows for a nullable- and type-safe multiplication. | TypesafeMultiplication(PRC_1, QTY_SOLD) |
WildcardMatch(Object input, Object pattern) | bool | This function is intended to replicate SQL-style likeness comparison. E.g. WildcardMatch("test1234", "%est1%") would return true We accomplish this by replacign the SQL wildcard with a regex wildcard .* (meaning one or more of any character) and passing it to our regex function. Any non-regex friendly input would not be supported. E.g. WildcardMatch("abcdefg", "%[1]%") would return true because of it's regex conversion | WildcardMatch("abcdefg", "%[1]%") |
iPaaS.Data
Function Call | Return type | Description | Example |
AlternateIdFromStockingUnit(Object alternateIds, Object units, String alternateIdType) | string | Return an iPaaS alternate id of a specified type for the stocking unit from existing product data |
|
AlternateIdFromUnitName(Object alternateIds, String alternateIdType, String unitName) | string | Return an iPaaS alternate id of a specified type for a specified unit from existing product data |
|
BuildJsonFromList(Object inputList, List`1 propertyNames) |
|
|
|
ContainsHeaderDiscounts(List`1 discounts) | bool | Returns whether a transaction contains Header Discounts by examining the transaction discount types |
|
ContainsLineDiscounts(List`1 lines) | bool | Returns whether a transaction contains Line Discounts by examining the line items |
|
ContainsLineDiscountsForSingleLine(List`1 discounts) | bool | Returns whether a transaction contains Line Discounts by examining the line discounts |
|
ConvertJsonStringToDynamicObject(String jsonString) |
| Convert an json string to dynamic ExpandoObject using Newtonsoft |
|
ConvertJsonStringToObjectList(Type destinationType, Dictionary`2 sourceDestinationDictionary, String json) |
|
|
|
ConvertObjectToJsonString(Object anyObject) |
| Convert an object to json string using System.Text |
|
CountryCode(String countryName) | string | Returns the two character ISO country code |
|
CountryCodeRequired(String countryName) | string | A version of the above translation that will throw an error if no results are found |
|
CountryCodeWithDefault(String countryName, String defaultCode) | string | A version of the country code translation that will use a default if no results are found |
|
CustomFieldValue(String collectionType, String fieldName, String id) | string | Return an iPaaS custom field value based on the collection type, custom field name, and parent id |
|
ExternalIdFromStructure(List`1 externalIdResponses, Int64 systemId) |
| Based on the supplied iPaaS externalId collection, return the id for the specified system |
|
ExternalIdFromStructure(List`1 externalIdResponses, Int64 systemId) |
| Based on the supplied iPaaS externalId collection, return the id for the specified system |
|
ExternalIdFromStructure(List`1 externalIdResponses, Int64 systemId) |
| Based on the supplied iPaaS externalId collection, return the id for the specified system |
|
GetCustomFieldValue(List`1 customFields, String customFieldName) |
| Get the value of a custom field. Returns null if the custom field does not exist |
|
GetCustomFieldValue(List`1 customFields, String customFieldName) |
| Get the value of a custom field. Returns null if the custom field does not exist |
|
GetCustomFieldValue(List`1 customFields, String customFieldName) |
| Get the value of a custom field. Returns null if the custom field does not exist |
|
GetCustomFieldValue(List`1 customFields, String customFieldName) |
| Get the value of a custom field. Returns null if the custom field does not exist |
|
GetCustomFieldValue(List`1 customFields, String customFieldName) |
| Get the value of a custom field. Returns null if the custom field does not exist |
|
GetExternalId(Object id, Object tableName, Object systemId) |
| Lookup the external id, based on an iPaaS id |
|
GetExternalIdAsync(Object id, Object tableName, Object systemId) |
| Lookup the external id, based on an iPaaS id |
|
GetExternalIdForGiftCardTicket(Nullable`1 orderId, Int64 systemId) |
| Given an order id and a system id, determine if the order has a gift card ticket associated with it, and if it does what is the external id of it in the specified system | GetExternalId(OM_TransactionId, , SpaceportSystemId) |
GetExternalIdForGiftCardTicketAsync(Nullable`1 orderId, Int64 systemId) | string | Given an order id and a system id, determine if the order has a gift card ticket associated with it, and if it does what is the external id of it in the specified system | GetExternalId(OM_TransactionId, , SpaceportSystemId) |
GetGiftCardRedemptionNumber(Dictionary`2 methodInfo) | string | This function will return the gift card number for the gift card redeemed. We need this function to 1.) null check the gift card id on the order, 2) validate the id exists, and 3) convert it into the gift card number |
|
GetGiftCardRedemptionNumberAsync(Dictionary`2 methodInfo) | string | This function will return the gift card number for the gift card redeemed. We need this function to 1.) null check the gift card id on the order, 2) validate the id exists, and 3) convert it into the gift card number |
|
GetPaymentTypeFromMethodName(String paymentMethodName) | string | Determine the payment type, based on the method |
|
GetPaymentTypeFromMethodNameAsync(String paymentMethodName) | string | Determine the payment type, based on the method |
|
GetProductType(Int64 id) | string? | Return an iPaaS tracking method when provided its id - returns "Product" or "Variant" |
|
GetSpaceportId(Object externalId, Object tableName, Object systemId) | long(nullable) | THIS PROCEDURE IS BEING DEPRECATED. Convert the given externalid to an internal iPaaS ID. |
|
GetSpaceportId_String(Object externalId, Object tableName, Object systemId) |
|
|
|
GetSpaceportId_StringAsync(Object externalId, Object tableName, Object systemId) |
|
|
|
GetSpaceportIdAsync(Object externalId, Object tableName, Object systemId) | long(nullable) | THIS PROCEDURE IS BEING DEPRECATED. Convert the given externalid to an internal iPaaS ID. |
|
GiftCardLineTotal(List`1 lines) | decimal | Return the total price of all gift card sold on the given transaction |
|
GiftCardTypeFromMethodInfo(Object methodInfo) | string | Determine the gift card based on the gift card's methodInfo values. This function will look up the gift card based on Method Info's GiftGardId and return the giftcard's type (e.g. Gift Card or Store Credit) |
|
GiftCardTypeFromMethodInfoAsync(Object methodInfo) | string | Determine the gift card based on the gift card's methodInfo values. This function will look up the gift card based on Method Info's GiftGardId and return the giftcard's type (e.g. Gift Card or Store Credit) |
|
HasAnyCapturedPaymentsAsync(Object transactionId) | bool | Determine if iPaaS transaction has any "Authorized" payments |
|
HasAnyCapturedPaymentsDepositAsync(String transactionNumber, String type, List`1 payments) | bool | Determines if the list of payments has has any captured payments (or gift cards). This is only checked for tickets with Type = Ticket |
|
HasGiftCardSaleLines(List`1 lines) | bool | Determine if the specificed transaction lines include a sale of a gift card |
|
iPaaSCustomerFromEmail(String emailAddress) | string | Determine the iPaaS customer id based on the email address specified |
|
iPaaSCustomerFromEmailAsync(String emailAddress) | string | Determine the iPaaS customer id based on the email address specified |
|
iPaaSEmployeeFromEmailAsync(String emailAddress) | string | Determine the iPaaS employee id based on the email address specified |
|
iPaaSTransactionFromNumberAsync(String transactionNumber) |
| Determine the iPaaS transaction id based on the transactionNumber specified |
|
IsAuthOnlyDeposit(String transactionNumber, String type, List`1 payments) | bool | Determine if this is an authorization only deposit ticket. We do not want to send Auth Only deposit tickets to CP. This is intended to identify those so we can filter them in the header. |
|
IsAuthOnlyDepositAsync(String transactionNumber, String type, List`1 payments) | bool | Determine if this is an authorization only deposit ticket. We do not want to send Auth Only deposit tickets to CP. This is intended to identify those so we can filter them in the header. |
|
IsGiftCardSaleOnlyOrder(String type, List |
|
|
|
IsGiftCardTicketWithPendingOrVoidLines(String type, List`1 lines) | bool | Determine if the transaction has gift card sales where the gift card is pending or void |
|
IsGiftCardTicketWithPendingOrVoidLinesAsync(String type, List`1 lines) | bool | Determine if the transaction has gift card sales where the gift card is pending or void |
|
IsGiftCardTicketWithUncapturedPayments(String type, List | bool | Determine if this transaction has gift card sales, but no uncaptured payments |
|
LocationIdFromName(String location) | long | Determine the location id based on the location's name |
|
LocationIdFromNameAsync(String location) | long | Determine the location id based on the location's name |
|
LocationIdInLocationGroupNameAsync(Int64 locationId, String groupName) | bool | Returns true or false depending on location ID provided exists in a location group by name |
|
OrderHasOpenDepositTicket(Object id, Object spaceportSystemId) | bool | Determine if there is an open deposit ticket associated with a given order. We also check to see if that child exists in the external system |
|
OrderHasOpenDepositTicketAsync(Object id, Object spaceportSystemId) | bool | Determine if there is an open deposit ticket associated with a given order. We also check to see if that child exists in the external system |
|
ParentIdFromSku(String sku) | string | Return an iPaaS parent product ID for a given sku or alternate id |
|
ParentIdFromVariantId(Int64 id) |
| Look up a variant's parent id from the variant id |
|
PaymentMethodNameSearchAsync(String name) | string? | Returns the first iPaaS payment method name found using a case insensitive name search |
|
ProductAlternateIdFromStockingUnit(Int64 productId, String alternateIdType) | string | Return an iPaaS alternate id of a specified type for the stocking unit for a specified product id |
|
ProductAlternateIdFromUnitName(Int64 productId, String alternateIdType, String unitName) | string | Return an iPaaS alternate id of a specified type for a specified unit for a specified product id |
|
ProductIdFromSku(String sku) | string | Return an iPaaS product ID for a given sku |
|
QuantityFromLocation(List`1 inventory, String[] locations) | decimal | Determine the quantity of an item based on a list of location names |
|
QuantityFromLocation(List`1 inventory, Int64[] locations) | decimal | Determine the quantity of an item based on a list of location names |
|
QuantityFromLocationAsync(List`1 inventory, String[] locations) |
| Determine the quantity of an item based on a list of location names |
|
RegExReplace(Object input, Object pattern, Object replacement) | bool | Run a regex replacement. To clear out any char that matches, call this with string.Empty as the replacement variable | RegExReplace("The dog is running", "^The", "That") |
RemoveNonASCIICharacters(Object input) |
| Remove all non-ascii chars except tabs and carraige returns. |
|
RemoveNonprintableCharacters(Object input) |
| Remove NonPrintable chars. |
|
Setting(String SettingName) | string | Get the value for a given setting |
|
SkuFromAlternateId(String alternateId) | string | Return an iPaaS SKU based on the alternate id provided |
|
StateAbbreviation(String state) | string | Convert the input to a state abbreviation. This supports all of the states and territories of the US and Canada. |
|
StateName(String state) | string | Convert the input into the long form state name (e.g. convert GA to Georiga) |
|
SumFullInventoryForProduct(Int64 productId) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForProduct(Int64 productId, Int64[] locationIds) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForProduct(Int64 productId, String[] locations) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForProductAsync(Int64 productId) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForProductAsync(Int64 productId, Int64[] locationIds) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForProductAsync(Int64 productId, String[] locations) | decimal | Returns a sum of all inventory for a product. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariant(Int64 variantId, Int64[] locations) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariant(Int64 variantId) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariant(Int64 variantId, String[] locations) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariantAsync(Int64 variantId, Int64[] locations) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariantAsync(Int64 variantId) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumFullInventoryForVariantAsync(Int64 variantId, String[] locations) | decimal | Returns a sum of all inventory for a variant in the locations specified. Inventories with negative values WILL be included in the sum. |
|
SumHeaderDiscountPercentage(List`1 discounts, Decimal subtotal) | decimal | Returns a percentage of the sum of header discount amounts examining the transaction discount types comapred to the subtotal rounded to 3 decimal places |
|
SumHeaderDiscounts(List`1 discounts) | decimal | Returns a sum of header discount amounts examining the transaction discount types |
|
SumInventoryForProduct(Int64 productId) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForProduct(Int64 productId, Int64[] locationIds) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForProduct(Int64 productId, String[] locations) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForProductAsync(Int64 productId) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForProductAsync(Int64 productId, Int64[] locationIds) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForProductAsync(Int64 productId, String[] locations) | decimal | Returns a sum of all inventory for a product. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariant(Int64 variantId) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariant(Int64 variantId, Int64[] locations) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariant(Int64 variantId, String[] locations) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariantAsync(Int64 variantId) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariantAsync(Int64 variantId, Int64[] locations) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryForVariantAsync(Int64 variantId, String[] locations) | decimal | Returns a sum of all inventory for a variant. Inventories with negative values will NOT be included in the sum. |
|
SumInventoryQuantityByLocationGroupNameAsync(String type, String groupName, List`1 inventory, Boolean allowNegative, String safetyType, Int32 safetyLevel) | decimal | Determine the sum of specified type of quantity of an inventory collection based on a location group name |
|
SumKitParentQuantityAsync(String type, Int64 productId, String locationGroupName) | decimal | Determine the inventory sum of a kit parent for all locations, or locations in a group |
|
SumKitParentQuantityForSingleLocationAsync(String type, Int64 productId, Int64 locationId) | decimal | Determine the inventory sum of a kit parent for a single location id |
|
SumLineDiscountPercentageOfHeader(List`1 lines, Decimal subtotal) | decimal | Returns a percentage of the sum of line discount amounts comapred to the order subtotal rounded to 3 decimal places |
|
SumLineDiscounts(List`1 lines) | decimal | Returns a sum of line discount amounts examining the transaction lines |
|
SumLineDiscountsForSingleLine(List`1 discounts) | decimal | Returns whether a line contains Line Discounts by examining the line discounts |
|
SumProductInventoryQuantityByLocationGroupNameAsync(String type, String groupName, Int64 productId, Boolean allowNegative, String safetyType, Int32 safetyLevel) | decimal | Determine the inventory sum of specified type of quantity for a product Id based on a location group name |
|
SumVariantInventoryQuantityByLocationGroupNameAsync(String type, String groupName, Int64 variantId, Boolean allowNegative, String safetyType, Int32 safetyLevel) | decimal | Determine the inventory sum of specified type of quantity for a product Id based on a location group name |
|
UnitFromAlternateId(String alternateId) | string | Return an iPaaS unit name based on the alternate id provided |
|
VariantAlternateIdFromStockingUnit(Int64 productId, Int64 variantId, String alternateIdType) | string | Return an iPaaS alternate id of a specified type for the stocking unit for a specified product id and variant id |
|
VariantAlternateIdFromUnitName(Int64 variantId, String alternateIdType, String unitName) | string | Return an iPaaS alternate id of a specified type for a specified unit for a specified variant id |
|
VariantIdFromSku(String sku) | string | Return an iPaaS product ID for a given sku |
|