Skip to main content
Functions

Functions included in iPaaS.com that can be used across dynamic formulas

Updated over 3 months ago

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 = &quot;ITEM&quot;", "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, List1 lines, List1 payments)

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, List1 lines, List1 payments)

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

Did this answer your question?