OnlineAPI
The following operations are supported. For a formal definition, please review the Service Description.
-
AddCredit
This method Adds/Deletes a PaymentCredit for a give RepID/CustomerID. This API has been deprecated in favor of our REST APIs, {CLIENT}/API/Payments/Credit -
AddPersonalization
For a given order detail ID, this method will add a personalization text to the detail item. By passing the detail ID, the classification type (1=OnlineOrderDetailID,2=OrderDetailID), the personalization string, and the sequence for which to show the personalizations in, the system will add the personalization to the detail item within the order. -
AddRelationshipOrderDetails
Allows one to group a particular item into a inventory relationship group. Note: This can be done for either an order or online order. One should only pass one detail id, the other may stay as zero -
AssociateOnlineOrderToMaster
When using master orders, this will allow tying an online order id to the parent master order id. -
AssociateOrderToParty
For a given order, this method will associate the order with a given party ID. -
CheckEmail
This method will validate that a given email doesn't already exist in the system. A type of 0,1, or 2 can be added to specify which accounts to check in the system (0=Reps,1=Customers,2=Both). The result will return 0 should no account have that email or the amount of accounts which have the matching email. -
CheckRepSSN
This method will validate that a given SSN doesn't already exist in the system. A rep can be added to exclude from the check should that be the rep for whose SSN is being verified. -
CheckRepURL
This method will validate that a given URL doesn't already exist in the system. A rep can be added to exclude from the check should that be the rep for whose URL is being verified. -
CreateBackOfficeProfileNote
To post a static, non-critical note without any category or type selections in the Freedom Back office profile page of a rep or customer -
CreateCustomer
Once all items related to custom creation are completed, one can use this method to finalized the customer creation process. Note: For most of our clients, one can call this immediately after calling CreateOnlineCustomer. -
CreateCustomerPasswordResetKey
Use this API for generating a new password reset key for a given customer. This can be used in case the client uses their own AutoResponder system. -
CreateManualPayoutAdjustment
Allows the uploading of PayOut Adjustments through API. -
CreateMasterOrder
A master order is an order which holds other orders. This is like creating a party order without actually holding a party. Once a master order is created, one can assign other orders into the master order. For further information on Master Orders, it is suggested to contact ByDesign. -
CreateOnlineCustomer
This method allows one to create a temporary customer. In most instances, the returned Online Customer ID can be instantly used to create a permanent customer (see CreateCustomer). However, for some companies, a beginning order is sometimes created upon the customer creation. This can be done much like a rep signup process with an initial order creation. -
CreateOnlineCustomer_V2
This method allows one to create a temporary customer. In most instances, the returned Online Customer ID can be instantly used to create a permanent customer (see CreateCustomer). However, for some companies, a beginning order is sometimes created upon the customer creation. This can be done much like a rep signup process with an initial order creation. -
CreateOnlineOrder
This method is the starting block of the order creation process. This will essentially create a temporary order that allows one to add items for calculating total cost, shipping, and etc. One will need to create a temporary order prior to persisting the order. In order to create a finished order, create an online order, enter and add items and then use the CreateOrder method to finish the order. -
CreateOnlineOrder_V2
This method is the starting block of the order creation process. This will essentially create a temporary order that allows one to add items for calculating total cost, shipping, and etc. One will need to create a temporary order prior to persisting the order. In order to create a finished order, create an online order, enter and add items and then use the CreateOrder method. This v2 not only validates the value entered to each parameters and return success or fail result but also show the reason for failure. -
CreateOnlineSignup
This method is step #1 in creating a representative. Essentially, an online signup is a temporary record that holds a potential representatives information. One can enter the below information for a potential representative and create a signup order to go alone with it. There are other methods that one can use in order to finish creating a representative such as CreateRep, but it is strongly suggested to look through most methods in this webservice prior to attempting to create a representative. -
CreateOnlineSignup_v2
This method is step #1 in creating a representative. Essentially, an online signup is a temporary record that holds a potential representatives information. One can enter the below information for a potential representative and create a signup order to go alone with it. There are other methods that one can use in order to finish creating a representative such as CreateRep, but it is strongly suggested to look through most methods in this webservice prior to attempting to create a representative. Note: V2 allows for a different set of beginning parameters for the signup. A result of -4 means the password does not meet the minimum requirements. -
CreateOrder
This method can be used to finalize order creation. In most instances, only the online order id is needed except for signup when the online signup id can be used to associated the order with the rep creation. -
CreateOrder_V3
This method is used to finalize order creation. OnlineOrderID is required to create an order. OnlineSigupID indicates the order is associated to a rep. OnlineCustomerID indicates the order is associated to a customer. This method supports creating orders without a payment attached and allows specifying the order date. -
CreateOrder_v2
This method can be used to finalize order creation. In most instances, only the online order id is needed except for signup when the online signup id can be used to associated the order with the rep creation. This method support create orders without payment attached. -
CreateRep
Once a online signup is created and all items related to the signup are completed, one can submit the online signup id to this method in order to create the finalized representative. This method will return -1 for an invalid creation, or the actual RepDID of the finalized representative. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/order/OnlineSignup/CreateRep -
CreateRep_V2
The purpose of the new version of this API is to provide the ability to provide the user with a success/fail message and to install more useful and consumable error handling. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/order/OnlineSignup/CreateRep -
GenerateAR
This method will manually generate autoresponders dependent upon the type. Depending upon the client's setting, some of these are sent automatically during signup, order creation, and etc.. One will need to check with the client prior to calling this after each signup/order placement/etc. as that may end up with multiple autoresponders being generated. -
GetAvailableCredits
This method will return the available credits for a given Rep# or Customer#. -
GetCountries
This method will return the available countries. This can be used when running international shopping carts as it is possible to have different items available for each country, and Country must be used as defined by this function. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/Admin/Country. -
GetCountryStates
This will return the available states for one country or all states stored by country. Optional Inputs: Country are optional, if you don't provide a Country, complete list of states and country will be returned. INVALID_CREDENTIALS:Means that credentials are incorrect or invalid. COUNTRY_NOT_FOUND: Means that provided Country was not found in the system or no Country States are setup. TRANSACTION_DISPATCHED_EXCEPTION: In case we get an error in the transaction, we will comunicate that by this message. SUCCESS: Means that API method retrieved country states correctly. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/order/Address/CountryStates?cartCountry={cartCountry}. -
GetCreditTypes
Returns the available credit types that are not system generated -
GetCurrencyTypes
This will return all currency types in the system -
GetCustomPayoutMethodDetailsForRepDID
This method allows one to pull the custom detail information for a payout method that was defined from the backoffice. Since the format of the payout method can change from selections within the Freedom BackOffice. This method and the related update method are completely dynamic. One can use this method without passing a RepDID to see the format of the detail items needed for the payout method, or pass the payout method ID and the RepDID to return the format and the current values for the passed RepDID. -
GetCustomerByGuid
This method can be used to authenticate a customer for a given GUID and RepDID. This is normally done when using a link to go from one part of a website to another (separate domains). By giving the authentication information, this method will return whether or not the authentication info is valid and for which customer/rep it is valid. -
GetCustomerInfo
This function allows one to retrieve a customer's info for their given Customer #. -
GetCustomerInfoWithShipping
This function allows one to retrieve the customer information with both the billing and shipping information. -
GetCustomerInfoWithShipping_v2
GetCustomerInfoWithShipping() with the addition of the PreferredCulture in the response. -
GetCustomerInfoWithShipping_v3
GetCustomerInfoWithShipping() with the addition of the PreferredCulture and ReferCustomer and CustomersReferred in the response. -
GetCustomerInfoWithShipping_v4
GetCustomerInfoWithShipping() with the addition of the PreferredCulture and ReferCustomer and CustomersReferred in the response. -
GetCustomerInfo_v2
GetCustomerInfo() with the addition of the PreferredCulture in the response. -
GetCustomerInfo_v3
GetCustomerInfo() with the addition of the PreferredCulture and ReferCustomer and CustomersReferred in the response. -
GetCustomerInfo_v4
GetCustomerInfo() with the addition of the PreferredCulture and ReferCustomer and CustomersReferred in the response. -
GetCustomerLookup
To search customers -
GetCustomerStatusTypes
This method will return the available customer types within the system. -
GetCustomerTypes
This method will return the available customer types within the system. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/Admin/CustomerType. -
GetGiftCardAccounts
If a client is using gift cards, this method will return a list of gift card accounts currently setup. -
GetGiftCardFields
For a given gift card account, this method will return the fields related to the gift card setup. -
GetInventory_ByCategory
For a given Rep# or Customer#, PriceType (Retail, wholesale, etc.), Locale ID (default of 1), Category, and Country (USA, etc.) one can search for an Inventory Item. The Category used can be either the CategoryID or the category description -
GetInventory_ProductSearch
For a given Rep# or Customer#, PriceType (Retail, wholesale, etc.), and Locale ID (default of 1), one can search for an Inventory Item for a given search term and/or a price range. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_ProductSearch_v2
For a given Rep# or Customer#, PriceType (Retail, wholesale, etc.), Locale ID (default of 1), and Country (USA, etc.) one can search for an Inventory Item for a given search term and/or a price range. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_ProductSearch_v3
For a given Rep# or Customer#, PriceType (Retail, wholesale, etc.), Locale ID (default of 1), and Country (USA, etc.) one can search for an Inventory Item for a given search term and/or a price range. Note: The only difference between V2 and V3 is the format in which the data is returned. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_Shopping
For a given Rep# or Customer#, PriceType (wholesale, retail, etc.), and Locale ID (1 being default), one can retrieve all the shopping items available. Note: One can also specify whether AutoShip items should be returned or not. -
GetInventory_Shopping_v2
For a given Rep# or Customer#, PriceType (wholesale, retail, etc.), Locale ID (1 being default), and Country (USA, etc.), one can retrieve all the shopping items available. Note: One can also specify whether AutoShip items should be returned or not. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_Shopping_v3
For a given Rep# or Customer#, PriceType (wholesale, retail, etc.), Locale ID (1 being default), and Country (USA, etc.), one can retrieve all the shopping items available. Note: One can also specify whether AutoShip items should be returned or not; also, the only difference between V2 and V3 is the format in which the data is returned. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_Shopping_v4
This method retrieves all the shopping items available for a given Rep# or Customer#, PriceType (wholesale, retail, etc.), and Country, but, in addition to previus versions, this retrieves the tax rate and tax included price of the items. Also, you can only define Rep# or Customer# and leave PriceType and Country empty in order to use the shipping information and rank type of the given Rep# or Customer# (Use this option if the company uses a Tax Engine that needs further information than just the Country for calculating taxes). Besides you can only define PriceType and Country and don't provide any Rep# or Customer#.
Optional Inputs: State, County, City, PostalCode and ShipGeoCode are optional, they can be usefull in case that the Tax Engine needs them and any Rep# or Customer# was provided.
Additional Required Inputs: LocaleID (1 being default), AutoShip (specify whether AutoShip items should be returned) and IncludeTax (specify whether PriceInclTax and TaxRate output parameters should be calculated, if IncludeTax is set to False, PriceInclTax and TaxRate will be null).
Output Messages: This method will return a status message of the transaction. Besides, the output Success will return 1 or 0 if there was success or not, respectively
INVALID_CREDENTIALS: Means that credentials are incorrect or invalid
INVALID_COUNTRY: Means that provided Country was not found in the system
INVALID_PRICETYPE: Means that provided price type was not found in the system
INVALID_REPNUMBER: Means that provided Rep# was not found in the system
INVALID_CUSTOMERNUMBER: Means that provided Customer# was not found in the system
COUNTRY_IS_REQUIRED: Occurs when Rep# and Customer# are empty, and PriceType is defined but Country is empty. Due this API method returns tax information of shopping items, always Country is requiered if Rep# or Customer# are not provided.
PRICETYPE_IS_REQUIRED: Occurs when Rep# and Customer# are empty, and Country is defiened but PriceType is empty. Due this API method returns shopping items available for a price type, always PriceType will be requiered if user doesn't define nether Rep# nor Customer#.
INVALID_PARAMETERS_PROVIDED: Occurs when Rep#, Customer#, Country and, PriceType are empty.
TRANSACTION_DISPATCHED_EXCEPTION: In case we get an error in the transaction, we will communicate that by this message.
NO_DATA_FOUND: This is not an error. Success output is set to 1. This message indicates that query was executed correctly but doesn't retrieve any shopping item.
SUCCESS: Means that API method retrieved shopping items correctly.
Other Notes: If IncludeTax is set enable, and items were retrieved successfully but TaxRate and PriceInclTax are NULL means this method was not able to calculate the tax rate with the given shipping information or price type. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_Shopping_v5
This method retrieves all the shopping items available for a given Rep# or Customer#, PriceType (wholesale, retail, etc.), Country, also this retrieves the tax rate and tax included price of the items. But, in addition to previus versions, this method now pass Warehouse Information and 'On Hand' amounts for each warehouse returned.
Optional Inputs: State, County, City, PostalCode and ShipGeoCode are optional, they can be usefull in case that the Tax Engine needs them and any Rep# or Customer# was provided.
Additional Required Inputs: LocaleID (1 being default), AutoShip (specify whether AutoShip items should be returned) and IncludeTax (specify whether PriceInclTax and TaxRate output parameters should be calculated, if IncludeTax is set to False, PriceInclTax and TaxRate will be null).
Output Messages: This method will return a status message of the transaction. Besides, the output Success will return 1 or 0 if there was success or not, respectively
INVALID_CREDENTIALS: Means that credentials are incorrect or invalid
INVALID_COUNTRY: Means that provided Country was not found in the system
INVALID_PRICETYPE: Means that provided price type was not found in the system
INVALID_REPNUMBER: Means that provided Rep# was not found in the system
INVALID_CUSTOMERNUMBER: Means that provided Customer# was not found in the system
COUNTRY_IS_REQUIRED: Occurs when Rep# and Customer# are empty, and PriceType is defined but Country is empty. Due this API method returns tax information of shopping items, always Country is requiered if Rep# or Customer# are not provided.
PRICETYPE_IS_REQUIRED: Occurs when Rep# and Customer# are empty, and Country is defiened but PriceType is empty. Due this API method returns shopping items available for a price type, always PriceType will be requiered if user doesn't define nether Rep# nor Customer#.
INVALID_PARAMETERS_PROVIDED: Occurs when Rep#, Customer#, Country and, PriceType are empty.
TRANSACTION_DISPATCHED_EXCEPTION: In case we get an error in the transaction, we will communicate that by this message.
NO_DATA_FOUND: This is not an error. Success output is set to 1. This message indicates that query was executed correctly but doesn't retrieve any shopping item.
SUCCESS: Means that API method retrieved shopping items correctly.
Other Notes: If IncludeTax is set enable, and items were retrieved successfully but TaxRate and PriceInclTax are NULL means this method was not able to calculate the tax rate with the given shipping information or price type. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_Signup
For a given Rep#, PriceType (Retail, Wholesale, etc.), and Locale ID (default of 1), one can retrieve all Inventory Items available for signup. -
GetInventory_Signup_AddtlOptions
For a given Rep#, PriceType (Retail, Wholesale, etc.), Locale ID (default of 1), and Country (USA, etc.), one can retrieve all the additional signup items available. -
GetInventory_Signup_v2
For a given Rep#, PriceType (Retail, Wholesale, etc.), Locale ID (default of 1), and Country (USA, etc.), one can retrieve all Inventory Items available for signup. -
GetInventory_Signup_v3
For a given Rep#, PriceType (Retail, Wholesale, etc.), Locale ID (default of 1), and Country (USA, etc.), one can retrieve all Inventory Items available for signup. Note: The only difference between V2 and V3 is the format of the items returned. -
GetInventory_SingleItem
This function allows one to enter the context for a single item and retrieve that item. One can enter the product ID, Rep# or Customer#, PriceType (retail, wholesale, etc.), and the Locale ID (default 1) to retrieve the item. Note: Should a Price type not exists for that product ID for the current rank of the Rep or Customer's Rep, this function will not return the item as the system will not allow that item to be purchased for the given Rep/Customer. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_SingleItem_v2
This function allows one to enter the context for a single item and retrieve that item. One can enter the product ID, Rep# or Customer#, PriceType (retail, wholesale, etc.), Locale ID (default 1), and the Country (USA,etc.) to retrieve the item. Note: Should a Price type not exists for that product ID for the current rank of the Rep or Customer's Rep, this function will not return the item as the system will not allow that item to be purchased for the given Rep/Customer. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetInventory_SingleItem_v3
This function allows one to enter the context for a single item and retrieve that item. One can enter the product ID, Rep# or Customer#, PriceType (retail, wholesale, etc.), Locale ID (default 1), and the Country (USA,etc.) to retrieve the item. Note: Should a Price type not exists for that product ID for the current rank of the Rep or Customer's Rep, this function will not return the item as the system will not allow that item to be purchased for the given Rep/Customer. Also, the only difference between V2 and V3 is the format in which the data is returned. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/inventory/InventoryShopping. -
GetLocales
This function will return the available locales. For most instances, only one locale [Default:1] will exist. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/Admin/Locale. -
GetLocalesbyShipCountry
This will return locale information based on the ShipCountry in the system -
GetMiscFieldValue
This method will return the value of a misc field. -
GetMiscFields
This method will return the misc fields defined for a specific Primary Table. PrimaryTable is the table which is being extended with MiscFields. -
GetPayOutAdjustmentTypes
Returns a data set of the PayOut Adjustment types by Description. -
GetPayoutMethods
This method will return the available payout methods within the system. -
GetPersonalizations
For a given orderid/onlineorderid, orderdetailid/onlineorderdetailid, and classification (1=OnlineOrderID,2=OrderID), one can see all the personlizations related to that detail item. -
GetRankTypes
This method will return the available rank types in the system. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/admin/rankType -
GetRelationshipDetails
This method allows one to see the relationship items for a given orderdetailid/onlineorderdetailid and item number context. -
GetRepByGuid
For a given GUID & IPAddress, this method will authenticate a user. Note: The IP Address validation is controlled by an internal setting in the clients' BackOffice so this can be turned on or off dependent upon the client's security requirements. -
GetRepCodedUplineInfo
This method will return a table with Rep's Coded Upline Information, specifically it will return Coded Description and UplineRepDID related to it. -
GetRepCustomers
For a given rep number, this method will return all customers who were sponsored for a particular representative. -
GetRepInfo
This method will return information for a representative for its given Rep# or URL. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/rep/PublicInfo?repDID={repDID}. -
GetRepInfo_V2
This method will return information for a representative for its given Rep# or URL. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/rep/PublicInfo?repDID={repDID}. -
GetRepInfo_V3
This method will return information for a representative for its given Rep# or URL. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/user/rep/{repDID}/info -
GetRepPassword
This function allows one to retrieve the password for a given Rep# or Rep URL. Note: There are other functions that can be used to transact logins. This should only be used when only the password is required. (To verify the user again prior to modifying account settings...etc.) -
GetRepPayoutMethodInfo
For a given RepDID, this method will return the payout method information for that representative. -
GetRepPayoutMethodInfoV2
For a given RepDID, this method will return the payout method information for that representative. -
GetRepPrefPlacementInfo
This method will return the current preferred placement for a representative. -
GetRepTypes
This method will return the available rep types in the system. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/admin/repType -
GetRepUpline
This method will retrieve the upline by placement information for a given rep # in a genealogy type.
Input parameters:
RepDID: Rep # whose upline the client wishes to retrieve.
GenealogyType: Identifier # of the Genealogy Type. Consult ByDesign support for knowing the your enabled Genealogy Types and their identifiers.
Leves: Number of upline levels to return. Accepts NULL. NULL returns all upline levels.
Output Messages: This method will return a status message of the transaction. Besides, the output Success will return 1 or 0 if there was success or not, respectively.
INVALID_CREDENTIALS: Means that credentials are incorrect or invalid.
INSUFFICIENT_USER_RIGHTS: Means that credentials are correct but don't have the needed access rights to use this method.
INVALID_REPDID_PROVIDED: Means that provided Rep# was not found in the system.
INVALID_GENEALOGYTYPE: Occurs when GenealogyType has an invalid value.
REPDID_IS_REQUIRED: Occurs when Rep# is empty.
TRANSACTION_DISPATCHED_EXCEPTION: In case we get an error in the transaction, we will communicate that by this message.
NO_UPLINE_FOUND: This is not an error. Success output is set to 1. This message indicates that query was executed correctly but doesn't retrieve any upline.
SUCCESS: Means that API method retrieved upline info correctly.
Other Notes: Records are returned in ascending order. -
LoginCheck_Customer
This method can be used to authenticate a customer using the customer's user name and password. -
LoginCheck_Rep
This method can be used to authenticate a representative using the representative's user name (RepDID or EmailAddress) and password. -
MoveCustomerToNewRep
This method allows one to move a customer from one rep to another. Please do not use this method unless one has a clear understanding of the possible consequences with the clients bonus concerning volume totals. It is strongly recommended to call ByDesign concerning the effect moving a customer has on the orders related to that customer and the related volume. -
MoveCustomerToNewRep_V2
This method allows one to move a customer from one rep to another. Please do not use this method unless one has a clear understanding of the possible consequences with the clients bonus concerning volume totals. It is strongly recommended to call ByDesign concerning the effect moving a customer has on the orders related to that customer and the related volume. -
OnlineOrder_AddItem
This method allows one to add an item to an online order. Since this method is called millions of times a day, only an integer is returned. This can make it tricky to figure out why certain items may not be ending up in the cart. The #1 reason that a item isn't added to a cart is because a PriceType doesn't exist for the Rep's/Customer's Rank/Type/etc. If one can't add an item that is believed to be able to be purchased, it is best suggested to call support which can help one ascertain as to why it is not able to be purchased. -
OnlineOrder_AddItemByPriceType
This method is the same as OnlineOrder_AddItem except that one may specify the Price Text (retail, etc.) -
OnlineOrder_AddItem_V2
This method allows one to add an item to an online order. Since this method is called millions of times a day, only an integer is returned. This can make it tricky to figure out why certain items may not be ending up in the cart. The #1 reason that a item isn't added to a cart is because a PriceType doesn't exist for the Rep's/Customer's Rank/Type/etc. If one can't add an item that is believed to be able to be purchased, it is best suggested to call support which can help one ascertain as to why it is not able to be purchased. This v2 validates the value entered to each parameter, returns success or fail result and the reason for failure. -
OnlineOrder_AddMultipleItems
This method works the same as OnlineOrder_AddItem except that one may add multiple items at once. -
OnlineOrder_Autoship_AddItem
This method allows one to add an AutoShip item to an online order. Just as with adding a regular item to an online order, the price type for AutoShip must exist in order for the item to be added. -
OnlineOrder_Autoship_AddItem_V2
This method allows one to add an AutoShip item just like OnlineOrder_Autoship_AddItem except that one may specify the next date of shipment. -
OnlineOrder_Autoship_AddItem_V3
This method works exactly like OnlineOrder_Autoship_AddItem_V2 except that one may also specify a particular shipping method to be used for the AutoShip Orders to be generated. -
OnlineOrder_Autoship_ClearItem
This method allows one to clear a particular AutoShip item given the Online Orders AutoShip Detail ID associated to the item. -
OnlineOrder_Autoship_ClearItems
This method will clear all AutoShip items associated to a particular online order id. -
OnlineOrder_Autoship_GetItems
This method will return the list of AutoShip items associated with a given online order id. -
OnlineOrder_Autoship_SetDate
If the date of next shipment wasn't defined for an item added to an online order, one can speify the shipment date using this method for a given online order id, date of shipment, and period day. -
OnlineOrder_ClearItem
This method will clear a detail item from the Online Order specified. -
OnlineOrder_ClearItems
This method will clear all items from an Online Order specified. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/order/OnlineOrder/Clear?onlineOrderId={onlineOrderId}. -
OnlineOrder_DeleteDraftOrder
When using master orders, this allows one to delete a saved/draft order associated to a master order id. -
OnlineOrder_GetDraftOrders_Master
When using master orders, this will return all saved/drafted master orders for a particluar rep number. -
OnlineOrder_GetItems
This will return the list of items that have been added to an online order id. This is how one can retrieve volume and other prices (compare/etc.) -
OnlineOrder_GetItems_v2
This is the same as OnlineOrder_GetItems except that the response is in a DataSet. -
OnlineOrder_GetShipMethods
This method will return the list of available shipping methods for a given State, Country, Weight, and POBOX. However, it is strongly suggested to use the second version of this method along with an Online Order ID as it will be easier and allow for fewer errors between systems. -
OnlineOrder_GetShipMethods_v2
This method will return the allowable shipping methods for a specified online order. Note: Because different shipping methods will be available depending upon setup and territory. One should always call this method to return the shipping methods for a specified online order as even the total weight of an online order can change which shipping methods are available. -
OnlineOrder_GetShipMethods_v3
This method will return the allowable shipping methods for a specified online order. Note: Because different shipping methods will be available depending upon setup and territory. One should always call this method to return the shipping methods for a specified online order as even the total weight of an online order can change which shipping methods are available. In addition to previus versions, this retrieves the tax rate and tax included shipping price of the online order for the found shipping methods. This is useful for those companies that manage Simple Extended Tax Engine for handling VAT tax calculations.
Other Inputs: LocaleID (1 being default) and IncludeTax (specify whether PriceInclTax and TaxRate output parameters should be calculated, if IncludeTax is set to False, PriceInclTax and TaxRate will be null).
Output Messages: This method will return a status message of the transaction. Besides, the output Success will return 1 or 0 if there was success or not, respectively
INVALID_CREDENTIALS: Means that credentials are incorrect or invalid
INVALID_ONLINEORDERID: Means that provided OnlineOrder# was not found in the system
NO_SHIPCOUNTRY_FOUND: Means that user set IncludeTax enable and provided OnlineOrder# does not have an allocated ship country yet. For calculating shipping tax is mandatory to set at least a shipping country.
TRANSACTION_DISPATCHED_EXCEPTION: In case we get an error in the transaction, we will communicate that by this message.
NO_DATA_FOUND: This is not an error. Success output is set to 1. This message indicates that query was executed correctly but doesn't retrieve any shipping method.
SUCCESS: Means that API method retrieved shipping methods correctly.
Other Notes: If IncludeTax is set enable, and records were retrieved successfully but TaxRate and PriceInclTax are NULL means this method was not able to calculate the shiping tax rate for the found ship methods. -
OnlineOrder_GetSubOrders_Master
When using master orders, this will return all associated online orders for a master order id. -
OnlineOrder_GetTotals
This method will return the list of totals for a given Online Order ID. -
OnlineOrder_GetTotals_Master
This method will return the list of totals for a given master order id. -
OnlineOrder_GetWeight
This method will return the total weight for the online order. Note: Some companies keep weight in different units other then ounces. It is suggested to check with the client for whom one is integrating as to what unit the weight is recorded in. -
OnlineOrder_SetShippingOverride
If using a custom or override shipping method, one can use this method to note that the order is having the shipping method overridden as well as how much the shipping will cost. -
OnlineOrder_SetShippingOverride_V2
If using a custom or override shipping method, one can use this method to note that the order is having the shipping method overridden as well as how much the shipping will cost. -
OnlineOrder_SubmitOrder_Master
This method will attempt to submit a master order. A dataset is returned with the information concerning the success or failure of the submission of each associated order. -
OnlineOrder_UpdateCreditAmount
If credit is available and will be used, this method can be used to update the amount of credit being applied to a given online order id. -
OnlineOrder_UpdateCreditAmount_Master
If using master orders and credit is available and being used, this method can be used to define the amount of credit being applied to the master order id. -
OnlineOrder_UpdateCustomerID
This method allows one to update the associated customer for a given online order id. -
OnlineOrder_UpdateItem
This method allows one to update the quantity of a particular item for a given online order detail id -
OnlineOrder_UpdateShipMethod
One can use this method to update the shipping method for a given Online Order ID. -
OnlineOrder_UpdateShipMethod_GetTotals
This is a version of OnlineOrder_UpdateShipMethod extended to return new order totals. -
Payment_ACH
This method allows one to submit an ACH payment for a given online order id and ACH payment information. -
Payment_ACH_International
This allows a user to input values that would be expected on an international ACH payment. Not all values need to be used depending on the international setup. If a routing number is left blank, the value '000000000' will be used. This is what most banks expect in each particular output file if no routing number is used. -
Payment_BankDeposit
This method allows one to enter a bank payment for a given online order id. -
Payment_Cash
This method allows one to define a cash payment for a given online order id. -
Payment_CheckDraft
This method allows one to submit a check draft payment for a given online order id and check draft information. -
Payment_CreditCard
This method allows one to add a payment for a given online order id. Note: If testing is true, the payment will be added, but no transaction will be made with the processor. As long as the card passes the MOD2 test, the payment will transact successfully. -
Payment_CreditCardStore
This method allows adding a Credit Card payment to an online order. -
Payment_CreditCard_Transaction_Info
Allows entry of credit card information for a credit card transaction that has already been completed. -
Payment_CreditCard_v2
This method allows one to submit a credit card payment for a given online order id and credit card information. Note: TestMode submits the payment only to be saved, no transaction with the payment processor is made. As long as the card # passes the credit card validation, the payment will submit correctly. -
Payment_CreditCard_v2_Master
This method allows one to submit a credit card payment for a given master order id and credit card information. Note: In test mode, no transaction is made with the credit card processor. As long as the card is valid, the payment will submit successfully. -
Payment_Custom
This method allows one to make a custom payment for a given online order id. This method should only be used when instructed by ByDesign as one will need a custom PaymentType string in order to transact the payment correctly. -
Payment_DebitCard
Allows for payments by Debit Card through API -
Payment_DisconnectedStore
This method allows adding a Disconnected payment to an online order. -
Payment_Realtime_ECheck
This executes realtime ECheck processing using the primary echeck account as defined in back office. -
Payment_Tokenized
This method allows a recurring payment processing for Tokenized Payments. -
Payment_TokenizedRequest_Adyen
This method will return the parameters needed to build the redirection form for Adyen hosted payment pages. For using this method, a tokenized payment account using Adyen as tokenized payment processor is required to be configured. If the TokenizedPaymentAccountID input parameter is NOT sent, this method will use the entered online order # for assigning the correct tokenized payment account based on the online order territory. Contact ByDesign Support for the correct payment details to use based on the tokenized processor configured in Freedom. -
Payment_TokenizedRequest_Cybersource
This method will return the parameters needed to build the redirection form for CyberSource Secure Acceptance Web/Mobile. For using this method, a tokenized payment account using Cybersource as tokenized payment processor is required to be configured. If the TokenizedPaymentAccountID input parameter is NOT sent, this method will use the entered online order # for assigning the correct tokenized payment account based on the online order territory. Contact ByDesign Support for the correct payment details to use based on the tokenized processor configured in Freedom. -
Payment_TokenizedStore
This method allows adding a tokenized payment to an online order. Unlike Payment_Tokenized method, this one only stores the payment information into the online order without processing a new recurring payment from Freedom to the tokenized processor. Use this method when you generated a payment using a tokenized processor in your own shopping cart and you want to store the payment authorization to the online order. For using this method you will need to configure a tokenized payment account. If the TokenizedPaymentAccountID input parameter is NOT set, this method will use the entered online order # for assigning the correct tokenized payment account based on the online order territory. Contact ByDesign Support to know the correct payment details to use based on the tokenized processor configured in Freedom. -
Payment_TokenizedVerifyResponse_Adyen
This method will verify the integrity of the information being returned, as a result of a payment request/result of Adyen Hosted Payment Pages. If OnlineAPI:Payment_TokenizedRequest method is used to generate the redirection parameter needed to connect to Adyen Hosted Payment Pages, a payment result from Adyen is received. This method is used to verify these Payment Result parameters when the shopper returns to their original site. Freedom will use the HMAC algorithm along with the HMAC secret key to calculate the correct signature of the input parameters and will compare the result with MerchantSig input parameter. If those values match, this method will return a success response. If a mismatch is detected in these values, this method will return a HMAC_VALIDATION_FAILED message. If the TokenizedPaymentAccontID input parameter is NOT set, this method will use the entered online order # for assigning the correct tokenized payment account based on the Online Order Territory. -
Payment_TokenizedVerifyResponse_Adyen_V2
This method will verify the integrity of the information being returned, as a result of a payment request/result of Adyen Hosted Payment Pages. In this version Freedom will use the HMAC-256 algorithm (Payment_TokenizedVerifyResponse_Adyen method uses HMAC-SHA1) along with the HMAC secret key to calculate the correct signature of the SignatureString input parameter and will compare the result with MerchantSig input parameter. If those values match, this method will return a success response. If a mismatch is detected in these values, this method will return a HMAC_VALIDATION_FAILED message. If the TokenizedPaymentAccontID input parameter is NOT set, this method will use the entered online order # for assigning the correct tokenized payment account based on the Online Order Territory.
MerchantSignatureString parameter must follow Adyen's specification which is:
- Remove the following keys, as they are not used in the signature: a)sig b) merchantSig c) Any keys whose name starts with ignore. (dot included).
- Concatenate the key names, first; then, the key values.
- Use a colon (":") to delimit key names and key values.
- Escape embedded "\" characters as "\\", and embedded ":" as "\:".
-
Payment_TokenizedVerifyResponse_Cybersource
This method will verify the integrity of the information being returned, as a result of a payment request/result of Cybersource hosted payment pages. If OnlineAPI:Payment_TokenizedRequest_Cybersource method is used to generate the redirection parameter needed to connect to Cybersource hosted payment pages, a payment result from Cybersource is received. This method is used to verify these Payment Result parameters when the shopper returns to their original site. Freedom will use the HMAC algorithm along with the Secret key to calculate the correct signature of the input parameters and will compare the result with Signature input parameter. If those values match, this method will return a success response. If a mismatch is detected in these values, this method will return a HMAC_VALIDATION_FAILED message. If the TokenizedPaymentAccontID input parameter is NOT set, this method will use the entered online order # for assigning the correct tokenized payment account based on the Online Order Territory.
Optionally, SignatureString input parameter can be used to send the formatted chain of characters to be verified. When SignatureString is sent, then only Signature field is required and TokenizedPaymentAccontID is still optional.
SignatureString parameter must follow Cybersource's specification which is:
- Concatenate the field's name and values received from Cybersource with the format: FieldName1=FieldValue1
- Use a comma (",") to delimit the pairs.
- Only fields contained in signed_field_names field sent by Cybersource must be send in SignatureString.
-
Payment_Tokenized_Declined
This method is used to collect any payment transaction made in any Tokenized Hosted Payment page that returns a decline response. This will feed reports that display results of payment tokenized processor for shopping cart orders. Use this method when the payment transaction is refused or declined. -
ProcessGiftCard
For a given Online Order ID, one can transact a gift card payment using the GiftCardTransactionRequest request object. -
SeamlessExtranetLoginCustomer
For a given CustomerID and IPAddress, this method will return a GUID to be used to allow for a seamless authentication between multiple systems. This guid can be used in Freedom's Extranet via the login page to allow a seamless login. Simply use this guid in the query string in the link (like /Shopping/cartPassThru.asp?guid={GUID}) to log the representative in seamlessly. -
SeamlessExtranetLoginRep
For a given RepDID and IPAddress, this method will return a GUID to be used to allow for a seamless authentication between multiple systems. This guid can be used in Freedom's Extranet via the login page to allow a seamless login. Simply use this guid in the query string in the link (like /login.aspx?Guid={GUID}) to log the representative in seamlessly. -
SendCustomerPasswordReset
This function allows one to send a reset password email to a customer. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/users/customer/sendPasswordReset?customerDID={customerDID}&langKey={langKey}. -
SetCoApplicant
This method allows one to setup a co-applicant for an online signup (new rep). The information specified is then applied to the online signup record given with the co-applicant information. -
SetCustomerType
Sets a customer to the specified type. For a list of types, please use the webmethod GetCustomerTypes. -
SetMiscFieldValue
This method will return the value of a misc field. -
SetSignupPlacement
This method allows one to specify a particular placement for a new online signup (new rep). One can specify the rep number and the BCposition. Depending on the Genealogy of the client one is using, this can values such as 'L' or 'R' or '1','2','3','4' etc. One may need to contact ByDesign in order to find which BCPosition values are accepted for the client one is programming for. -
TranscardSignup
Updates a Reps payout profile with the given TransCard information -
UpdateAttributes
To post a static, non-critical note without any category or type selections in the Freedom Back office profile page of a rep or customer -
UpdateCustomPayoutMethodDetailsForRepDID
This method allows one to update the information for a custom payout method. See the method GetCustomPayoutMethodDetailsForRepDID in order to retrieve the detail specifications for a particular payout method ID. -
UpdateCustomerInfo
This method allows one to update a customer's information. Note: Only the properties which are instantiated will be updated. -
UpdateCustomerInfoWithShipping
This method allows one to update a customer's information while also updating the default shipping information as well. -
UpdateCustomerInfo_v2
A version of UpdateCustomerInfo() that also accepts the PreferredCulture. -
UpdateCustomerInfo_v3
A version of UpdateCustomerInfo() that also accepts the PreferredCulture. -
UpdateCustomerInfo_v4
A version of UpdateCustomerInfo() that also accepts the PreferredCulture. -
UpdateCustomerPassword
Use this API for storing the new password set by a customer. In order to validate the customer request of updating his password we will request the Customer # and the PasswordResetKey recently generated by the customer. Deprecation Note: This API has been deprecated in favor of our REST API: ~/api/users/customer/createPassword/{customerDID}/{passwordResetKey}/{newPassword}. -
UpdateOnlineCustomer
For a given OnlineCustomerID, this method will update online customer information. Only populated input fields will be updated. -
UpdateOnlineOrderAddress
This method allows one to update the addresses associated with an online order. -
UpdateOnlineOrderAddressByProfile
This method allows one to update an online order's address for a given shipping profile id. Note: One can retrieve the shipping profiles using the method GetShippingProfiles from within the Extranet API. -
UpdateOnlineSignup
For a given OnlineSignupID, this method will update online signup information. Only populated input fields will be updated. -
UpdatePassword
This method can be used to update a customer or representative password. The ID parameter can be used as the ID of the customer or rep, and the type (0=Rep,1=Customer) can be used to identify the context of the ID. A result of -1 indictes that a password does not meet the minimum requirements. -
UpdateRepInfo
This function allows one to update a Rep's information. Note: One doesn't always need to include all properties, only the properties instantiated will be updated. -
UpdateRepInfo_v2
This function allows one to update a Rep's information. Note: One doesn't always need to include all properties, only the properties instantiated will be updated. -
UpdateRepPayoutMethodInfo
This method allows one to update a representative's payout method information. Note: One should use UpdateRepPayoutMethodInfoV2. -
UpdateRepPayoutMethodInfoV2
This method allows one to update a representative's payout method information. Note: It is usually best to contact the client or ByDesign concerning what payout method type ID should be used as that can change according to the representative's territory in certain client's situations. -
UpdateRepPrefPlacement
This method will allows representative's preferred placement to be updated. Note: The placement position context can change depending upon the genealogy type of the client. It is suggested to contact ByDesign concerning the correct placement type to use and how it correlates to the placement during enrollment. -
UpgradeCustomer
This method will be used to upgrade the customer to a rep, and will tranfer all the customer AutoShip Profiles to rep profile, and update rep notes -
ValidateCCNumber
This method will validate a given number against various methods to make sure it matches a legitimate credit card number format. -
ValidateEmail
This method will validate whether a given string is an email or not. -
ValidatePartyID
For a given numerical ID, this will return whether or not a valid open party exists with that ID. If a party for the given ID exists, a short detail of information concerning the party will be returned. -
ValidateRoutingNumber
This function will validate a routing number (from a banking account) to make sure it mactches ABA standards. -
VerifyCustomerNumber
This method will validate a given customer number to make sure it is in the system. -
VerifyRepNumber
This method will validate a given rep number to make sure it exists in the system as well as active. -
Version
This method will return the current version of the Online API. -
ZipLookup
This method allows one to see the accessible cities, states, and counties for a given zip code. This is best used by allowing a user to enter the zip code and then giving drop-down options for city, state, and county. -
ZipLookup_v2
This method allows one to see the accessible cities, states, and counties for a given zip code. This is best used by allowing a user to enter the zip code and then giving drop-down options for city, state, and county. Note: The only different between ZipLookup and ZipLookup_V2 is the format in which the data is returned. -
ZipLookup_v3
This method allows one to see the accessible cities, states, and counties for a given zip code and country. This is best used by allowing a user to enter the zip code and then giving drop-down options for city, state, and county. Note: The only different between ZipLookup_V2 and ZipLookup_V3 is the ability to specify the Country parameter.