Norce Commerce Shopping v1.1 service (1.1)

Entities and methods to handle baskets and payments. The Shopping service is used to create and manage baskets, and prepare them for the checkout process. Commonly the checkout process is handled by the Norce Checkout API, only the legacy checkout process is handled here. For product or pricing data, use the Product service. For order history, use the Order service. To change or manage promotions use the Management API.

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/

Basket

Contains endpoints for manage baskets and their lifecycle, see more information here.

Operations

Checkout

Contains endpoints for initialized the checkout process, read more about it here. There is also the old legacy purchase endpoints, still used by older solutions and Non-PSP purchases.

Operations

DeliveryMethods

Contains endpoints for viewing metadata about configured delivery methods, when using Norces internal shipping logic.

Operations

InfoTypes

Contains endpoints for viewing metadata for extended fields on the basket and basketitems.

Operations

OnHand

Contains endpoints for looking up availability on baskets.

Operations

OrderRequest

Contains endpoints for viewing orders snapshots.

Operations

Payments

Contains endpoints for legacy purchases, still used by older solutions and Non-PSP purchases.

Operations

Promotions

Contains endpoints for viewing more promotion information.

Operations

Schemas

Checkout

Used to connect a specific basket with customer information, payment and delivery options.

Basketobject or null

Represents a basket where you can add/remove/update items and information such as discountcodes and pass forward information types.

Buyerobject or null

Information about a Customer.

Payerobject or null

Information about a Customer.

ShipToobject or null

Information about a Customer.

PaymentMethodsArray of objects or null(PaymentMethod)

List of available payment methods for this checkout. May be changed depending on basket contents. Generated by Norce.

DeliveryMethodsArray of objects or null(DeliveryMethod)

List of available delivery methods for this checkout. May be changed depending on basket contents. Generated by Norce.

PaymentsArray of objects or null(Payment)

List of payment attemtps made for this checkout. Each payment method selected will create it's own entry in this list.

{ "Basket": { "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "str", "Comment": "string", "OrderReference": "string", "DiscountCode": "string", "ReferId": 0, "ReferUrl": "string", "ValidTo": "2019-08-24T14:15:22Z", "IsEditable": true, "Items": [], "Info": [], "Summary": {}, "AppliedPromotions": [], "IpAddress": "string", "AttestedBy": 0, "TypeId": 0, "DoHold": true, "IsBuyable": true, "InvoiceReference": "string", "PaymentMethodId": 0, "DeliveryMethodId": 0, "SalesAreaId": 0, "ExternalDiscountCode": "string" }, "Buyer": { "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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "Payer": { "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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "ShipTo": { "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": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "PaymentMethods": [ {} ], "DeliveryMethods": [ {} ], "Payments": [ {} ] }

Company

Information about a Company.

Idinteger or null(int32)

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

Keystring or null(uuid)

The system wide unique Key of the Company.

Codestring or null[ 0 .. 50 ] characters

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

Namestring or null[ 0 .. 100 ] characters

The Name of the Company. MaxLength: 100

OrgNostring or null[ 0 .. 50 ] characters

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

The Phone number of the Company. MaxLength: 50

ReferIdinteger or null(int32)

Used to tag a Company with some external id.

ReferUrlstring or null[ 0 .. 255 ] characters

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

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

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

UseInvoiceAddressAsDeliveryAddressboolean or null

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

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

PricelistIdsArray of integers or null(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 or null(int32)

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

PaymentMethodIdsArray of integers or null(int32)

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

Emailstring or null[ 0 .. 255 ] characters

The Email address of the Company. MaxLength: 255

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

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

{ "Id": 0, "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd", "Code": "string", "Name": "string", "OrgNo": "string", "Phone": "string", "ReferId": 0, "ReferUrl": "string", "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" }, "UseInvoiceAddressAsDeliveryAddress": true, "Info": [ {} ], "PricelistIds": [ 0 ], "ParentId": 0, "DeliveryMethodIds": [ 0 ], "PaymentMethodIds": [ 0 ], "Email": "string", "Flags": [ {} ], "VatNo": "string" }

Customer

Information about a Customer.

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.

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