Norce Commerce Customer v1.1 service (1.1)

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

Download OpenAPI description
Languages
Servers
Playground

https://{slug}.api-se.playground.norce.tech/commerce/

Stage

https://{slug}.api-se.stage.norce.tech/commerce/

Production

https://{slug}.api-se.norce.tech/commerce/

Accounts

Operations

List account roles

Request

Lists available account roles.

Query
cultureCodestring

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

curl -i -X GET \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/ListAccountRoles \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
Idinteger or null(int32)

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

Valuestring or null

The Value of the Entity.

Codestring or null

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

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

Login a user

Request

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

Bodyapplication/json

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

LoginNamestring or null

User login name

Passwordstring or null

User's password

CultureCodestring or null

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

IncludeCompaniesboolean or null

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

curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/LoginPost \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "LoginName": "string",
    "Password": "string",
    "CultureCode": "string",
    "IncludeCompanies": true
  }'

Responses

OK

Bodyapplication/json
Idinteger or null(int32)

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

Keystring or null(uuid)

The system wide unique Key of the Customer.

Codestring or null[ 0 .. 50 ] characters

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

Emailstring or null[ 0 .. 255 ] characters

The Email address of the Customer. MaxLength: 255

Ssnstring or null[ 0 .. 50 ] characters

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

FirstNamestring or null[ 0 .. 50 ] characters

The FirstName of the Customer. MaxLength: 50

LastNamestring or null[ 0 .. 50 ] characters

The LastName of the Customer. MaxLength: 50

Phonestring or null[ 0 .. 50 ] characters

The PhoneNumber of the Customer. MaxLength: 50

CellPhonestring or null[ 0 .. 50 ] characters

The CellPhone number of the Customer. MaxLength: 50

ReferIdinteger or null(int32)

Used to tag a Customer with some external id.

ReferUrlstring or null[ 0 .. 255 ] characters

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

Accountobject or null

An Account is related to a Customer. Each Account can belong to only one Application. When creating Customers you need to define a Customer.Account if you want the customer to be able to login. This is useful when the application supports My page with order history and such.

CompaniesArray of objects or null(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 or null(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 or null

Information about an address. Addresses appear as InvoiceAddress or DeliveryAddresses or when ever an Address is needed

FlagsArray of objects or null(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 or null

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 or null(IdValue)

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

PricelistIdsArray of integers or null(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 or null[ 0 .. 50 ] characters

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
application/json
{ "Id": 0, "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd", "Code": "string", "Email": "string", "Ssn": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": { "Id": 0, "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd", "LoginName": "string", "Name": "string", "Roles": [ … ], "Authorizations": [ … ], "IsActive": true, "NewPassword": "string" }, "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", "Code": "string" }, "Flags": [ { … } ], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ { … } ], "PricelistIds": [ 0 ], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }

Login an agreement account

Request

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

Query
passwordstring

The code of the agreement.

cultureCodestring

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

curl -i -X GET \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/LoginAgreementAccount \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
PricelistIdinteger or null(int32)

The PriceListId of the PriceList logged in to.

Namestring or null

The Name of the AgreementAccount/PriceList.

StartDatestring or null(date-time)

The StartDate of the AgreementAccount/PriceList.

EndDatestring or null(date-time)

The EndDate of the AgreementAccount/PriceList.

ImageKeystring or null(uuid)

A unique id for the image at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters.

ShowPricesIncVatboolean or null

Indicates if prices should be shown inc or ex VAT.

Response
application/json
{ "PricelistId": 0, "Name": "string", "StartDate": "2019-08-24T14:15:22Z", "EndDate": "2019-08-24T14:15:22Z", "ImageKey": "9afa8b7e-ca15-438f-a9d6-f679c437e59c", "ShowPricesIncVat": true }

Get agreement account

Request

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

Query
idinteger(int32)

The internal id of the priceList connected to the AgreementAccount.

cultureCodestring

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

curl -i -X GET \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/GetAgreementAccount \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
PricelistIdinteger or null(int32)

The PriceListId of the PriceList logged in to.

Namestring or null

The Name of the AgreementAccount/PriceList.

StartDatestring or null(date-time)

The StartDate of the AgreementAccount/PriceList.

EndDatestring or null(date-time)

The EndDate of the AgreementAccount/PriceList.

ImageKeystring or null(uuid)

A unique id for the image at our image server. Url for images are formed like http://[client specific CDN]/{ImageKey}. Preset, height and width can be sent as parameters.

ShowPricesIncVatboolean or null

Indicates if prices should be shown inc or ex VAT.

Response
application/json
{ "PricelistId": 0, "Name": "string", "StartDate": "2019-08-24T14:15:22Z", "EndDate": "2019-08-24T14:15:22Z", "ImageKey": "9afa8b7e-ca15-438f-a9d6-f679c437e59c", "ShowPricesIncVat": true }

Send a forgotten password e-mail

Request

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

Query
loginNamestring

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

updatedBystring

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

cultureCodestring

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

curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/SendPasswordReminder \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Response
No content

Update a customer's account status

Request

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

Query
customerIdinteger(int32)

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

isActiveboolean

True if the account should be activated, false otherwise.

updatedByinteger(int32)

The user or system account id that will show as updated by. If none is supplied, Norce Commerce user will be used.

cultureCodestring

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

includeCompaniesstring

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

curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/customer/1.1/UpdateAccountStatus \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
Idinteger or null(int32)

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

Keystring or null(uuid)

The system wide unique Key of the Customer.

Codestring or null[ 0 .. 50 ] characters

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

Emailstring or null[ 0 .. 255 ] characters

The Email address of the Customer. MaxLength: 255

Ssnstring or null[ 0 .. 50 ] characters

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

FirstNamestring or null[ 0 .. 50 ] characters

The FirstName of the Customer. MaxLength: 50

LastNamestring or null[ 0 .. 50 ] characters

The LastName of the Customer. MaxLength: 50

Phonestring or null[ 0 .. 50 ] characters

The PhoneNumber of the Customer. MaxLength: 50

CellPhonestring or null[ 0 .. 50 ] characters

The CellPhone number of the Customer. MaxLength: 50

ReferIdinteger or null(int32)

Used to tag a Customer with some external id.

ReferUrlstring or null[ 0 .. 255 ] characters

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

Accountobject or null

An Account is related to a Customer. Each Account can belong to only one Application. When creating Customers you need to define a Customer.Account if you want the customer to be able to login. This is useful when the application supports My page with order history and such.

CompaniesArray of objects or null(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 or null(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 or null

Information about an address. Addresses appear as InvoiceAddress or DeliveryAddresses or when ever an Address is needed

FlagsArray of objects or null(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 or null

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 or null(IdValue)

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

PricelistIdsArray of integers or null(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 or null[ 0 .. 50 ] characters

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
application/json
{ "Id": 0, "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd", "Code": "string", "Email": "string", "Ssn": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": { "Id": 0, "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd", "LoginName": "string", "Name": "string", "Roles": [ … ], "Authorizations": [ … ], "IsActive": true, "NewPassword": "string" }, "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", "Code": "string" }, "Flags": [ { … } ], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ { … } ], "PricelistIds": [ 0 ], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }

Address

Contains endpoints for managing addresses on Customer and Company objects.

Operations

Companies

Contains endpoints for managing Company data and related information.

Operations

Customers

Contains endpoints for managing Customer data and related information.

Operations

Flags

Contains endpoints for viewing Customer and Company flags.

Operations

InfoTypes

Contains endpoints for viewing metadata about Customer and Company extended fields.

Operations

PriceLists

Contains endpoints for managing company connected price lists.

Operations

Schemas