Skip to content

Documentation CustomerService (1.1)

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

Download OpenAPI description
Languages
Servers

https://customer-slug.api-se.norce.tech/commerce/customer/1.1/

Operations
Operations
Operations

Request

Lists Company discounts.

Query
companyIdinteger(int32)required

The company internal id for which to get discounts.

curl -i -X GET \
  'https://customer-slug.api-se.norce.tech/commerce/customer/1.1/ListCompanyDiscounts?companyId=0'

Responses

Success

BodyArray [
TypeIdinteger(int32)

The TypeId defines the rule for how Value is interpreted. 1 = Category discount, 2 = DiscountCode on product. Cannot be changed.

Valuestring

The value to check for on products. If TypeID = 1 then discounts are valid for all products belonging to Category with Category.Code = Value. If TypeId = 2 then the product's discount code is checked. Cannot be changed. MaxLength: 50.

Discountnumber(decimal)

The actual discount percentage. Ex: 15.00 equals 15% discount.

PriceListTypeSeedstring

An optional comma-separated list of priceList type-ids for which the discount is valid. MaxLength: 50.

]
Response
[ { "TypeId": 0, "Value": "string", "Discount": 0, "PriceListTypeSeed": "string" } ]

Request

UpdateCompany updates or creates a Company in Storm for the specified customer. Validation is done before trying to update or create the Company and the below Exceptions might be raised if any important information is missing. Any existing Company will be updated as well. Supply all root data (Code, Name, OrgNo, Phone, ReferUrl, Email, VatNo) about the Company - empty or missing input fields will be emptied. Note though that any missing lists or objects (Addresses, Flags, Info, DeliveryMethodIds, PaymentMethodIds) fields that are not passed in will not be removed but just not updated. PriceLists are not affected here at all.

Query
customerIdinteger(int32)required

The internal id of the Customer.

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 Company to update. 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 for the Company. When creating a new Company leave this blank as Storm will generate the Id.

Keystring(guid)

The system wide unique Key of the Company.

Codestring

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

Namestring

The Name of the Company. MaxLength: 100.

OrgNostring

The organizational number of the Company. Used to identify the Company for some payment methods. The combination of OrgNo and Name must be unique. MaxLength: 50.

Phonestring

The Phone number of the Company. MaxLength: 50.

ReferIdinteger or null(int32)

Used to tag a Company with some external id.

ReferUrlstring

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

DeliveryAddressesArray of objects(Address)(Address)

A list of delivery Addresses for the Company. When needed the first address in the list will be used. So it is vital in the checkout process to either sort them or just supply one delivery address. Company addresses will override Customer addresses if both exists in the Checkout process.

InvoiceAddressobject(Address)(Address)
UseInvoiceAddressAsDeliveryAddressboolean

Can be used when updating or inserting addresses on Company. If set to true the invoice address will be used as a delivery address as well. Then just an invoice address needs to be passed in. The deliveryAddress will be ignored. If set to false both invoice address and delivery address must be specified.

InfoArray of objects(IdValue)(IdValue)

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

PricelistIdsArray of integers(int32)

Contains a list of priceList ids valid for this company. It will be empty if no priceLists exist. It can be used to check products lists if they are from a company specific priceList. No need to pass this into List-methods since they are considered any way in the methods. This property should be considered as ReadOnly as priceLists are maintained else where.

ParentIdinteger or null(int32)

Points to an optional parent company. Used when companies are connected some how.

DeliveryMethodIdsArray of integers(int32)

Contains a list of delivery method ids valid for this company. It will be empty if no delivery methods exist.

PaymentMethodIdsArray of integers(int32)

Contains a list of payment method ids valid for this company. It will be empty if no payment methods exist.

Emailstring

The Email address of the Company. MaxLength: 255.

FlagsArray of objects(Flag)(Flag)

A list of Flags of the Company. See Flag for information about flags. Flags can be used in Promotions or otherwise to provide custom handling of specific Companies.

VatNostring

This is the VAT registration number for the company. MaxLength: 50.

curl -i -X POST \
  'https://customer-slug.api-se.norce.tech/commerce/customer/1.1/UpdateCompany?customerId=0&updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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"
  }'

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

Insert or update company discounts

Request

Inserts or updates a list of CompanyDiscounts in Storm. Any non-existing discount will be inserted. Existing discounts will be updated. Note that it is only the discount field that can be updated. In order to update the value field, the entity must first be deleted and then re-inserted.

Query
companyIdinteger(int32)required

The internal company id for the discounts.

updatedBystringrequired

The account internal id of the user performing the upsert.

Bodyrequired

A list of discounts to update or insert. See CompanyDiscount entity for details.

Array [
TypeIdinteger(int32)

The TypeId defines the rule for how Value is interpreted. 1 = Category discount, 2 = DiscountCode on product. Cannot be changed.

Valuestring

The value to check for on products. If TypeID = 1 then discounts are valid for all products belonging to Category with Category.Code = Value. If TypeId = 2 then the product's discount code is checked. Cannot be changed. MaxLength: 50.

Discountnumber(decimal)

The actual discount percentage. Ex: 15.00 equals 15% discount.

PriceListTypeSeedstring

An optional comma-separated list of priceList type-ids for which the discount is valid. MaxLength: 50.

]
curl -i -X POST \
  'https://customer-slug.api-se.norce.tech/commerce/customer/1.1/UpsertCompanyDiscounts?companyId=0&updatedBy=string' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "TypeId": 0,
      "Value": "string",
      "Discount": 0,
      "PriceListTypeSeed": "string"
    }
  ]'

Responses

Success

Body
Operations
Operations
Operations
Operations