Customer Service schemas
The Customers namespace is concerned with Customer and Company management.
Accounts
Account
An Account is related to a Customer. Each Account can belong to only one Application. When creating Customers you need to define a Customer.Account if you want the customer to be able to login. This is useful when the application supports My page with order history and such.
The internal Id of the Account. This value should be used as updatedBy/createdBy in API-Methods. When creating a new Account on a Customer leave this blank as Storm will generate the Id.
The system wide unique Key for the Account.
This is the login name used when logging in. Normally this is the email address. Care must be taken when user updates their emailAddress. Normally this update is just for Customer.Email. It is up to the Application to keep Customer.Email in sync with Account.LoginName if they are the same. MaxLength: 255.
This is the full name of the connected Customer's first and last name. MaxLength: 100.
This is an integer list of Role.Ids. See Application.Roles for available roles for the Application. This can be used to authorize roles to different parts of an Application.
This is an IdValue list of Authorizations. See Application.Authorizations for available values for the Application. This can be used to authorize users to different parts of an Application.
Indicates if the Account is Active or not. Use UpdateAccountStatus to change this value.
AgreementAccount
An AgreementAccount is a special account connected to a priceList. Users can login to an AgreementAccount if the priceList is setup with a code. Note that when using AgreementAccounts any agreement code must be unique amongst all priceLists.
The PriceListId of the PriceList logged in to.
The Name of the AgreementAccount/PriceList. MaxLength: 50.
The StartDate of the AgreementAccount/PriceList.
The EndDate of the AgreementAccount/PriceList.
A unique id for the image at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters.
Indicates if prices should be shown inc or ex VAT.
Address
Information about an address. Addresses appear as InvoiceAddress or DeliveryAddresses or when ever an Address is needed
The internal Id of the Address. When creating a new Address leave this blank as Storm will generate the Id.
The CareOf of the Address. MaxLength: 100.
The first address line of the Address. MaxLength: 255.
The second address line of the Address. MaxLength: 255.
The zip code of the Address. MaxLength: 50.
The City of the Address. MaxLength: 50.
The internal Id for the country associated to the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Id is specified it will be used to resolve the Name. If none is specified the default for the Application will be used.
The country name of the Address. When creating or updating Country on an Address either specify the CountryId or just the Country string. If Name is specified it will be used to resolve the Name and Id. Name should then be specified as Country.Code since Names are culture specific. If none is specified the default for the Application will be used. MaxLength: 50.
The Region of the Address. MaxLength: 50.
Indicates if the address had been validated. It is up to the Application to validate addresses. Use normal address-methods to update this value.
The Global Location Number (GLN) is part of the GS1 systems of standards. It is a simple tool used to identify a location and can identify locations uniquely where required. This is only used for invoice addresses. MaxLength: 50.
Phone number for shipping address. Only applicable in shipping addresses. MaxLength: 50.
Companies
Company
Information about a Company.
The internal Storm Id for the Company. When creating a new Company leave this blank as Storm will generate the Id.
The system wide unique Key of the Company.
The external code. Usually the id in the erp system. MaxLength: 50.
The Name of the Company. MaxLength: 100.
The organizational number of the Company. Used to identify the Company for some payment methods. The combination of OrgNo and Name must be unique. MaxLength: 50.
The Phone number of the Company. MaxLength: 50.
Used to tag a Company with some external id.
Used to tag a Company with an incoming URL. MaxLength: 255.
A list of delivery Addresses for the Company. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process.
Can be used when updating or inserting addresses on Company. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified.
Contains a list of id-value pairs specific to the client for this company. Use ApplicationService.ListCompanyInfoTypes for id lookup.
Contains a list of priceList ids valid for this company. It will be empty if no priceLists exist. It can be used to check products lists if they are from a company specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where.
Points to an optional parent company. Used when companies are connected some how.
Contains a list of delivery method ids valid for this company. It will be empty if no delivery methods exist.
Contains a list of payment method ids valid for this company. It will be empty if no payment methods exist.
The Email address of the Company. MaxLength: 255.
A list of Flags of the Company. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Companies.
This is the VAT registration number for the company. MaxLength: 50.
CompanyDiscount
Company discounts are specific discounts that are not based on priceLists and applied on product prices before display. Best price will be taken. Discounts are not stackable.
The TypeId defines the rule for how Value is interpreted. 1 = Category discount, 2 = DiscountCode on product. Cannot be changed.
The value to check for on products. If TypeID = 1 then discounts are valid for all products belonging to Category with Category.Code = Value. If TypeId = 2 then the product's discount code is checked. Cannot be changed. MaxLength: 50.
The actual discount percentage. Ex: 15.00 equals 15% discount.
An optional comma-separated list of priceList type-ids for which the discount is valid. MaxLength: 50.
CompanyPaymentMethod
Defined payment method for a Company.
The external code of the company. MaxLength: 50.
The external code of the payment method. MaxLength: 50.
The invoice capture settings code (if any is set). MaxLength: 50.
Whether or not the company payment method is active.
Contact
Obsolete
, will be removed in a coming version. Information about a Contact. Contacts are people not acting ac Customers in an Application. Contacts are created in the Admin UI.
The internal Id of the Contact.
The system wide unique Key for the Contact.
The external code. Usually the id in the erp system. MaxLength: 50.
The ResponsibilityId of the Contact.
The Email of the Contact. MaxLength: 255.
The FirstName of the Contact. MaxLength: 50.
The LastName of the Contact. MaxLength: 50.
The Phone number of the Contact. MaxLength: 50.
The CellPhone number of the Contact. MaxLength: 50.
MaxLength: 255. Obsolete! - Use ImageKey
A unique id for the image at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters.
Customers
Customer
Information about a Customer.
The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id.
The system wide unique Key of the Customer.
The external code. Usually the id in the erp system. MaxLength: 50.
The Email address of the Customer. MaxLength: 255.
The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50.
The FirstName of the Customer. MaxLength: 50.
The LastName of the Customer. MaxLength: 50.
The PhoneNumber of the Customer. MaxLength: 50.
The CellPhone number of the Customer. MaxLength: 50.
Used to tag a Customer with some external id.
Used to tag a Customer with an incoming URL. MaxLength: 255.
A list of Companies. A Customer can have many Companies. The first will be used as default. In the Checkout process just pass in one Company if any is to be used or the first will be used as default.
A list of delivery Addresses for the Customer. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process.
A list of Flags for the Customer. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Customers.
Can be use when updating or inserting addresses on Customer. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified.
Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup.
Contains a list of priceList ids valid for this customer. It will be empty if no priceLists exist. It can be used to check products lists if they are from a customer specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where.
Used to save the Customers external id from a crm-system MaxLength: 50.
Specifies if the Customer is active or not.
When the customer was created.
When the customer was last updated.
Flags
CustomerFlag
Information about all available flags for Customer or Company.
The internal Id of the CustomerFlag.
The name of the CustomerFlag. MaxLength: 50.
The description of the CustomerFlag. MaxLength: max.
The sort order of the CustomerFlag.
Flag
Information about a flag set on Customer or Company. See CustomerFlags for information about available flags.
The internal Id of the Flag.
The Name of the Flag. MaxLength: 50.
The GroupId of the Flag.
Indicates if the Flag is selected or not.
InfoTypes
No entities. See IdValues
PriceLists
Pricelist
Defines a pricelist in this namespace. This is used when setting up Company specific priceLists for resellers. Insert and Update methods are provided. In order to delete a priceList just use DeleteCompanyPricelist.
The internal pricelist id. Set to null when creating a new pricelist.
The parent internal pricelist id. If any.
The name of the pricelist. MaxLength: 50.
The description of the pricelist. MaxLength: max.
The agreement code of the pricelist. Can be an external id of the priceList. MaxLength: 50.
The type of the pricelist. 0 is default. Other values are application specific.
Specifies if the pricelist is active or not. Set this to false before update if you want to delete the pricelist.
A list of population rules for this pricelist.
The currencyId for this pricelist.
Indicates if the pricelist should be used exclusively for this Company, or not. Exclusive pricelists are not used with any standard pricelists and only exclusive pricelists will be in scope if the Company has any.
PricelistItem
Defines a pricelist item in this namespace.
PartNo of the SKU for this price item. MaxLength: 50.
The internal pricelist id.
The price. Read only. Currency is from the pricelist.
The price from inherited pricelist, if any.
Specifies if the pricelist item is active or not. Ignored when inserting new pricelist items.
PricelistPopulationRule
Defines a price rule for a pricelist in this namespace.
An internal id for a specific rule. Set to null when creating a rule.
An optional internal manufacturer id. Used if the priceList is restricted to a specific manufacturer.
An optional internal category id. Used if the priceList is restricted to a specific category.
Specifies if the populations is from a supplier.
Specifies if the population rule is inclusive or exclusive.
PricelistPriceRule
Defines a price rule for a priceList in this namespace.
An internal id for a specific rule. Consult Norce for a list of valid ids and what they mean.
The value associated with the rule. The ruleId specifies how this value is used.