Documentation CustomerService (1.1)

The Customers namespace has Entities and Operations concerned with Customer and Company management.

Download OpenAPI description
Languages
Servers
https://demo.storm.io/api/1.1/

Accounts

Operations

Change password [Obsolete("Use forgot password link")]

Request

Changes the password for the Account specified by the loginName. No validation of the password strength is made and it is up to the application to enforce such validation.

Query
loginNamestringrequired

User login name.

oldPasswordstringrequired

Current user password, for validation purposes.

newPassword1stringrequired

Requested new password, must be equal to newPassword 2.

newPassword2stringrequired

Requested new password, must be equal to newPassword 1.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/ChangePassword?loginName=string&newPassword1=string&newPassword2=string&oldPassword=string'

Responses

Success

Body

Get agreement account

Request

Gets an AgreementAccount by Id. Returns null if the AgreementAccount doesn't exist.

Query
idinteger(int32)required

The internal id of the priceList connected to the AgreementAccount.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/GetAgreementAccount?id=0'

Responses

Success

Body
PricelistIdinteger(int32)

The PriceListId of the PriceList logged in to.

Namestring

The Name of the AgreementAccount/PriceList. MaxLength: 50.

StartDatestring or null(date-time)

The StartDate of the AgreementAccount/PriceList.

EndDatestring or null(date-time)

The EndDate of the AgreementAccount/PriceList.

ImageKeystring or null(guid)

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.

ShowPricesIncVatboolean or null

Indicates if prices should be shown inc or ex VAT.

Response
{ "PricelistId": 0, "Name": "string", "StartDate": "2019-08-24T14:15:22Z", "EndDate": "2019-08-24T14:15:22Z", "ImageKey": "string", "ShowPricesIncVat": true }

List account roles

Request

Lists available account roles.

Query
cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

curl -i -X GET \
  https://demo.storm.io/api/1.1/CustomerService.svc/rest/ListAccountRoles

Responses

Success

BodyArray [
Idinteger(int32)

The internal Id of the Entity. This Id might be different in different tiers such as Stage and Production. Use Code if hard coding is required.

Valuestring

The Value of the Entity. MaxLength: max.

Codestring

The Code of the Entity, if existing. Use this value when hard coding is required. MaxLength: 255.

]
Response
[ { "Id": 0, "Value": "string", "Code": "string" } ]

Login a user [Obsolete("Use LoginPost")]

Request

Login tries to login a user. In order to enable Customers to login they need to be created with an Account.

Query
loginNamestringrequired

The LoginName of the Account to login on.

passwordstringrequired

The Password of the Account.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

includeCompaniesstring

Include full company data, if any, with the customer. Otherwise only primary company, if any, is included. Default is true.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/Login?loginName=string&password=string'

Responses

Success

Body
Idinteger or null(int32)

The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id.

Keystring(guid)

The system wide unique Key of the Customer.

Codestring

The external code. Usually the id in the erp system. MaxLength: 50.

Emailstring

The Email address of the Customer. MaxLength: 255.

SSNstring

The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50.

FirstNamestring

The FirstName of the Customer. MaxLength: 50.

LastNamestring

The LastName of the Customer. MaxLength: 50.

Phonestring

The PhoneNumber of the Customer. MaxLength: 50.

CellPhonestring

The CellPhone number of the Customer. MaxLength: 50.

ReferIdinteger or null(int32)

Used to tag a Customer with some external id.

ReferUrlstring

Used to tag a Customer with an incoming URL. MaxLength: 255.

Accountobject(Account)(Account)
CompaniesArray of objects(Company)(Company)

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.

DeliveryAddressesArray of objects(Address)(Address)

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.

InvoiceAddressobject(Address)(Address)
FlagsArray of objects(Flag)(Flag)

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.

UseInvoiceAddressAsDeliveryAddressboolean

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.

InfoArray of objects(IdValue)(IdValue)

Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup.

PricelistIdsArray of integers(int32)

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.

CrmIdstring

Used to save the Customers external id from a crm-system MaxLength: 50.

IsActiveboolean or null

Specifies if the Customer is active or not.

Createdstring or null(date-time)

When the customer was created.

Updatedstring or null(date-time)

When the customer was last updated.

Response
{ "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": { "Id": 0, "Key": "string", "LoginName": "string", "Name": "string", "Roles": [], "Authorizations": [], "IsActive": true }, "Companies": [ {} ], "DeliveryAddresses": [ {} ], "InvoiceAddress": { "Id": 0, "CareOf": "string", "Line1": "string", "Line2": "string", "Zip": "string", "City": "string", "CountryId": 0, "Country": "string", "Region": "string", "IsValidated": true, "GlobalLocationNo": "string", "ShippingPhoneNumber": "string" }, "Flags": [ {} ], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ {} ], "PricelistIds": [ 0 ], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }

Login an agreement account

Request

LoginAgreementAccount tries to login a user on an agreement. Users trying to login need to know the agreement code in order to be logged in. Returns null if the attempt to login fails.

Query
passwordstringrequired

The code of the agreement.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/LoginAgreementAccount?password=string'

Responses

Success

Body
PricelistIdinteger(int32)

The PriceListId of the PriceList logged in to.

Namestring

The Name of the AgreementAccount/PriceList. MaxLength: 50.

StartDatestring or null(date-time)

The StartDate of the AgreementAccount/PriceList.

EndDatestring or null(date-time)

The EndDate of the AgreementAccount/PriceList.

ImageKeystring or null(guid)

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.

ShowPricesIncVatboolean or null

Indicates if prices should be shown inc or ex VAT.

Response
{ "PricelistId": 0, "Name": "string", "StartDate": "2019-08-24T14:15:22Z", "EndDate": "2019-08-24T14:15:22Z", "ImageKey": "string", "ShowPricesIncVat": true }

Login a user

Request

Login tries to login a user. In order to enable Customers to login they need to be created with an Account.

Bodyrequired

Must include LoginName and Password. CultureCode and IncludeCompanies are optional.

LoginNamestring

User login name MaxLength: 255.

Passwordstring

User's password MaxLength: 4000.

CultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application. MaxLength: 16.

IncludeCompaniesstring

Include full company data, if any, with the customer. Otherwise only primary company, if any, is included. Default is true. MaxLength: bool.

curl -i -X POST \
  https://demo.storm.io/api/1.1/CustomerService.svc/rest/LoginPost \
  -H 'Content-Type: application/json' \
  -d '{
    "LoginName": "string",
    "Password": "string",
    "CultureCode": "string",
    "IncludeCompanies": "string"
  }'

Responses

Success

Body
Idinteger or null(int32)

The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id.

Keystring(guid)

The system wide unique Key of the Customer.

Codestring

The external code. Usually the id in the erp system. MaxLength: 50.

Emailstring

The Email address of the Customer. MaxLength: 255.

SSNstring

The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50.

FirstNamestring

The FirstName of the Customer. MaxLength: 50.

LastNamestring

The LastName of the Customer. MaxLength: 50.

Phonestring

The PhoneNumber of the Customer. MaxLength: 50.

CellPhonestring

The CellPhone number of the Customer. MaxLength: 50.

ReferIdinteger or null(int32)

Used to tag a Customer with some external id.

ReferUrlstring

Used to tag a Customer with an incoming URL. MaxLength: 255.

Accountobject(Account)(Account)
CompaniesArray of objects(Company)(Company)

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.

DeliveryAddressesArray of objects(Address)(Address)

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.

InvoiceAddressobject(Address)(Address)
FlagsArray of objects(Flag)(Flag)

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.

UseInvoiceAddressAsDeliveryAddressboolean

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.

InfoArray of objects(IdValue)(IdValue)

Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup.

PricelistIdsArray of integers(int32)

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.

CrmIdstring

Used to save the Customers external id from a crm-system MaxLength: 50.

IsActiveboolean or null

Specifies if the Customer is active or not.

Createdstring or null(date-time)

When the customer was created.

Updatedstring or null(date-time)

When the customer was last updated.

Response
{ "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": { "Id": 0, "Key": "string", "LoginName": "string", "Name": "string", "Roles": [], "Authorizations": [], "IsActive": true }, "Companies": [ {} ], "DeliveryAddresses": [ {} ], "InvoiceAddress": { "Id": 0, "CareOf": "string", "Line1": "string", "Line2": "string", "Zip": "string", "City": "string", "CountryId": 0, "Country": "string", "Region": "string", "IsValidated": true, "GlobalLocationNo": "string", "ShippingPhoneNumber": "string" }, "Flags": [ {} ], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ {} ], "PricelistIds": [ 0 ], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }

Send a forgotten password e-mail

Request

An forgotten password email will be sent to the customer's email address. This has to be configured in Storm Application - Mail or no mail will be sent.

Query
loginNamestringrequired

User login name. The Customer's email will be used for the email.

updatedBystring

Account internal id of current user. If none is supplied, the default will be used.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/SendPasswordReminder?loginName=string'

Responses

Success

Body

Update a customer's account status

Request

Updates the account status for a customer. Accounts can be activated/deactivated.

Query
customerIdinteger(int32)required

Customer internal id of the customer who's account status should be changed.

isActivebooleanrequired

True if the account should be activated, false otherwise.

updatedByinteger(int32)required

Account internal id of current user. Pass 1 for the default account.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

includeCompaniesstring

Include full company data, if any, with the customer. Otherwise only primary company, if any, is included. Default is true.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/UpdateAccountStatus?customerId=0&isActive=true&updatedBy=0'

Responses

Success

Body
Idinteger or null(int32)

The internal Storm Id of the Customer. When creating a new Customer leave this blank as Storm will generate the Id.

Keystring(guid)

The system wide unique Key of the Customer.

Codestring

The external code. Usually the id in the erp system. MaxLength: 50.

Emailstring

The Email address of the Customer. MaxLength: 255.

SSNstring

The social security number of the Customer. Used to identify the Customer for some payment methods. MaxLength: 50.

FirstNamestring

The FirstName of the Customer. MaxLength: 50.

LastNamestring

The LastName of the Customer. MaxLength: 50.

Phonestring

The PhoneNumber of the Customer. MaxLength: 50.

CellPhonestring

The CellPhone number of the Customer. MaxLength: 50.

ReferIdinteger or null(int32)

Used to tag a Customer with some external id.

ReferUrlstring

Used to tag a Customer with an incoming URL. MaxLength: 255.

Accountobject(Account)(Account)
CompaniesArray of objects(Company)(Company)

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.

DeliveryAddressesArray of objects(Address)(Address)

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.

InvoiceAddressobject(Address)(Address)
FlagsArray of objects(Flag)(Flag)

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.

UseInvoiceAddressAsDeliveryAddressboolean

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.

InfoArray of objects(IdValue)(IdValue)

Contains a list of id-value pairs specific to the client for this customer. Use ApplicationService.ListCustomerInfoTypes for id lookup.

PricelistIdsArray of integers(int32)

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.

CrmIdstring

Used to save the Customers external id from a crm-system MaxLength: 50.

IsActiveboolean or null

Specifies if the Customer is active or not.

Createdstring or null(date-time)

When the customer was created.

Updatedstring or null(date-time)

When the customer was last updated.

Response
{ "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": { "Id": 0, "Key": "string", "LoginName": "string", "Name": "string", "Roles": [], "Authorizations": [], "IsActive": true }, "Companies": [ {} ], "DeliveryAddresses": [ {} ], "InvoiceAddress": { "Id": 0, "CareOf": "string", "Line1": "string", "Line2": "string", "Zip": "string", "City": "string", "CountryId": 0, "Country": "string", "Region": "string", "IsValidated": true, "GlobalLocationNo": "string", "ShippingPhoneNumber": "string" }, "Flags": [ {} ], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ {} ], "PricelistIds": [ 0 ], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }

Address

Operations

Companies

Operations

Contacts

Operations

Customers

Operations

Flags

Operations

InfoTypes

Operations

PriceLists

Operations