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

Close basket for post purchases

Request

Closes the basket for post purchase.

Query
basketIdinteger(int32)

The internal id of the basket to close.

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

Responses

Success

Response
No content

Insert items into a basket post purchase

Request

Adds the provided items to the already checked out basket and updates the authorization for the payment. Calling this mehtod will close the basket.

Query
basketIdinteger(int32)

The internal id of the basket to update.

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

The data needed to insert items post purchase

ItemsToAddArray of objects or null(BasketItem)

The items to add to the purchase. The items to insert must have its PartNo, Quantity and PriceListId set. ParentLineNo, Name, Comment, ReferId and ReferUrl can be used if other values than the default are wanted. All other properties will be populated from the system.

PaymentParametersArray of objects or null(NameValue)

Roundtrip of the parameters received in the original payment response.

curl -i -X POST \
  https://customer-slug.api-se.playground.norce.tech/commerce/shopping/1.1/InsertItemsPostPurchase \
  -H 'ApplicationId: YOUR_API_KEY_HERE' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "ItemsToAdd": [
      {
        "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
      }
    ],
    "PaymentParameters": [
      {
        "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 }

Check if post purchase is possible

Request

Should be called before deciding whether to show post purchase functionality on the redirect page. This call is needed becuase it is not until the purchase is done that we can anwser this. Note that even if we anwser yes here the call to InsertItemsPostPurchase might fail regardless, since the PSP can reject the update even if it should be possible (due to risk assesments etc).

Query
basketIdinteger(int32)

The internal id of the basket to check post purchase possibility for.

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

Responses

Success

Bodyapplication/json
boolean
Response
application/json
true

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