Documentation ShoppingService (1.1)

Entities and methods to handle baskets and payments.

Download OpenAPI description
Languages
Servers
https://demo.storm.io/api/1.1/

Basket

Operations

Clear basket

Request

Removes all items from the basket.

Query
idinteger(int32)required

The internal id of the basket to clear.

pricelistSeedstring

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

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

currencyIdstring

Specifies in which currency internal id to display prices. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/ClearBasket?id=0'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Close basket for post purchases

Request

Closes the basket for post purchase.

Query
basketIdinteger(int32)required

The internal id of the basket to close.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/CloseBasketForPostPurchaseUpsell?basketId=0'

Responses

Success

Body

Create basket

Request

Creates a new Basket.

Query
ipAddressstringrequired

The ip-address of the end user.

createdByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Specifies in which internal currency id to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on items, then it must be in the same currency.

Bodyrequired

The Basket to create. Pass in null or an empty Basket to create a new empty Basket. See Basket for what properties can be used when creating baskets.

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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/CreateBasket?createdBy=0&ipAddress=string' \
  -H 'Content-Type: application/json' \
  -d '{
    "Id": 0,
    "CustomerId": 0,
    "CompanyId": 0,
    "SalesContactId": 0,
    "StatusId": 0,
    "CurrencyId": 0,
    "CurrencyCode": "string",
    "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": "string",
        "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
      }
    ],
    "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": "string",
        "RequirementSeed": "string",
        "DiscountCode": "string",
        "IsExcludedFromPriceCalculation": true,
        "AllowProductListing": true,
        "Images": [
          {
            "Id": 0,
            "Type": 0,
            "Name": "string",
            "Description": "string",
            "Key": "string"
          }
        ],
        "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
      }
    ],
    "IpAddress": "string",
    "AttestedBy": 0,
    "TypeId": 0,
    "DoHold": true,
    "IsBuyable": true,
    "InvoiceReference": "string",
    "PaymentMethodId": 0,
    "DeliveryMethodId": 0,
    "SalesAreaId": 0
  }'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Delete a basket

Request

Sets the status of the basket to Deleted. Deleted baskets will not be available in the API. Only normal baskets can be deleted.

Query
basketIdinteger(int32)required

The internal id of the basket to delete. Note that this id should be removed from future references.

updatedByinteger(int32)required

Account internal id of current user.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/DeleteBasket?basketId=0&updatedBy=0'

Responses

Success

Body

Remove item from basket

Request

Remove a specific item/line from a basket

Query
basketIdinteger(int32)required

The internal id of the basket to delete the item from.

lineNointeger(int32)required

The line number of the item to delete. Any items with this lineNo as ParentLineNo wil also be deleted.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/DeleteBasketItem?basketId=0&lineNo=0'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Delete a saved basket

Request

Query
customerIdinteger(int32)required

The internal customer id of the customer. The id is used to fetch saved baskets.

basketIdinteger(int32)required

The internal id of the saved basket to delete.

cultureCodestring

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

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/DeleteSavedBasket?basketId=0&customerId=0'

Responses

Success

BodyArray [
Idinteger(int32)

Internal id of the saved basket.

Namestring

Name given to this specific saved basket. MaxLength: 50.

Createdstring(date-time)

Creation date.

CustomerIdinteger or null(int32)

Internal customer id of associated customer, if any.

ValidTostring or null(date-time)

Valid date, if any.

]
Response
[ { "Id": 0, "Name": "string", "Created": "2019-08-24T14:15:22Z", "CustomerId": 0, "ValidTo": "2019-08-24T14:15:22Z" } ]

Get a basket

Request

Gets a Basket by id. Returns null if not found.

Query
idinteger(int32)required

The basket id of the Basket to fetch.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/GetBasket?id=0'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Insert an item in a basket

Request

Query
basketIdinteger(int32)required

Internal id of the basket to insert the item into.

createdByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on item to insert, then it must be in the same currency.

Bodyrequired

The item 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.

Idinteger or null(int32)

Internal id of the basket item. Used to refer to this particular row in different methods.

LineNointeger(int32)

Line number of the item. Used to refer to this particular row in different methods.

ParentLineNointeger or null(int32)

If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number.

ProductIdinteger(int32)

Internal product id of the product for this basket item.

PartNostring

The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50.

ManufacturerPartNostring

Manufacturer part number. Populated by Storm. MaxLength: 50.

Namestring

Name of the product. Populated by Storm. MaxLength: 255.

SubHeaderstring

Sub header of the product. Populated by Storm. MaxLength: 255.

ThumbnailImagestring

MaxLength: 255. Obsolete! - Use ImageKey with preset

FlagIdSeedstring

A comma separated list of internal flag ids. MaxLength: max.

Typeinteger(int32)

The internal type id of the underlying product. See ListSkuTypes under Products.

PriceDisplaynumber(decimal)

This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying.

Pricenumber or null(decimal)

This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well.

PriceOriginalnumber(decimal)

This is the original price of the SKU, excluding VAT.

Costnumber or null(decimal)

CostPurchase from Storm Admin, excluding VAT.

VatRatenumber(decimal)

A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25.

Quantitynumber(decimal)

The Quantity of this Item. Must be specified when adding items to a basket.

UOMstring

MaxLength: 50.

UOMCountnumber or null(decimal)
Commentstring

Free text comment for this basket item. MaxLength: 255.

PriceListIdinteger(int32)

The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem.

ReferIdinteger or null(int32)

Used to tag a BasketItem with some external id.

ReferUrlstring

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

IsEditableboolean

Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem.

IsDiscountableboolean
InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types and values associated with this particular basket item.

OptionalItemsArray of objects(BasketItem)(BasketItem)
OnHandValuenumber(decimal)

Obsolete! - Moved to OnHand property

IncomingValuenumber(decimal)

Obsolete! - Moved to OnHand property

NextDeliveryDatestring or null(date-time)

Obsolete! - Moved to OnHand property

LeadtimeDayCountinteger or null(int32)

Obsolete! - Moved to OnHand property

PromotionIdSeedstring

Internal ids of promotions applied on this product. MaxLength: max.

ImageKeystring or null(guid)

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.

ManufacturerNamestring

Name of the manufacturer of the product. Populated by Storm. MaxLength: 100.

CategoryIdinteger or null(int32)

Obsolete! - Use CategoryIdSeed

OnHandobject(ProductsOnHand)(ProductsOnHand)
OnHandSupplierobject(ProductsOnHand)(ProductsOnHand)
PriceRecommendednumber or null(decimal)

The rule based price, excluding VAT, from a priceList, if specified.

ManufacturerIdinteger(int32)

Internal manufacturer id for the product. Populated by Storm.

UniqueNamestring

A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500.

StatusIdinteger(int32)

The status of the underlying product. Lookup references in ListStatuses.

StockDisplayBreakPointinteger or null(int32)

A value that can be used for display logic regarding OnHand.

PriceCatalognumber or null(decimal)

The original price, excluding VAT, if specified.

IsBuyableboolean

Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made.

SubDescriptionstring

Sub description from Storm Admin. MaxLength: max.

CategoryIdSeedstring

A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max.

RecommendedQuantitynumber or null(decimal)

Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed.

IsRecommendedQuantityFixedboolean

If this is set to true only multiples of RecommendedQuantity should be allowed.

AppliedPromotionsArray of objects(AppliedPromotionOnItem)(AppliedPromotionOnItem)

Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied.

RequirementPromotionIdSeedstring

A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max.

IsSubscribableboolean

True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription.

DescriptionHeaderstring

DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255.

IsPriceManualboolean

Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts.

PriceStandardnumber or null(decimal)

The standard price, excluding VAT, if specified.

EanCodestring

SKU EAN code. MaxLength: 50.

CostUnitnumber or null(decimal)

CostUnit, excluding VAT, from Storm Admin.

PriceDisplayIncVatnumber(decimal)

This is the price including VAT after applying company discounts and promotions. It is what the customer is paying.

PriceListLockedboolean or null

Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable.

PriceOriginalIncVatnumber(decimal)

This is the original price of the SKU, including VAT.

PriceRecommendedIncVatnumber or null(decimal)

The rule based price, including VAT, from a priceList, if specified.

PriceCatalogIncVatnumber or null(decimal)

The original price, including VAT, if specified.

PriceStandardIncVatnumber or null(decimal)

The standard price, including VAT, if specified.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/InsertBasketItem?basketId=0&createdBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": "string",
    "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
  }'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Insert several items in a basket

Request

Query
basketIdinteger(int32)required

Internal id of the basket to insert the item into.

createdByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on item to insert, then it must be in the same currency.

Bodyrequired

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.

Array [
Idinteger or null(int32)

Internal id of the basket item. Used to refer to this particular row in different methods.

LineNointeger(int32)

Line number of the item. Used to refer to this particular row in different methods.

ParentLineNointeger or null(int32)

If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number.

ProductIdinteger(int32)

Internal product id of the product for this basket item.

PartNostring

The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50.

ManufacturerPartNostring

Manufacturer part number. Populated by Storm. MaxLength: 50.

Namestring

Name of the product. Populated by Storm. MaxLength: 255.

SubHeaderstring

Sub header of the product. Populated by Storm. MaxLength: 255.

ThumbnailImagestring

MaxLength: 255. Obsolete! - Use ImageKey with preset

FlagIdSeedstring

A comma separated list of internal flag ids. MaxLength: max.

Typeinteger(int32)

The internal type id of the underlying product. See ListSkuTypes under Products.

PriceDisplaynumber(decimal)

This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying.

Pricenumber or null(decimal)

This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well.

PriceOriginalnumber(decimal)

This is the original price of the SKU, excluding VAT.

Costnumber or null(decimal)

CostPurchase from Storm Admin, excluding VAT.

VatRatenumber(decimal)

A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25.

Quantitynumber(decimal)

The Quantity of this Item. Must be specified when adding items to a basket.

UOMstring

MaxLength: 50.

UOMCountnumber or null(decimal)
Commentstring

Free text comment for this basket item. MaxLength: 255.

PriceListIdinteger(int32)

The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem.

ReferIdinteger or null(int32)

Used to tag a BasketItem with some external id.

ReferUrlstring

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

IsEditableboolean

Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem.

IsDiscountableboolean
InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types and values associated with this particular basket item.

OptionalItemsArray of objects(BasketItem)(BasketItem)
OnHandValuenumber(decimal)

Obsolete! - Moved to OnHand property

IncomingValuenumber(decimal)

Obsolete! - Moved to OnHand property

NextDeliveryDatestring or null(date-time)

Obsolete! - Moved to OnHand property

LeadtimeDayCountinteger or null(int32)

Obsolete! - Moved to OnHand property

PromotionIdSeedstring

Internal ids of promotions applied on this product. MaxLength: max.

ImageKeystring or null(guid)

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.

ManufacturerNamestring

Name of the manufacturer of the product. Populated by Storm. MaxLength: 100.

CategoryIdinteger or null(int32)

Obsolete! - Use CategoryIdSeed

OnHandobject(ProductsOnHand)(ProductsOnHand)
OnHandSupplierobject(ProductsOnHand)(ProductsOnHand)
PriceRecommendednumber or null(decimal)

The rule based price, excluding VAT, from a priceList, if specified.

ManufacturerIdinteger(int32)

Internal manufacturer id for the product. Populated by Storm.

UniqueNamestring

A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500.

StatusIdinteger(int32)

The status of the underlying product. Lookup references in ListStatuses.

StockDisplayBreakPointinteger or null(int32)

A value that can be used for display logic regarding OnHand.

PriceCatalognumber or null(decimal)

The original price, excluding VAT, if specified.

IsBuyableboolean

Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made.

SubDescriptionstring

Sub description from Storm Admin. MaxLength: max.

CategoryIdSeedstring

A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max.

RecommendedQuantitynumber or null(decimal)

Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed.

IsRecommendedQuantityFixedboolean

If this is set to true only multiples of RecommendedQuantity should be allowed.

AppliedPromotionsArray of objects(AppliedPromotionOnItem)(AppliedPromotionOnItem)

Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied.

RequirementPromotionIdSeedstring

A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max.

IsSubscribableboolean

True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription.

DescriptionHeaderstring

DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255.

IsPriceManualboolean

Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts.

PriceStandardnumber or null(decimal)

The standard price, excluding VAT, if specified.

EanCodestring

SKU EAN code. MaxLength: 50.

CostUnitnumber or null(decimal)

CostUnit, excluding VAT, from Storm Admin.

PriceDisplayIncVatnumber(decimal)

This is the price including VAT after applying company discounts and promotions. It is what the customer is paying.

PriceListLockedboolean or null

Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable.

PriceOriginalIncVatnumber(decimal)

This is the original price of the SKU, including VAT.

PriceRecommendedIncVatnumber or null(decimal)

The rule based price, including VAT, from a priceList, if specified.

PriceCatalogIncVatnumber or null(decimal)

The original price, including VAT, if specified.

PriceStandardIncVatnumber or null(decimal)

The standard price, including VAT, if specified.

]
curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/InsertBasketItems?basketId=0&createdBy=0' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "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": "string",
      "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
    }
  ]'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Insert a strucutre item into basket

Request

Used to insert a structure article into bakset with calculation of it's children

Query
basketIdinteger(int32)required

Internal id of the basket to insert the item into.

createdByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on item to insert, then it must be in the same currency.

Bodyrequired

A list of items to insert. The first item is the parent and the following are inserted as children. The items to insert must have their 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.

Array [
Idinteger or null(int32)

Internal id of the basket item. Used to refer to this particular row in different methods.

LineNointeger(int32)

Line number of the item. Used to refer to this particular row in different methods.

ParentLineNointeger or null(int32)

If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number.

ProductIdinteger(int32)

Internal product id of the product for this basket item.

PartNostring

The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50.

ManufacturerPartNostring

Manufacturer part number. Populated by Storm. MaxLength: 50.

Namestring

Name of the product. Populated by Storm. MaxLength: 255.

SubHeaderstring

Sub header of the product. Populated by Storm. MaxLength: 255.

ThumbnailImagestring

MaxLength: 255. Obsolete! - Use ImageKey with preset

FlagIdSeedstring

A comma separated list of internal flag ids. MaxLength: max.

Typeinteger(int32)

The internal type id of the underlying product. See ListSkuTypes under Products.

PriceDisplaynumber(decimal)

This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying.

Pricenumber or null(decimal)

This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well.

PriceOriginalnumber(decimal)

This is the original price of the SKU, excluding VAT.

Costnumber or null(decimal)

CostPurchase from Storm Admin, excluding VAT.

VatRatenumber(decimal)

A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25.

Quantitynumber(decimal)

The Quantity of this Item. Must be specified when adding items to a basket.

UOMstring

MaxLength: 50.

UOMCountnumber or null(decimal)
Commentstring

Free text comment for this basket item. MaxLength: 255.

PriceListIdinteger(int32)

The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem.

ReferIdinteger or null(int32)

Used to tag a BasketItem with some external id.

ReferUrlstring

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

IsEditableboolean

Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem.

IsDiscountableboolean
InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types and values associated with this particular basket item.

OptionalItemsArray of objects(BasketItem)(BasketItem)
OnHandValuenumber(decimal)

Obsolete! - Moved to OnHand property

IncomingValuenumber(decimal)

Obsolete! - Moved to OnHand property

NextDeliveryDatestring or null(date-time)

Obsolete! - Moved to OnHand property

LeadtimeDayCountinteger or null(int32)

Obsolete! - Moved to OnHand property

PromotionIdSeedstring

Internal ids of promotions applied on this product. MaxLength: max.

ImageKeystring or null(guid)

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.

ManufacturerNamestring

Name of the manufacturer of the product. Populated by Storm. MaxLength: 100.

CategoryIdinteger or null(int32)

Obsolete! - Use CategoryIdSeed

OnHandobject(ProductsOnHand)(ProductsOnHand)
OnHandSupplierobject(ProductsOnHand)(ProductsOnHand)
PriceRecommendednumber or null(decimal)

The rule based price, excluding VAT, from a priceList, if specified.

ManufacturerIdinteger(int32)

Internal manufacturer id for the product. Populated by Storm.

UniqueNamestring

A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500.

StatusIdinteger(int32)

The status of the underlying product. Lookup references in ListStatuses.

StockDisplayBreakPointinteger or null(int32)

A value that can be used for display logic regarding OnHand.

PriceCatalognumber or null(decimal)

The original price, excluding VAT, if specified.

IsBuyableboolean

Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made.

SubDescriptionstring

Sub description from Storm Admin. MaxLength: max.

CategoryIdSeedstring

A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max.

RecommendedQuantitynumber or null(decimal)

Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed.

IsRecommendedQuantityFixedboolean

If this is set to true only multiples of RecommendedQuantity should be allowed.

AppliedPromotionsArray of objects(AppliedPromotionOnItem)(AppliedPromotionOnItem)

Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied.

RequirementPromotionIdSeedstring

A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max.

IsSubscribableboolean

True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription.

DescriptionHeaderstring

DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255.

IsPriceManualboolean

Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts.

PriceStandardnumber or null(decimal)

The standard price, excluding VAT, if specified.

EanCodestring

SKU EAN code. MaxLength: 50.

CostUnitnumber or null(decimal)

CostUnit, excluding VAT, from Storm Admin.

PriceDisplayIncVatnumber(decimal)

This is the price including VAT after applying company discounts and promotions. It is what the customer is paying.

PriceListLockedboolean or null

Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable.

PriceOriginalIncVatnumber(decimal)

This is the original price of the SKU, including VAT.

PriceRecommendedIncVatnumber or null(decimal)

The rule based price, including VAT, from a priceList, if specified.

PriceCatalogIncVatnumber or null(decimal)

The original price, including VAT, if specified.

PriceStandardIncVatnumber or null(decimal)

The standard price, including VAT, if specified.

]
curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/InsertBasketItemWithChildren?basketId=0&createdBy=0' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "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": "string",
      "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
    }
  ]'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

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)required

The internal id of the basket to update.

pricelistSeedstring

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.

Bodyrequired

The data needed to insert items post purchase

ItemsToAddArray of objects(BasketItem)(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(NameValue)(NameValue)

Roundtrip of the parameters received in the original payment response.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/InsertItemsPostPurchase?basketId=0' \
  -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": "string",
        "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
      }
    ],
    "PaymentParameters": [
      {
        "Name": "string",
        "Value": "string"
      }
    ]
  }'

Responses

Success

Body
Statusstring

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

StatusDescriptionstring

Descriptive text for the status. MaxLength: 255.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring

Order number if order's been created. MaxLength: 50.

PaymentCodestring

Internal identifier of this specific payment attempt. MaxLength: int.

PaymentReferencestring

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

HostedPaymentPagestring

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

RedirectUrlstring

Configurated redirection URL after successful payment. MaxLength: 255.

RedirectParametersArray of objects(NameValue)(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
{ "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)required

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

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/IsPostPurchasePossbile?basketId=0'

Responses

Success

Body
boolean
Response
true

List baskets by status

Request

Returns a paged basket list for specified customer, company or sales contact.

Query
companyIdstringrequired

The internal company id for which baskets are fetched. Either this a customerId or salesContactId must be specified.

customerIdstringrequired

The internal customer id for which baskets are fetched. Either this a companyId or salesContactId must be specified.

salesContactIdstringrequired

The internal salesContact id for which baskets are fetched. Either this a companyId or customerId must be specified.

statusIdinteger(int32)

The internal id for the status to fetch.

pageNostring

Page numbers start with 1. Default is 1. If you specify a pageNo outside the range of items, an empty list will be returned. PageSize is mandatory for pageNo to work.

pageSizestring

Number of items to display per page. Mandatory if using pageNo.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/ListBasketsByStatus?companyId=string&customerId=string&salesContactId=string'

Responses

Success

Body
ItemCountinteger(int32)

Total number of baskets.

ItemsArray of objects(Basket)(Basket)

List of baskets.

Response
{ "ItemCount": 0, "Items": [ {} ] }

List basket statuses

Request

Lists the available basket statuses.

Query
cultureCodestring

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

curl -i -X GET \
  https://demo.storm.io/api/1.1/ShoppingService.svc/rest/ListBasketStatuses

Responses

Success

BodyArray [
Idinteger(int32)

The internal Id of the Entity.

Namestring

The Name of the Entity. MaxLength: 50.

Descriptionstring

The Description of the Entity. MaxLength: 500.

ImageKeystring or null(guid)

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.

Codestring

The Code of the Entity. MaxLength: 50.

]
Response
[ { "Id": 0, "Name": "string", "Description": "string", "ImageKey": "string", "Code": "string" } ]

List basket types

Request

Lists the available basket types.

Query
cultureCodestring

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

curl -i -X GET \
  https://demo.storm.io/api/1.1/ShoppingService.svc/rest/ListBasketTypes

Responses

Success

BodyArray [
Idinteger(int32)

The internal Id of the Entity.

Namestring

The Name of the Entity. MaxLength: 50.

Descriptionstring

The Description of the Entity. MaxLength: 500.

ImageKeystring or null(guid)

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.

Codestring

The Code of the Entity. MaxLength: 50.

]
Response
[ { "Id": 0, "Name": "string", "Description": "string", "ImageKey": "string", "Code": "string" } ]

List saved baskets for a customer

Request

List saved baskets for a specific customer

Query
customerIdinteger(int32)required

The internal customer id of the customer. The id is used to fetch saved baskets.

cultureCodestring

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

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/ListSavedBaskets?customerId=0'

Responses

Success

BodyArray [
Idinteger(int32)

Internal id of the saved basket.

Namestring

Name given to this specific saved basket. MaxLength: 50.

Createdstring(date-time)

Creation date.

CustomerIdinteger or null(int32)

Internal customer id of associated customer, if any.

ValidTostring or null(date-time)

Valid date, if any.

]
Response
[ { "Id": 0, "Name": "string", "Created": "2019-08-24T14:15:22Z", "CustomerId": 0, "ValidTo": "2019-08-24T14:15:22Z" } ]

Save a basket

Request

Save a initiated basket

Query
customerIdinteger(int32)required

The internal customer id of the customer. The id is used to fetch saved baskets.

basketIdinteger(int32)required

The internal id of the basket to save.

namestringrequired

The name of the saved basket.

cultureCodestring

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

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/SaveBasket?basketId=0&customerId=0&name=string'

Responses

Success

Body
Idinteger(int32)

Internal id of the saved basket.

Namestring

Name given to this specific saved basket. MaxLength: 50.

Createdstring(date-time)

Creation date.

CustomerIdinteger or null(int32)

Internal customer id of associated customer, if any.

ValidTostring or null(date-time)

Valid date, if any.

Response
{ "Id": 0, "Name": "string", "Created": "2019-08-24T14:15:22Z", "CustomerId": 0, "ValidTo": "2019-08-24T14:15:22Z" }

Attest a basket

Request

Query
basketIdinteger(int32)required

Internal id of the basket to attest.

updatedByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/SetAttestBasket?basketId=0&updatedBy=0'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Update a basket [Obsolete("Deprecated, use UpdateBasket2")]

Request

Query
updatedByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

Bodyrequired

The basket to update.

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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/UpdateBasket?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "Id": 0,
    "CustomerId": 0,
    "CompanyId": 0,
    "SalesContactId": 0,
    "StatusId": 0,
    "CurrencyId": 0,
    "CurrencyCode": "string",
    "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": "string",
        "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
      }
    ],
    "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": "string",
        "RequirementSeed": "string",
        "DiscountCode": "string",
        "IsExcludedFromPriceCalculation": true,
        "AllowProductListing": true,
        "Images": [
          {
            "Id": 0,
            "Type": 0,
            "Name": "string",
            "Description": "string",
            "Key": "string"
          }
        ],
        "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
      }
    ],
    "IpAddress": "string",
    "AttestedBy": 0,
    "TypeId": 0,
    "DoHold": true,
    "IsBuyable": true,
    "InvoiceReference": "string",
    "PaymentMethodId": 0,
    "DeliveryMethodId": 0,
    "SalesAreaId": 0
  }'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Update a basket (v2)

Request

Updates status, contact, order reference, comment, discount code, currencyCode and sales area. Does not update any customer data. Use UpdateBuyer/UpdatePayer/UpdateShipTo to change customer data for a Basket.

Query
updatedByinteger(int32)required

Account internal id of current user.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

Bodyrequired

The basket to update.

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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/UpdateBasket2?updatedBy=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "Id": 0,
    "CustomerId": 0,
    "CompanyId": 0,
    "SalesContactId": 0,
    "StatusId": 0,
    "CurrencyId": 0,
    "CurrencyCode": "string",
    "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": "string",
        "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
      }
    ],
    "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": "string",
        "RequirementSeed": "string",
        "DiscountCode": "string",
        "IsExcludedFromPriceCalculation": true,
        "AllowProductListing": true,
        "Images": [
          {
            "Id": 0,
            "Type": 0,
            "Name": "string",
            "Description": "string",
            "Key": "string"
          }
        ],
        "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
      }
    ],
    "IpAddress": "string",
    "AttestedBy": 0,
    "TypeId": 0,
    "DoHold": true,
    "IsBuyable": true,
    "InvoiceReference": "string",
    "PaymentMethodId": 0,
    "DeliveryMethodId": 0,
    "SalesAreaId": 0
  }'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Update a basket item

Request

Updates a BasketItem on the specified basket. Don't propagate quantity updates to child items. Use UpdateBasketItemQuantityWithChildren for updating basket item with child items if you want all child items to follow parent item quantity update.

Query
basketIdinteger(int32)required

The internal id of the basket to update.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on item to update, then it must be in the same currency.

Bodyrequired

The BasketItem to update. If quantity is zero it and it's child items will be deleted. Otherwise only Quantity, Comment, Name and Info fields will be updated. To update the Price set Price and IsPriceManual.

Idinteger or null(int32)

Internal id of the basket item. Used to refer to this particular row in different methods.

LineNointeger(int32)

Line number of the item. Used to refer to this particular row in different methods.

ParentLineNointeger or null(int32)

If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number.

ProductIdinteger(int32)

Internal product id of the product for this basket item.

PartNostring

The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50.

ManufacturerPartNostring

Manufacturer part number. Populated by Storm. MaxLength: 50.

Namestring

Name of the product. Populated by Storm. MaxLength: 255.

SubHeaderstring

Sub header of the product. Populated by Storm. MaxLength: 255.

ThumbnailImagestring

MaxLength: 255. Obsolete! - Use ImageKey with preset

FlagIdSeedstring

A comma separated list of internal flag ids. MaxLength: max.

Typeinteger(int32)

The internal type id of the underlying product. See ListSkuTypes under Products.

PriceDisplaynumber(decimal)

This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying.

Pricenumber or null(decimal)

This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well.

PriceOriginalnumber(decimal)

This is the original price of the SKU, excluding VAT.

Costnumber or null(decimal)

CostPurchase from Storm Admin, excluding VAT.

VatRatenumber(decimal)

A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25.

Quantitynumber(decimal)

The Quantity of this Item. Must be specified when adding items to a basket.

UOMstring

MaxLength: 50.

UOMCountnumber or null(decimal)
Commentstring

Free text comment for this basket item. MaxLength: 255.

PriceListIdinteger(int32)

The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem.

ReferIdinteger or null(int32)

Used to tag a BasketItem with some external id.

ReferUrlstring

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

IsEditableboolean

Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem.

IsDiscountableboolean
InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types and values associated with this particular basket item.

OptionalItemsArray of objects(BasketItem)(BasketItem)
OnHandValuenumber(decimal)

Obsolete! - Moved to OnHand property

IncomingValuenumber(decimal)

Obsolete! - Moved to OnHand property

NextDeliveryDatestring or null(date-time)

Obsolete! - Moved to OnHand property

LeadtimeDayCountinteger or null(int32)

Obsolete! - Moved to OnHand property

PromotionIdSeedstring

Internal ids of promotions applied on this product. MaxLength: max.

ImageKeystring or null(guid)

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.

ManufacturerNamestring

Name of the manufacturer of the product. Populated by Storm. MaxLength: 100.

CategoryIdinteger or null(int32)

Obsolete! - Use CategoryIdSeed

OnHandobject(ProductsOnHand)(ProductsOnHand)
OnHandSupplierobject(ProductsOnHand)(ProductsOnHand)
PriceRecommendednumber or null(decimal)

The rule based price, excluding VAT, from a priceList, if specified.

ManufacturerIdinteger(int32)

Internal manufacturer id for the product. Populated by Storm.

UniqueNamestring

A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500.

StatusIdinteger(int32)

The status of the underlying product. Lookup references in ListStatuses.

StockDisplayBreakPointinteger or null(int32)

A value that can be used for display logic regarding OnHand.

PriceCatalognumber or null(decimal)

The original price, excluding VAT, if specified.

IsBuyableboolean

Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made.

SubDescriptionstring

Sub description from Storm Admin. MaxLength: max.

CategoryIdSeedstring

A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max.

RecommendedQuantitynumber or null(decimal)

Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed.

IsRecommendedQuantityFixedboolean

If this is set to true only multiples of RecommendedQuantity should be allowed.

AppliedPromotionsArray of objects(AppliedPromotionOnItem)(AppliedPromotionOnItem)

Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied.

RequirementPromotionIdSeedstring

A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max.

IsSubscribableboolean

True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription.

DescriptionHeaderstring

DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255.

IsPriceManualboolean

Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts.

PriceStandardnumber or null(decimal)

The standard price, excluding VAT, if specified.

EanCodestring

SKU EAN code. MaxLength: 50.

CostUnitnumber or null(decimal)

CostUnit, excluding VAT, from Storm Admin.

PriceDisplayIncVatnumber(decimal)

This is the price including VAT after applying company discounts and promotions. It is what the customer is paying.

PriceListLockedboolean or null

Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable.

PriceOriginalIncVatnumber(decimal)

This is the original price of the SKU, including VAT.

PriceRecommendedIncVatnumber or null(decimal)

The rule based price, including VAT, from a priceList, if specified.

PriceCatalogIncVatnumber or null(decimal)

The original price, including VAT, if specified.

PriceStandardIncVatnumber or null(decimal)

The standard price, including VAT, if specified.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/UpdateBasketItem?basketId=0' \
  -H 'Content-Type: application/json' \
  -d '{
    "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": "string",
    "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
  }'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Update a structure basket item quantity

Request

Updates quantity of basket item and multiplies child items quantity so they follow the quantity change of the parent item.

Query
basketIdinteger(int32)required

The internal id of the basket to update.

lineNointeger(int32)required

The line on which to update the quantity.

quantitynumber(decimal)required

New quantity of the line.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/UpdateBasketItemQuantityWithChildren?basketId=0&lineNo=0&quantity=0'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Update several basket items

Request

Updates all supplied BasketItems on the specified basket.

Query
basketIdinteger(int32)required

The internal id of the basket to update.

pricelistSeedstring

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

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

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application. Note that if price is specified on item to update, then it must be in the same currency.

Bodyrequired

A list of BasketItems to update. If quantity is zero it and it's child items will be deleted. Otherwise only Quantity, Comment, Name and Info fields will be updated. To update the Price set Price and IsPriceManual.

Array [
Idinteger or null(int32)

Internal id of the basket item. Used to refer to this particular row in different methods.

LineNointeger(int32)

Line number of the item. Used to refer to this particular row in different methods.

ParentLineNointeger or null(int32)

If this item is part of a bundle, an attached item from promotion or such this property will refer to the associated line number.

ProductIdinteger(int32)

Internal product id of the product for this basket item.

PartNostring

The PartNo of this Item. Must be specified when adding items to a basket. MaxLength: 50.

ManufacturerPartNostring

Manufacturer part number. Populated by Storm. MaxLength: 50.

Namestring

Name of the product. Populated by Storm. MaxLength: 255.

SubHeaderstring

Sub header of the product. Populated by Storm. MaxLength: 255.

ThumbnailImagestring

MaxLength: 255. Obsolete! - Use ImageKey with preset

FlagIdSeedstring

A comma separated list of internal flag ids. MaxLength: max.

Typeinteger(int32)

The internal type id of the underlying product. See ListSkuTypes under Products.

PriceDisplaynumber(decimal)

This is the price, excluding VAT, after applying company discounts and promotions. It is what the customer is paying.

Pricenumber or null(decimal)

This is the snapshot value, excluding VAT, of PriceDisplay when the basket is bought. Should be null. Can be used to set a price from the application when updating or creating BasketItems. Then IsPriceManual must be set to true as well.

PriceOriginalnumber(decimal)

This is the original price of the SKU, excluding VAT.

Costnumber or null(decimal)

CostPurchase from Storm Admin, excluding VAT.

VatRatenumber(decimal)

A rate to multiply with price to get price inc VAT. 25% VAT equals a VatRate of 1.25.

Quantitynumber(decimal)

The Quantity of this Item. Must be specified when adding items to a basket.

UOMstring

MaxLength: 50.

UOMCountnumber or null(decimal)
Commentstring

Free text comment for this basket item. MaxLength: 255.

PriceListIdinteger(int32)

The internal pricelist id of this Item. Must be specified when adding items to a basket. Use the PriceListId from Product or ProductItem.

ReferIdinteger or null(int32)

Used to tag a BasketItem with some external id.

ReferUrlstring

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

IsEditableboolean

Indicates if a basket item is editable or not. This can happen when the API splits rows in promotions. Can be checked to see if an item should be allowed for UpdateBasketItem.

IsDiscountableboolean
InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types and values associated with this particular basket item.

OptionalItemsArray of objects(BasketItem)(BasketItem)
OnHandValuenumber(decimal)

Obsolete! - Moved to OnHand property

IncomingValuenumber(decimal)

Obsolete! - Moved to OnHand property

NextDeliveryDatestring or null(date-time)

Obsolete! - Moved to OnHand property

LeadtimeDayCountinteger or null(int32)

Obsolete! - Moved to OnHand property

PromotionIdSeedstring

Internal ids of promotions applied on this product. MaxLength: max.

ImageKeystring or null(guid)

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.

ManufacturerNamestring

Name of the manufacturer of the product. Populated by Storm. MaxLength: 100.

CategoryIdinteger or null(int32)

Obsolete! - Use CategoryIdSeed

OnHandobject(ProductsOnHand)(ProductsOnHand)
OnHandSupplierobject(ProductsOnHand)(ProductsOnHand)
PriceRecommendednumber or null(decimal)

The rule based price, excluding VAT, from a priceList, if specified.

ManufacturerIdinteger(int32)

Internal manufacturer id for the product. Populated by Storm.

UniqueNamestring

A unique name that can be used in Urls and to get a Product. GetProduct and GetProductByUniqueName gets the same Product. MaxLength: 500.

StatusIdinteger(int32)

The status of the underlying product. Lookup references in ListStatuses.

StockDisplayBreakPointinteger or null(int32)

A value that can be used for display logic regarding OnHand.

PriceCatalognumber or null(decimal)

The original price, excluding VAT, if specified.

IsBuyableboolean

Indicates if the item is buyable or not. Will always be false if the status is closed. An exception will be thrown if IsBuyable is false and an attempt to buy the item is made.

SubDescriptionstring

Sub description from Storm Admin. MaxLength: max.

CategoryIdSeedstring

A comma separated list of internal category ids ordered so the primary category is first. MaxLength: max.

RecommendedQuantitynumber or null(decimal)

Indicates the default value used as quantity when buying the product. If IsRecommendedQuantityFixed is true, only multiples of this quantity should be allowed.

IsRecommendedQuantityFixedboolean

If this is set to true only multiples of RecommendedQuantity should be allowed.

AppliedPromotionsArray of objects(AppliedPromotionOnItem)(AppliedPromotionOnItem)

Applied promotions for this item, if any. It will contain some info about what promotion was applied and amount applied.

RequirementPromotionIdSeedstring

A comma separated list of promotion internal ids for this item that are fulfilling the requirements. MaxLength: max.

IsSubscribableboolean

True if this item can be added to a Subscription. False otherwise. Can be used when copying BasketItems from one Basket to a TemplateBasket in a Subacription.

DescriptionHeaderstring

DescriptionHeader for the product as specified in Storm Admin. MaxLength: 255.

IsPriceManualboolean

Used when setting price on a BasketItem from the application. Manual prices are not discountable when applying promotions or company discounts.

PriceStandardnumber or null(decimal)

The standard price, excluding VAT, if specified.

EanCodestring

SKU EAN code. MaxLength: 50.

CostUnitnumber or null(decimal)

CostUnit, excluding VAT, from Storm Admin.

PriceDisplayIncVatnumber(decimal)

This is the price including VAT after applying company discounts and promotions. It is what the customer is paying.

PriceListLockedboolean or null

Set to true to exclude this item's price list from business logic when selecting cheapest price. Will be set to false if price list is unavailable.

PriceOriginalIncVatnumber(decimal)

This is the original price of the SKU, including VAT.

PriceRecommendedIncVatnumber or null(decimal)

The rule based price, including VAT, from a priceList, if specified.

PriceCatalogIncVatnumber or null(decimal)

The original price, including VAT, if specified.

PriceStandardIncVatnumber or null(decimal)

The standard price, including VAT, if specified.

]
curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/UpdateBasketItems?basketId=0' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "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": "string",
      "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
    }
  ]'

Responses

Success

Body
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(int32)

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

CurrencyIdinteger(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

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

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

OrderReferencestring

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

DiscountCodestring

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

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

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(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

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

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(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

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(int32)

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

DoHoldboolean

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

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

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 Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

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

SalesAreaIdinteger(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.

Response
{ "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "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 }

Checkout

Operations

DeliveryMethods

Operations

InfoTypes

Operations

OnHand

Operations

OrderRequest

Operations

Payments

Operations

Promotions

Operations

Subscriptions

Operations