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

Payment callback for form based payments

Request

PaymentFormCallback is called from applications using forms based checkouts with support for callbacks. Applications gets called when the end-user gets routed back to a 'Thanks for you order page' and the applications should make this call to the API before routing. See <a target="_blank" href="https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#form-based-payments">Checkout Form Payments</a> for more information about the checkout process.

Query
basketIdinteger(int32)

The internal id of the basket used in the checkout.

pricelistSeedstring

(Optional) A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

cultureCodestring

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

Bodyapplication/json

(Optional) General: 'parameter'='value' to override payment parameters. See developer documentation tab in admin payment settings for reference of what parameters can be set..

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentFormCallback \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Payment complete call for form based payments

Request

PaymentFormComplete is called directly from any PSP supporting forms based checkouts with support for completes. Applications should never make this call directly.

Bodyapplication/json

(Optional) General: 'parameter'='value' to override payment parameters. See developer documentation tab in admin payment settings for reference of what parameters can be set..

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentFormComplete \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Reserve amount on gift card

Request

Reserve an amount on a gift card.

Query
cardNostring

The card number to make reservation on.

cvcstring

The cvc of the card to make reservation on.

basketIdinteger(int32)

Internal id of the basket to associate with this reservation.

ipAddressstring

The user's ipAddress.

userAgentstring

The user agent of the user's browser.

pricelistSeedstring

(Optional) A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

cultureCodestring

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

Bodyapplication/json

(Optional) General: 'parameter'='value' to override payment parameters. See developer documentation tab in admin payment settings for reference of what parameters can be set..

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentGiftCardReserve \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

/shopping/1.1/PaymentGiftCardRollback

Request

Bodyapplication/json

General: 'cancelreason'=must contain something, preferably a text. 'paymentcode'=paymentcode return by PaymentGiftCardReserve.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentGiftCardRollback \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Payment callback call

Request

This method should be called when receiving a callback from the payment provider. The paymentParameters should be populated with received parameters. This method creates the order. If order should be created on report from payment service provider then use PaymentCallback2. See <a target="_blank" href="https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#two-step-payments">Payments</a> for more information about the checkout process.

Bodyapplication/json

Parameter 'PaymentService' is mandatory. Other values are provided by the payment provider in their call and possible parameter names be found for each PSP in Norce Admin. General: 'test'=true to enable tests.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentCallback \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Payment callback call (v2)

Request

This method should be called when receiveing a callback from the payment provider. The paymentParameters should be populated with received parameters. This method does not create the order. The report from the payment service provider must be handled with PaymentComplete to create the order. See <a target="_blank" href="https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#two-step-payments">Payments</a> for more information about the checkout process.

Bodyapplication/json

Parameter 'PaymentService' is mandatory. Other values are provided by the payment provider in their call and possible parameter names be found for each PSP in Norce Admin. General: 'test'=true to enable tests.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentCallback2 \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Payment complete call

Request

This method should be called when receiving a http-report from the payment service provider. The paymentParameters should be populated with received parameters. This method creates the order. PSPs calls the API directly and this method should never be called directly from the application.

Bodyapplication/json

Supported values are 'orderref' and 'transactionnumber'. These values are provided by the payment provider in their call. General: 'test'=true to enable tests.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentComplete \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Bodyapplication/json
Statusstring or null

String response. OK if successful, otherwise may have different values depending on PSP.

StatusDescriptionstring or null

Descriptive text for the status.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring or null

Order number if order's been created.

PaymentCodestring or null

Internal identifier of this specific payment attempt.

PaymentReferencestring or null

External identifier of this specific payment attempt, usually from the PSP.

HostedPaymentPagestring or null

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer.

RedirectUrlstring or null

Configurated redirection URL after successful payment.

RedirectParametersArray of objects or null(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
application/json
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Cancel a payment

Request

This method should be called when receiving a callback from the payment provider when the payment has been cancelled in some way.

Bodyapplication/json

The basket that the payment should be cancelled for.

Idinteger or null(int32)

The internal id of the basket. Used to get a specific basket. Ignored in CreateBasket.

CustomerIdinteger or null(int32)

The customer internal id for a specific customer associated with this basket. This can be set in CreateBasket if the user is logged in. Otherwise use UpdateBuyer to set customer.

CompanyIdinteger or null(int32)

The company internal id for a specific company associated with this basket. This can be set in CreateBasket if the user is logged in with a company. Otherwise use UpdateBuyer to set customer and company.

SalesContactIdinteger or null(int32)
StatusIdinteger or null(int32)

Internal id for the current status of the basket. See ListBasketStatuses.

CurrencyIdinteger or null(int32)

The currency internal id of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used.

CurrencyCodestring or null[ 0 .. 3 ] characters

The CurrencyCode of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. MaxLength: 3

Commentstring or null[ 0 .. 250 ] characters

Free text comment that will be propagated to the order. MaxLength: 250

OrderReferencestring or null[ 0 .. 50 ] characters

An OrderReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50

DiscountCodestring or null

A comma separated list of used discount codes. To clear the value set it to null or String.Empty an call UpdateBasket.

ReferIdinteger or null(int32)
ReferUrlstring or null[ 0 .. 255 ] characters

MaxLength: 255

ValidTostring or null(date-time)
IsEditableboolean or null

Specifies if the basket is editable. If not, any method that changes the basket will throw Exceptions (Bad Request). It will be false when the basket is no longer a basket. That is when it's paid for or cancelled.

ItemsArray of objects or null(BasketItem)

List of the items in the basket.

InfoArray of objects or null(ExtraInfo)

List of information types with values that may be propagated on the order.

Summaryobject or null

The Summary is a grouping of BasketItem totals. This can be used to display summaries for a Basket.

AppliedPromotionsArray of objects or null(Promotion)

Contains all Promotions valid for a Basket, whether or not they are applied. If any promotions are applied more info about them are added to the corresponding Basket.Items.

IpAddressstring or null[ 0 .. 50 ] characters

The user's IpAddress when the basket was created. The value should be fetched from the user request to the application. MaxLength: 50

AttestedByinteger or null(int32)
TypeIdinteger or null(int32)

The internal type id of the Basket. Can be 1 = Basket, 2 = Saved Basket, 3 = Template Basket for Subscriptions.

DoHoldboolean or null

DoHold specifies if the resulting order should be on hold until all items on the order can be shipped or not. Default is false. This can be set in the Checkout with UpdateBasket if the Customer does not want part deliveries.

IsBuyableboolean or null

IsBuyable is a rule based property indicating if the Basket's status allows the basket to be purchased. It should be regarded as readonly.

InvoiceReferencestring or null[ 0 .. 50 ] characters

An InvoiceReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50

PaymentMethodIdinteger or null(int32)

The PaymentMethodId from Norce. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

The DeliveryMethodId from Norce. Can be set in CreateBasket or updated in UpdateDeliveryMethod.

SalesAreaIdinteger or null(int32)

The SalesArea internal id of the basket. This defines the default VAT-rate used. Can be set when creating a Basket or change later with UpdateBasket. If not specified, the default for the Application will be used.

ExternalDiscountCodestring or null

A comma separated list of used external discount codes. To clear the value set it to null or String.Empty and call UpdateBasket.

curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentCancel \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
      {
        "Id": 0,
        "LineNo": 0,
        "ParentLineNo": 0,
        "ProductId": 0,
        "PartNo": "string",
        "ManufacturerPartNo": "string",
        "Name": "string",
        "SubHeader": "string",
        "ThumbnailImage": "string",
        "FlagIdSeed": "string",
        "Type": 0,
        "PriceDisplay": 0,
        "Price": 0,
        "PriceOriginal": 0,
        "Cost": 0,
        "VatRate": 0,
        "Quantity": 0,
        "Uom": "string",
        "UomCount": 0,
        "Comment": "string",
        "PriceListId": 0,
        "ReferId": 0,
        "ReferUrl": "string",
        "IsEditable": true,
        "IsDiscountable": true,
        "Info": [
          {
            "TypeId": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "OptionalItems": [
          {}
        ],
        "OnHandValue": 0,
        "IncomingValue": 0,
        "NextDeliveryDate": "2019-08-24T14:15:22Z",
        "LeadtimeDayCount": 0,
        "PromotionIdSeed": "string",
        "ImageKey": "9afa8b7e-ca15-438f-a9d6-f679c437e59c",
        "ManufacturerName": "string",
        "CategoryId": 0,
        "OnHand": {
          "Value": 0,
          "IncomingValue": 0,
          "NextDeliveryDate": "2019-08-24T14:15:22Z",
          "LeadtimeDayCount": 0,
          "LastChecked": "2019-08-24T14:15:22Z",
          "IsActive": true,
          "IsReturnable": true,
          "Info": [
            {
              "Id": 0,
              "Value": "string",
              "Code": "string"
            }
          ]
        },
        "OnHandSupplier": {
          "Value": 0,
          "IncomingValue": 0,
          "NextDeliveryDate": "2019-08-24T14:15:22Z",
          "LeadtimeDayCount": 0,
          "LastChecked": "2019-08-24T14:15:22Z",
          "IsActive": true,
          "IsReturnable": true,
          "Info": [
            {
              "Id": 0,
              "Value": "string",
              "Code": "string"
            }
          ]
        },
        "PriceRecommended": 0,
        "ManufacturerId": 0,
        "UniqueName": "string",
        "StatusId": 0,
        "StockDisplayBreakPoint": 0,
        "PriceCatalog": 0,
        "IsBuyable": true,
        "SubDescription": "string",
        "CategoryIdSeed": "string",
        "RecommendedQuantity": 0,
        "IsRecommendedQuantityFixed": true,
        "AppliedPromotions": [
          {
            "Id": 0,
            "Name": "string",
            "DiscountCode": "string",
            "AppliedAmount": 0,
            "AppliedAmountIncVat": 0
          }
        ],
        "RequirementPromotionIdSeed": "string",
        "IsSubscribable": true,
        "DescriptionHeader": "string",
        "IsPriceManual": true,
        "PriceStandard": 0,
        "EanCode": "string",
        "CostUnit": 0,
        "PriceDisplayIncVat": 0,
        "PriceListLocked": true,
        "PriceOriginalIncVat": 0,
        "PriceRecommendedIncVat": 0,
        "PriceCatalogIncVat": 0,
        "PriceStandardIncVat": 0,
        "Weight": 0,
        "Height": 0,
        "Width": 0,
        "Length": 0,
        "IsDropShipOnly": true
      }
    ],
    "Info": [
      {
        "TypeId": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "Summary": {
      "Items": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Freigt": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Fees": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Total": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      }
    },
    "AppliedPromotions": [
      {
        "Id": 0,
        "Name": "string",
        "Header": "string",
        "ShortDescription": "string",
        "Description1": "string",
        "Description2": "string",
        "StartDate": "2019-08-24T14:15:22Z",
        "EndDate": "2019-08-24T14:15:22Z",
        "ImageKey": "9afa8b7e-ca15-438f-a9d6-f679c437e59c",
        "RequirementSeed": "string",
        "DiscountCode": "string",
        "IsExcludedFromPriceCalculation": true,
        "AllowProductListing": true,
        "Images": [
          {
            "Id": 0,
            "Type": 0,
            "Name": "string",
            "Description": "string",
            "Key": "5eb041b0-19c9-4022-bd51-0e723885f5dd"
          }
        ],
        "ProductFilters": [
          {
            "ManufacturerId": 0,
            "CategorySeed": "string",
            "TypeId": 0,
            "ProductId": 0,
            "VariantProductId": 0,
            "PartNo": "string",
            "PricelistId": 0,
            "FlagId": 0
          }
        ],
        "AppliedAmount": 0,
        "EffectSeed": "string",
        "FreightDiscountPct": 0,
        "IsStackable": true,
        "AppliedAmountIncVat": 0,
        "ExclusivityType": 0,
        "ExternalCode": "string"
      }
    ],
    "IpAddress": "string",
    "AttestedBy": 0,
    "TypeId": 0,
    "DoHold": true,
    "IsBuyable": true,
    "InvoiceReference": "string",
    "PaymentMethodId": 0,
    "DeliveryMethodId": 0,
    "SalesAreaId": 0,
    "ExternalDiscountCode": "string"
  }'

Responses

Success

Bodyapplication/json
Idinteger or null(int32)

The internal id of the basket. Used to get a specific basket. Ignored in CreateBasket.

CustomerIdinteger or null(int32)

The customer internal id for a specific customer associated with this basket. This can be set in CreateBasket if the user is logged in. Otherwise use UpdateBuyer to set customer.

CompanyIdinteger or null(int32)

The company internal id for a specific company associated with this basket. This can be set in CreateBasket if the user is logged in with a company. Otherwise use UpdateBuyer to set customer and company.

SalesContactIdinteger or null(int32)
StatusIdinteger or null(int32)

Internal id for the current status of the basket. See ListBasketStatuses.

CurrencyIdinteger or null(int32)

The currency internal id of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used.

CurrencyCodestring or null[ 0 .. 3 ] characters

The CurrencyCode of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. MaxLength: 3

Commentstring or null[ 0 .. 250 ] characters

Free text comment that will be propagated to the order. MaxLength: 250

OrderReferencestring or null[ 0 .. 50 ] characters

An OrderReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50

DiscountCodestring or null

A comma separated list of used discount codes. To clear the value set it to null or String.Empty an call UpdateBasket.

ReferIdinteger or null(int32)
ReferUrlstring or null[ 0 .. 255 ] characters

MaxLength: 255

ValidTostring or null(date-time)
IsEditableboolean or null

Specifies if the basket is editable. If not, any method that changes the basket will throw Exceptions (Bad Request). It will be false when the basket is no longer a basket. That is when it's paid for or cancelled.

ItemsArray of objects or null(BasketItem)

List of the items in the basket.

InfoArray of objects or null(ExtraInfo)

List of information types with values that may be propagated on the order.

Summaryobject or null

The Summary is a grouping of BasketItem totals. This can be used to display summaries for a Basket.

AppliedPromotionsArray of objects or null(Promotion)

Contains all Promotions valid for a Basket, whether or not they are applied. If any promotions are applied more info about them are added to the corresponding Basket.Items.

IpAddressstring or null[ 0 .. 50 ] characters

The user's IpAddress when the basket was created. The value should be fetched from the user request to the application. MaxLength: 50

AttestedByinteger or null(int32)
TypeIdinteger or null(int32)

The internal type id of the Basket. Can be 1 = Basket, 2 = Saved Basket, 3 = Template Basket for Subscriptions.

DoHoldboolean or null

DoHold specifies if the resulting order should be on hold until all items on the order can be shipped or not. Default is false. This can be set in the Checkout with UpdateBasket if the Customer does not want part deliveries.

IsBuyableboolean or null

IsBuyable is a rule based property indicating if the Basket's status allows the basket to be purchased. It should be regarded as readonly.

InvoiceReferencestring or null[ 0 .. 50 ] characters

An InvoiceReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50

PaymentMethodIdinteger or null(int32)

The PaymentMethodId from Norce. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

The DeliveryMethodId from Norce. Can be set in CreateBasket or updated in UpdateDeliveryMethod.

SalesAreaIdinteger or null(int32)

The SalesArea internal id of the basket. This defines the default VAT-rate used. Can be set when creating a Basket or change later with UpdateBasket. If not specified, the default for the Application will be used.

ExternalDiscountCodestring or null

A comma separated list of used external discount codes. To clear the value set it to null or String.Empty and call UpdateBasket.

Response
application/json
{ "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": { "Items": {}, "Freigt": {}, "Fees": {}, "Total": {} }, "AppliedPromotions": [ {} ], "IpAddress": "string", "AttestedBy": 0, "TypeId": 0, "DoHold": true, "IsBuyable": true, "InvoiceReference": "string", "PaymentMethodId": 0, "DeliveryMethodId": 0, "SalesAreaId": 0, "ExternalDiscountCode": "string" }

Validate a payment

Request

This method gets called from PSPs supporting validation callbacks. Norce API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails.

Bodyapplication/json

These values are provided by the PSP. If the initial PaymentParameters, to PurchaseEx or GetPaymentForm, contained ValidationUrl, Norce API will post a checkout object to that url giving the application a possibility to perform additional validations, such as checking availability. If validation succeeds just return an empty result with HttpStatus 200. Failed validations should give a 400 with the message in the content body. Pass ValidationContentType to specify content type of the posted checkout. Supported values are 'application/json' or 'text/xml'. 'text/xml' is default if not specified. CancelUrl must also be specified in order to handle any validation fail messages. The post to validationUrl supports basic authentication. Just add 'username:password@' to the url.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentValidate \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Response
No content

Validate a payment (v2)

Request

This method gets called from PSPs supporting validation callbacks. Norce API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails.

Query
pricelistSeedstring

(Optional) A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

Bodyapplication/json

These values are provided by the PSP. If the initial PaymentParameters, to PurchaseEx or GetPaymentForm, contained ValidationUrl, Norce API will post a checkout object to that url giving the application a possibility to perform additional validations, such as checking availability. If validation succeeds just return an empty result with HttpStatus 200. Failed validations should give a 400 with the message in the content body. Pass ValidationContentType to specify content type of the posted checkout. Supported values are 'application/json' or 'text/xml'. 'text/xml' is default if not specified. CancelUrl must also be specified in order to handle any validation fail messages. The post to validationUrl supports basic authentication. Just add 'username:password@' to the url.

Array [
Namestring or null

The Name of the Entity.

Valuestring or null

The Value of the Entity.

]
curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/PaymentValidate2 \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Response
No content

Promotions

Contains endpoints for viewing more promotion information.

Operations

Schemas