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

Address

Operations

Companies

Operations

Contacts

Operations

Customers

Operations

Activate customer

Request

Activates an inactive Customer. If the activation is made after X days, where X is the value set for ClientSetting CullCustomerDayCount, the Customer data will be lost.

Query
customerIdinteger(int32)required

The internal Id of the Customer to activate.

activatedByinteger(int32)required

Account internal id of current user. Do not use default value.

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

Responses

Success

Body

Create a customer [Obsolete("Use CreateCustomer3")]

Request

See CreateCustomer3 for details. CreateCustomer calls CreateCustomer3 with an empty password and true as doSendMail.

Query
createdBystring

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.

Bodyrequired

The Customer to create. If an Account is specified it will be created as well. Customers can also be created with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well.

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.

curl -i -X POST \
  https://demo.storm.io/api/1.1/CustomerService.svc/rest/CreateCustomer \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Create a customer (v2) [Obsolete("Use CreateCustomer3")]

Request

See CreateCustomer3 for details. CreateCustomer2 calls CreateCustomer3 with true as doSendMail.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied it will be generated.

createdBystring

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.

Bodyrequired

The Customer to create. If an Account is specified it will be created as well. Customers can also be created with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well.

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.

curl -i -X POST \
  https://demo.storm.io/api/1.1/CustomerService.svc/rest/CreateCustomer2 \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Create a customer (v3)

Request

Creates a Customer in Storm. Validation is done before trying to create the Customer and the listed Exceptions might be raised if any important information is missing. Customers can be created with or without an Account. Just supply Customer.Account if an Account should be created as well. The same goes for Companies, but here existing Companies are ok.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied the password will be generated. Generated passwords are 8 random alpha numeric characters mixed lower and upper case. The password is not stored in clear text in Storm. Only a hash value of the password gets stored.

doSendMailstring

Set this to true if Storm should send a registration email. Set it to false otherwise. Default is true.

createdBystring

Internal account 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.

Bodyrequired

The Customer to create. If an Account is specified it will be created as well. Customers can also be created with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well.

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.

curl -i -X POST \
  https://demo.storm.io/api/1.1/CustomerService.svc/rest/CreateCustomer3 \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Get a customer

Request

Gets a Customer by Id. Returns null if the Customer doesn't exist.

Query
idinteger(int32)required

The internal Id of the Customer to fetch.

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/GetCustomer?id=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" }

Get a customer by account id

Request

Gets a Customer by Account internal id. Returns null if the Customer doesn't exist.

Query
accountIdinteger(int32)required

The account internal Id of the Customer to fetch.

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/GetCustomerByAccountId?accountId=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" }

Get a customer by code

Request

Gets a Customer by external code. Returns null if the customer doesn't exist.

Query
codestringrequired

The external code. Usually the id in the erp system.

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/GetCustomerByCode?code=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" }

Get a customer by e-mail

Request

Gets a Customer by Email. Returns null if the Customer doesn't exist.

Query
emailstringrequired

The Email of the Customer to fetch.

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/GetCustomerByEmail?email=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" }

Get a customer by key

Request

Gets a Customer by Key. Returns null if the Customer doesn't exist.

Query
keystring(guid)required

The Key of the Customer to fetch.

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/GetCustomerByKey?key=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" }

Get a customer by login name

Request

Gets a Customer by Account.LoginName. Returns null if the Customer doesn't exist.

Query
loginNamestringrequired

The Account.LoginName of the Customer to fetch.

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/GetCustomerByLoginName?loginName=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" }

Inactivate customer

Request

Inactivates a Customer. The user account associated with this customer will no longer be able to login. Inactivated Customers can be activated again if activated before X days, where X is the value set for ClientSetting CullCustomerDayCount.

Query
customerIdinteger(int32)required

The internal Id of the Customer to inactivate.

inactivatedByinteger(int32)required

Account internal id of current user. Do not use default value.

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

Responses

Success

Body

List customers by company [Obsolete("Use ListCustomerByCompany2")]

Request

See ListCustomerByCompany2. ListCustomerByCompany2 gets called with an empty accountRoleId.

Query
idinteger(int32)required

The internal Id of the Company to fetch Customers for.

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/ListCustomerByCompany?id=0'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by company (v2) [Obsolete("Use ListCustomerByCompany3")]

Request

See ListCustomerByCompany3. ListCustomerByCompany2 calls ListCustomerByCompany3 with an empty accountRoleId and showInactive as false.

Query
idinteger(int32)required

The internal Id of the Company to fetch Customers for.

accountRoleIdstring

An optional account role internal id of the customer account to search for. Use ListAccountRoles for valid ids.

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/ListCustomerByCompany2?id=0'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by company (v3)

Request

Lists Customers by company and an optional account role. If accountRoleId is passed in only Customers with Accounts having that Role.Id will be returned.

Query
idinteger(int32)required

The internal Id of the Company to fetch Customers for.

accountRoleIdstring

An optional account role internal id of the customer account to search for. Use ListAccountRoles for valid ids.

showInactivestring

An option to show inactive customers in the result. Default value is false.

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/ListCustomerByCompany3?id=0'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by info type [Obsolete("Use ListCustomerByInfoType2")]

Request

See ListCustomerByInfoType2 for details. ListCustomerByInfoType calls ListCustomerByInfoType2 with showInactive as false.

Query
codestringrequired

The info type code. Note that the info type to get must have its Code property set or null will be returned.

valuestringrequired

The info type value.

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/ListCustomerByInfoType?code=string&value=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by info type (v2)

Request

Returns a list of customers by info type value. Returns an empty list if the Customer does not exist.

Query
codestringrequired

The info type code. Note that the info type to get must have its Code property set or null will be returned.

valuestringrequired

The info type value.

showInactivestring

An option to show inactive customers in the result. Default value is false.

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/ListCustomerByInfoType2?code=string&value=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by social security number [Obsolete("Use ListCustomerBySSN2")]

Request

See ListCustomerBySSN2 for details. ListCustomerBySSN calls ListCustomerBySSN2 with showInactive as false. Companies are not returned.

Query
ssnstringrequired

The social security number to search for. All non-numerical characters will be removed in the string before the search.

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/ListCustomerBySSN?ssn=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

List customers by social security number (v2)

Request

Lists Customers by social security number. Companies are not returned.

Query
ssnstringrequired

The social security number to search for. All non-numerical characters will be removed in the string before the search.

showInactivestring

An option to show inactive customers in the result. Default value is false.

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/ListCustomerBySSN2?ssn=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

Register a customer [Obsolete("Use RegisterCustomer3")]

Request

See RegisterCustomer3 for details. RegisterCustomer calls RegisterCustomer3 with an empty password and true as doSendMail.

Query
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.

Bodyrequired

The Customer to register. If an Account is specified it will be created as well. Customers can also be registered with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/RegisterCustomer?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Register a customer (v2) [Obsolete("Use RegisterCustomer3")]

Request

See RegisterCustomer3 for details. RegisterCustomer2 calls RegisterCustomer3 with true as doSendMail.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied the password will be generated. Generated passwords are 8 random alpha numeric characters mixed lower and upper case. The password is not stored in clear text in Storm. Only a hash value of the password gets stored.

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.

Bodyrequired

The Customer to register. If an Account is specified it will be created as well. Customers can also be registered with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/RegisterCustomer2?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Register a customer (v3)

Request

RegisterCustomer3 creates a Customer with an Account in Storm just like CreateCustomer. If the Customer already exists it gets updated. Customer is looked up by email. Validation is done before trying to update the Customer and the below Exceptions might be raised if any important information is missing. Customers can be updated with or without an Account. Just supply Customer.Account if an Account should be updated or created as well. The same goes for Companies. Any existing company will be updated as well. Just supply data about a Customer that needs to be updated. Any missing parts such as Addresses, Flags, Companies or Info fields that are not passed in will not be removed but just not updated.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied the password will be generated. Generated passwords are 8 random alpha numeric characters mixed lower and upper case. To update a password, also supply the account object with its root data set (Id, Key, LoginName, Name, IsActive). The password is not stored in clear text in Storm. Only a hash value of the password gets stored.

doSendMailstring

Set this to true if Storm should send a registration email. Set it to false otherwise. Default is true.

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.

Bodyrequired

The Customer to register. If an Account is specified it will be created as well. Customers can also be registered with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/RegisterCustomer3?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Search for customers [Obsolete("Use SearchCustomer2")]

Request

See SearchCustomer2 for details. SearchCustomer calls SearchCustomer2 with showInactive as false.

Query
searchStringstringrequired

The actual search string. Must be at least 2 characters.

companyIdstring

If supplied, only customers for that company are returned.

sortstring

Sort order as formatted [Property] [Asc/Desc] with comma as separator. Sample: LastName, FirstName, which is the default.

sizestring

Number of items to display. Default is 50.

expandstring

An expand option that specifies what expansions should be made on the Customer entity. Valid values are: None, Account, Flags, Info, Addresses and PriceLists. These can be comma separated. Use Full for all but PriceLists. Default is Full. None will return just the Customer without expansions.

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/SearchCustomer?searchString=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

Search for customers (v2)

Request

Query
searchStringstringrequired

The actual search string. Must be at least 2 characters.

companyIdstring

If supplied, only customers for that company are returned.

sortstring

Sort order as formatted [Property] [Asc/Desc] with comma as separator. Sample: LastName, FirstName, which is the default.

sizestring

Number of items to display. Default is 50.

expandstring

An expand option that specifies what expansions should be made on the Customer entity. Valid values are: None, Account, Flags, Info, Addresses and PriceLists. These can be comma separated. Use Full for all but PriceLists. Default is Full. None will return just the Customer without expansions.

showInactivestring

An option to show inactive customers in the result. Default value is false.

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/SearchCustomer2?searchString=string'

Responses

Success

BodyArray [
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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" } ]

Set default company for customer

Request

Updates the default company for this customer. If no Company is set as default, the first Company will be used as default where needed.

Query
companyIdinteger(int32)required

The internal id of the Company to set as default.

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.

Bodyrequired

The Customer for which the default Company is set.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/SetDefaultCompany?companyId=0&updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Update a customer [Obsolete("Use UpdateCustomer3")]

Request

See UpdateCustomer3 for details. UpdateCustomer calls UpdateCustomer3 with an empty password and true as doSendMail.

Query
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.

Bodyrequired

The Customer to update. If an Account is specified it will be created as well. Customers can also be updated with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/UpdateCustomer?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Update a customer (v2) [Obsolete("Use UpdateCustomer3")]

Request

See UpdateCustomer3 for details. UpdateCustomer2 calls UpdateCustomer3 with true as doSendMail.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied the password will be generated. Generated passwords are 8 random alpha numeric characters mixed lower and upper case. The password is not stored in clear text in Storm. Only a hash value of the password gets stored.

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.

Bodyrequired

The Customer to update. If an Account is specified it will be created as well. Customers can also be updated with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/UpdateCustomer2?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Update a customer (v3)

Request

UpdateCustomer3 updates a Customer in Storm. Validation is done before trying to update the Customer and the below Exceptions might be raised if any important information is missing. Customers can be updated with or without an Account. Just supply Customer.Account if an Account should be updated or created as well. The same goes for Companies. Any existing company will be updated as well. Just supply data about a Customer that needs to be updated. Any missing parts such as Addresses, Flags, Companies or Info fields that are not passed in will not be removed but just not updated. PriceLists are not affected here at all.

Query
passwordstring

An application generated password used if an Account is created. If none is supplied the password will be generated. Generated passwords are 8 random alpha numeric characters mixed lower and upper case. The password is not stored in clear text in Storm. Only a hash value of the password gets stored.

doSendMailstring

Set this to true if Storm should send a registration email. Set it to false otherwise. Default is true.

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.

Bodyrequired

The Customer to update. If an Account is specified it will be created as well. Customers can also be updated with or without Companies. If a supplied Company does not have an Id specified it is considered new and will be created as well. Otherwise it will be updated.

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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/CustomerService.svc/rest/UpdateCustomer3?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
        0
      ],
      "Authorizations": [
        {
          "Id": 0,
          "Value": "string",
          "Code": "string"
        }
      ],
      "IsActive": true
    },
    "Companies": [
      {
        "Id": 0,
        "Key": "string",
        "Code": "string",
        "Name": "string",
        "OrgNo": "string",
        "Phone": "string",
        "ReferId": 0,
        "ReferUrl": "string",
        "DeliveryAddresses": [
          {
            "Id": 0,
            "CareOf": "string",
            "Line1": "string",
            "Line2": "string",
            "Zip": "string",
            "City": "string",
            "CountryId": 0,
            "Country": "string",
            "Region": "string",
            "IsValidated": true,
            "GlobalLocationNo": "string",
            "ShippingPhoneNumber": "string"
          }
        ],
        "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"
        },
        "UseInvoiceAddressAsDeliveryAddress": true,
        "Info": [
          {
            "Id": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "PricelistIds": [
          0
        ],
        "ParentId": 0,
        "DeliveryMethodIds": [
          0
        ],
        "PaymentMethodIds": [
          0
        ],
        "Email": "string",
        "Flags": [
          {
            "Id": 0,
            "Name": "string",
            "Group": 0,
            "IsSelected": true
          }
        ],
        "VatNo": "string"
      }
    ],
    "DeliveryAddresses": [
      {
        "Id": 0,
        "CareOf": "string",
        "Line1": "string",
        "Line2": "string",
        "Zip": "string",
        "City": "string",
        "CountryId": 0,
        "Country": "string",
        "Region": "string",
        "IsValidated": true,
        "GlobalLocationNo": "string",
        "ShippingPhoneNumber": "string"
      }
    ],
    "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": [
      {
        "Id": 0,
        "Name": "string",
        "Group": 0,
        "IsSelected": true
      }
    ],
    "UseInvoiceAddressAsDeliveryAddress": true,
    "Info": [
      {
        "Id": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "PricelistIds": [
      0
    ],
    "CrmId": "string",
    "IsActive": true,
    "Created": "2019-08-24T14:15:22Z",
    "Updated": "2019-08-24T14:15:22Z"
  }'

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" }

Flags

Operations

InfoTypes

Operations

PriceLists

Operations