Table of Contents

Dynamicweb API

Dynamicweb API

Areas

View Source

Areas_GetAll

Gets all areas for the DW solution.

No Authorization header required.

Does not include areas that;

  • are not published
  • does not have read permission

Returns an empty list if no areas are found.

Request
GET /dwapi/content/areas
Responses
Status Code Type Description Samples
200 AreaInfoViewModel[]

OK

View Source

Areas_GetById

Gets the area by the specified ID.

No Authorization header required.

To get a list of all AreaInfoViewModels and their IDs, refer to GET /dwapi/content/areas.

Request
GET /dwapi/content/areas/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific area.

Responses
Status Code Type Description Samples
200 AreaInfoViewModel

OK

403

The current user does not have the needed permissions to view the area.

404

Not found or the area is not published.

View Source

Areas_GetByDomain

Gets all areas associated to the given domain.

No Authorization header required.

To get a list of all AreaInfoViewModels and their Domainss for the DW solution, refer to GET /dwapi/content/areas.

Request
GET /dwapi/content/areas/domain/{domain}
Parameters
Name Type Default Notes
*domain

The domain to find all the areas for, i.e. www.dynamicweb.com

Responses
Status Code Type Description Samples
200 AreaInfoViewModel[]

OK

404

No areas found for the given domain

Carts

View Source

Carts_CreateCartBody

Create a cart for the authenticated user.

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

Creates a new cart for the user with the given content, however nothing is mandatory aside from the currencyCode, countryCode and languageId as it can be updated through the PATCH endpoints.

Sample query parameters

  • currencyCode=DKK
  • countryCode=DK
  • languageId=LANG1

If the CustomerUserId parameter is filled, it will check if the currently authorized user is allowed to impersonate that customer and create the cart for that customer.

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED
Request
POST /dwapi/ecommerce/carts/create?currencyCode&countryCode&languageId
Parameters
Name Type Default Notes
*currencyCode

The currency code to create the order in - i.e. EUR

*countryCode

The country code to use for VAT, shipping and payment fees and rules, i.e. DE

*languageId

The language to use for product data, i.e. LANG1

*body

Parameters for the cart, see OrderViewModel

Responses
Status Code Type Description Samples
200 OrderViewModel

Created cart view model

403

The current user does not have permissions to create a cart or the current user does not have permissions to create a cart to specified user.

404

The currency is not found or the country is not found or the language is not found.

View Source

Carts_CreateCart

Create a cart for the authenticated user.

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

Request
POST /dwapi/ecommerce/carts?currencyCode&countryCode&languageId[&Id&ParentOrderId&SecondaryUserId&SecondaryUserName&Secret&ShopId&DisplayName&VoucherCode&Weight&Volume&CreatedAt&Modified&CompletedDate&Completed&LedgerType&StateId&StateName&StateDescription&IntegrationOrderId&RecurringOrderId&CustomerUserId&CustomerNumber&CustomerEan&CustomerRefId&CustomerCompany&CustomerTitle&CustomerName&CustomerFirstName&CustomerSurname&CustomerMiddleName&CustomerHouseNumber&CustomerInitials&CustomerPrefix&CustomerAddress&CustomerAddress2&CustomerAddressId&CustomerZip&CustomerCity&CustomerCountry&CustomerCountryCode&CustomerRegion&CustomerPhone&CustomerEmail&CustomerCell&CustomerAccepted&CustomerComment&DeliveryCompany&DeliveryName&DeliveryFirstName&DeliverySurname&DeliveryMiddleName&DeliveryTitle&DeliveryHouseNumber&DeliveryInitials&DeliveryPrefix&DeliveryAddress&DeliveryAddress2&DeliveryAddressId&DeliveryZip&DeliveryCity&DeliveryCountry&DeliveryCountryCode&DeliveryRegion&DeliveryPhone&DeliveryEmail&DeliveryCell&Reference&NewsletterSubscribe&TransactionCardnumber&TransactionCardType&TransactionNumber&TransactionStatus&ShippingDate&TrackAndTraceName&TrackAndTraceURL&TrackAndTraceNumber&OrderLines&OrderFields&TotalDiscount&TotalProductDiscount&TotalOrderDiscount&Price&PriceBeforeFees&TotalPriceBeforeFeesAndTaxes&TotalTaxes&ShippingFee&ShippingMethod&PaymentMethod&PaymentFee&TotalPriceWithoutDiscountsFeesAndTaxes&TotalPriceWithoutOrderDiscountsAndFeesAndTaxes]
Parameters
Name Type Default Notes
*currencyCode

The currency code to create the order in - i.e. EUR

*countryCode

The country code to use for VAT, shipping and payment fees and rules, i.e. DE

*languageId

The language to use for product data, i.e. LANG1

Id

Gets or sets the order Id.

ParentOrderId

Gets or sets the parent Order ID.

SecondaryUserId

Gets or sets the impersonated access user ID.

SecondaryUserName

Gets the impersonated access user Name.

Secret

Gets or sets the order secret.

ShopId

Gets or sets the order shop id.

DisplayName

Gets or sets the order display name.

VoucherCode

Gets or sets the voucher code for the order to trigger discounts

Weight

Gets or sets the total weight of the ordered products.

Volume

Gets or sets the total volume of the ordered products.

CreatedAt

Gets or sets the order record creation date. See CompletedDate for the date the order was completed

Modified

Gets or sets the order record modified date.

CompletedDate

Gets or sets the order completed date.

Completed

Gets a boolean that indicates that this cart is a completed order

LedgerType

Gets or sets the ledger type.

StateId

Gets or sets the order state Id.

StateName

Gets or sets the order state name.

StateDescription

Gets or sets the order state description.

IntegrationOrderId

Gets or sets the order id in the integrated system

RecurringOrderId

Gets or sets the id used for creating recurring orders.

CustomerUserId

Gets or sets the customer user Id.

CustomerNumber

Gets or sets the customer number.

CustomerEan

Gets or sets the customer Ean number.

CustomerRefId

Gets or sets the customers reference id

CustomerCompany

Gets or sets the customer company.

CustomerTitle

Gets or sets the customer title.

CustomerName

Gets or sets the customer name.

CustomerFirstName

Gets or sets the customer first name.

CustomerSurname

Gets or sets the customer surname.

CustomerMiddleName

Gets or sets the customer middle name.

CustomerHouseNumber

Gets or sets the customer house number.

CustomerInitials

Gets or sets the customer initials.

CustomerPrefix

Gets or sets the customer prefix.

CustomerAddress

Gets or sets the customer address.

CustomerAddress2

Gets or sets the customer address2.

CustomerAddressId

Gets or sets the ID of the UserAddress

CustomerZip

Gets or sets the customer zip code.

CustomerCity

Gets or sets the customer city.

CustomerCountry

Gets or sets the customer country.

CustomerCountryCode

Gets or sets the customer country code.

CustomerRegion

Gets or sets the customer region.

CustomerPhone

Gets or sets the customer phone.

CustomerEmail

Gets or sets the customer email.

CustomerCell

Gets or sets the customer cell.

CustomerAccepted

Gets or sets a value indicating whether customer has accepted order terms and conditions.

CustomerComment

Gets or sets the customer comment.

DeliveryCompany

Gets or sets the delivery company.

DeliveryName

Gets or sets the delivery name.

DeliveryFirstName

Gets or sets the delivery first name.

DeliverySurname

Gets or sets the delivery surname.

DeliveryMiddleName

Gets or sets the delivery middle name.

DeliveryTitle

Gets or sets the delivery title.

DeliveryHouseNumber

Gets or sets the delivery house number.

DeliveryInitials

Gets or sets the delivery initials.

DeliveryPrefix

Gets or sets the delivery prefix.

DeliveryAddress

Gets or sets the delivery address.

DeliveryAddress2

Gets or sets the delivery address2.

DeliveryAddressId

Gets or sets the ID of the UserAddress

DeliveryZip

Gets or sets the delivery ZIP.

DeliveryCity

Gets or sets the delivery city.

DeliveryCountry

Gets or sets the delivery country.

DeliveryCountryCode

Gets or sets the delivery country code.

DeliveryRegion

Gets or sets the delivery region.

DeliveryPhone

Gets or sets the delivery phone.

DeliveryEmail

Gets or sets the delivery email.

DeliveryCell

Gets or sets the delivery cell.

Reference

Gets or sets the reference.

NewsletterSubscribe

Gets or sets a value indicating whether customer wants to subscribe for a newsletter.

TransactionCardnumber

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TransactionCardType

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TransactionNumber

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TransactionStatus

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

ShippingDate

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TrackAndTraceName

Gets or sets the track and trace name.

TrackAndTraceURL

Gets or sets the track and trace URL.

TrackAndTraceNumber

Gets or sets the track and trace number.

OrderLines

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

OrderFields

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalDiscount

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalProductDiscount

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalOrderDiscount

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

Price

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

PriceBeforeFees

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalPriceBeforeFeesAndTaxes

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalTaxes

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

ShippingFee

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

ShippingMethod

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

PaymentMethod

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

PaymentFee

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalPriceWithoutDiscountsFeesAndTaxes

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

TotalPriceWithoutOrderDiscountsAndFeesAndTaxes

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

This uses a large amount of query parameters even thought it's a POST endpoint, as such it has been obsoleted in favor of /ecommerce/carts/create which uses a JSON body.

Responses
Status Code Type Description Samples
200 OrderViewModel

Created cart view model

403

The current user does not have permissions to create a cart or the current user does not have permissions to create a cart to specified user.

404

The currency is not found or the country is not found or the language is not found.

View Source

Carts_GetCarts

Gets a list of cart secrets for the authenticated user.

Uses JWT in the Authorization header to get a list of UserCartsResponses for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

Only shows UserCartsResponses in the NotCompleted state, ordered by CreatedAt descending.

Request
GET /dwapi/ecommerce/carts[?PageSize&CurrentPage&ByCustomerNumber]
Parameters
Name Type Default Notes
PageSize 50

Maximum amount of carts to return.

CurrentPage 1

The page number.

ByCustomerNumber False

If set to true, orders are feteched for all users sharing the current users customer number. Default is false

Responses
Status Code Type Description Samples
200 UserCartsResponse[]

OK

400

JWT couldn't be decoded or something unforseen has gone wrong.

404

No carts found for the user. or User does not have a customer number - returned if ByCustomerNumber is set to true and user does not have a customer number.

View Source

Carts_GetCart

Gets the cart for the specified secret.

No Authorization header required.

Fetches the OrderViewModel by the given secret if it's found and not completed.

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
GET /dwapi/ecommerce/carts/{secret}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

View Source

Carts_UpdateCart

Updates the specified cart with the request body.

No Authorization header required.

Updates the OrderViewModel found by the given secret with the model in the request body. A valid request body will contain a JSON representation of the values that needs to be updated from OrderViewModel.

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
PATCH /dwapi/ecommerce/carts/{secret}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*body

Parameters for the cart, see OrderViewModel

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

View Source

Carts_DeleteCart

Delete the specified OrderViewModel.

No Authorization header required.

Deletes the OrderViewModel found by the specified secret.

Notifications

  • DWN_ECOM_ORDER_BEFORE_DELETE
  • DWN_ECOM_ORDER_AFTER_DELETE

Fires a BeforeDelete notification before the deletion takes place and AfterDelete once the OrderViewModel has been deleted successfully.

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
DELETE /dwapi/ecommerce/carts/{secret}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

Responses
Status Code Type Description Samples
200

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

View Source

Carts_UpdateShipping

Updates the specified OrderViewModels shipping.

No Authorization header required.

Updates the OrderViewModel found by the given secret with another shipping method, found by the given shippingId. Use GET /dwapi/ecommerce/shippings to get all ShippingViewModels and their Id.

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
PATCH /dwapi/ecommerce/carts/{secret}/shipping/{shippingId}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*shippingId

The new shipping method id.

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found or shipping with the specified id not found.

View Source

Carts_UpdatePayment

Updates the specified OrderViewModels payment.

No Authorization header required.

Updates the OrderViewModel found by the given secret with another payment method. Use GET /dwapi/ecommerce/payments to get all PaymentViewModels and their Id.

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
PATCH /dwapi/ecommerce/carts/{secret}/payment/{paymentId}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*paymentId

The new payment method id.

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

403

The cart is completed. or The current user does not have permissions to access this cart.

404

The cart is not found. or Payment with the specified id not found.

View Source

Carts_AddLineToCart

Add a new OrderLineViewModel to the specified OrderViewModel.

No Authorization header required.

Adds the OrderLineViewModel specified in the request body to the specified OrderViewModel.

Required properties

  • ProductId
  • ProductLanguageId
  • ProductVariantId
  • Quantity

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
POST /dwapi/ecommerce/carts/{secret}/items
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*body

The new OrderLineViewModel to add to the cart.

Responses
Status Code Type Description Samples
200

OK

403

The cart is completed or the product does not exist or the current user does not have permissions to access this cart or the current user does not have permissions to add this product (probably because of assortments).

404

The cart is not found.

View Source

Carts_EmptyCart

Deletes all the OrderLineViewModels on the specified OrderViewModel.

No Authorization header required.

Notifications

  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
DELETE /dwapi/ecommerce/carts/{secret}/items
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

Responses
Status Code Type Description Samples
200

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

View Source

Carts_RemoveLineFromCart

Delete the OrderLineViewModel from the specified OrderViewModel.

No Authorization header required.

Deletes the OrderLineViewModel found by the specified Id on the specified OrderViewModel.

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
DELETE /dwapi/ecommerce/carts/{secret}/items/{itemId}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*itemId

The Id specifying the OrderLineViewModel to be removed.

Responses
Status Code Type Description Samples
200

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

View Source

Carts_UpdateCartLine

Updates the specified OrderLineViewModel on the specified OrderViewModel.

No Authorization header required.

Updates the OrderLineViewModel found by the specified Id on the specified OrderViewModel.

Required properties

  • ProductId
  • ProductLanguageId
  • ProductVariantId
  • Quantity

Notifications

  • Ecom7CartBeforeDiscountCalculations
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE
  • DWN_ECOM_ORDER_STATE_CHANGED

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

Request
PATCH /dwapi/ecommerce/carts/{secret}/items/{itemId}
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*itemId

The Id specifying the OrderLineViewModel to be updated.

*body

The new properties in the form of a OrderLineViewModel to be applied to the specified OrderLineViewModel

Responses
Status Code Type Description Samples
200

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found or the cart line is not found.

View Source

Carts_CreateOrder

Converts a cart into an order.

No Authorization header required.

Notifications

  • DWN_ECOM_ORDER_BEFORE_CART_TO_ORDER
  • DWN_ECOM_ORDER_STATE_CHANGED
  • DWN_ECOM_STOCK_STATUS_CHANGED
  • DWN_ECOM_ORDER_BEFORE_SAVE
  • DWN_ECOM_ORDER_AFTER_SAVE

To get a list of all OrderViewModels and their secrets for a given user, refer to GET /dwapi/ecommerce/carts.

The returned OrderViewModel and its Secret can no longer be viewed here as it's no longer a cart, to see the orders details, see the /dwapi/ecommerce/orders section.

Request
POST /dwapi/ecommerce/carts/{secret}/createorder
Parameters
Name Type Default Notes
*secret

The secret identifying a specific cart.

*body

Changes for the cart before it becomes an order, see OrderViewModel

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

403

The cart is completed or the current user does not have permissions to access this cart.

404

The cart is not found.

Favorites

View Source

Favorites_GetFavoriteLists

Get all the favorite lists for the authenticated user.

Uses JWT in the Authorization header to find the authenticated user and then all the favorite lists belonging to that user. Use GET /dwapi/users/authenticate to generate the token.

The query parameters can be used to filter and paginate the result, so setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

Request
GET /dwapi/favorites/lists[?PageSize&CurrentPage&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
PageSize

The maximum amount of Orders in the response. To see more orders, change CurrentPage to another page.

If PageSize value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage

The current page viewing Orders on.

The amount of pages can be calculated by calculating (TotalOrdersCount / PageSize) rounded up, as long as PageSize is greater than 0.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

Uses JWT in the Authorization header to find the authenticated user and then all the favorite lists belonging to that user. Use GET /dwapi/users/authenticate to generate the token.

The query parameters can be used to filter and paginate the result, so setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

Uses JWT in the Authorization header to find the authenticated user and then all the favorite lists belonging to that user. Use GET /dwapi/users/authenticate to generate the token.

The query parameters can be used to filter and paginate the result, so setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 FavoriteListListViewModel

Favorite list list view model containing all the favorite lists found.

403

The user does not have access to favorite lists.

404

Authorized user found.

View Source

Favorites_PostFavoriteLists

Creates a new favorite list.

Uses JWT in the Authorization header to the authenticated user and then creates a new favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

If IsDefault is set to true, it will clear the previous default favorite list and set this new one to default.

Sample request

{
    "name": "New list"
}

Sample response

{
	"Id": 35,
	"Name": "New list",
	"UserId": 13,
	"ProductList": {
		"Products": []
    }
}
Request
POST /dwapi/favorites/lists
Parameters
Name Type Default Notes
*body

Uses JWT in the Authorization header to the authenticated user and then creates a new favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

If IsDefault is set to true, it will clear the previous default favorite list and set this new one to default.

Sample request

{
    "name": "New list"
}

Sample response

{
	"Id": 35,
	"Name": "New list",
	"UserId": 13,
	"ProductList": {
		"Products": []
    }
}
Responses
Status Code Type Description Samples
200 FavoriteListViewModel

The newly created favorite list view model.

400

There's no data to add.

404

Authorized user found.

View Source

Favorites_GetFavoriteListById

Get a specific favorite list for the authenticated user.

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

It's possible to further filter the product details of all the products that is on the specified list.

Sample query parameters

  • FilledProperties=ProductList
  • ProductListSettings.CurrentPage=1
  • ProductListSettings.PageSize=1
  • ProductListSettings.FilledProperties=Products
  • ProductListSettings.ProductSettings.FilledProperties=Title

Sample response

{
    "ProductList": {
	    "Products": [
            {
			    "Title": "Performance Elite Short"
            }
        ]
    }
}
Request
GET /dwapi/favorites/lists/{id}[?ProductListSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*id

The ID identifying a specific favorite list.

ProductListSettings

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

It's possible to further filter the product details of all the products that is on the specified list.

Sample query parameters

  • FilledProperties=ProductList
  • ProductListSettings.CurrentPage=1
  • ProductListSettings.PageSize=1
  • ProductListSettings.FilledProperties=Products
  • ProductListSettings.ProductSettings.FilledProperties=Title

Sample response

{
    "ProductList": {
	    "Products": [
            {
			    "Title": "Performance Elite Short"
            }
        ]
    }
}
UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

It's possible to further filter the product details of all the products that is on the specified list.

Sample query parameters

  • FilledProperties=ProductList
  • ProductListSettings.CurrentPage=1
  • ProductListSettings.PageSize=1
  • ProductListSettings.FilledProperties=Products
  • ProductListSettings.ProductSettings.FilledProperties=Title

Sample response

{
    "ProductList": {
	    "Products": [
            {
			    "Title": "Performance Elite Short"
            }
        ]
    }
}
ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will require no parameters at all, as it will fetch the user based on the Authorization header and find all the favorite lists based on that user.

It's possible to further filter the product details of all the products that is on the specified list.

Sample query parameters

  • FilledProperties=ProductList
  • ProductListSettings.CurrentPage=1
  • ProductListSettings.PageSize=1
  • ProductListSettings.FilledProperties=Products
  • ProductListSettings.ProductSettings.FilledProperties=Title

Sample response

{
    "ProductList": {
	    "Products": [
            {
			    "Title": "Performance Elite Short"
            }
        ]
    }
}
LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 FavoriteListViewModel

Favorite list list view model containing all the favorite lists found.

403

The user does not have access to the specified favorite list.

404

Authorized user found.

View Source

Favorites_PatchFavoriteListById

Patches an existing favorite list.

Uses JWT in the Authorization header to the authenticated user and then patches the specified favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

If IsDefault is set to true, it will clear the previous default favorite list and set this new one to default.

Sample request

{
    "isDefault": true
}

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Request
PATCH /dwapi/favorites/lists/{id}
Parameters
Name Type Default Notes
*id

Uses JWT in the Authorization header to the authenticated user and then patches the specified favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

If IsDefault is set to true, it will clear the previous default favorite list and set this new one to default.

Sample request

{
    "isDefault": true
}

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

*body

Uses JWT in the Authorization header to the authenticated user and then patches the specified favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

If IsDefault is set to true, it will clear the previous default favorite list and set this new one to default.

Sample request

{
    "isDefault": true
}

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Responses
Status Code Type Description Samples
200 FavoriteListViewModel

The newly updated favorite list view model.

400

There's not data to change to.

403

The user does not have access to the specified favorite list.

404

Authorized user found.

View Source

Favorites_DeleteFavoriteListById

Deletes the specified favorite list.

Uses JWT in the Authorization header to the authenticated user and then deletes the specified favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Request
DELETE /dwapi/favorites/lists/{id}
Parameters
Name Type Default Notes
*id

Uses JWT in the Authorization header to the authenticated user and then deletes the specified favorite list for that user. Use GET /dwapi/users/authenticate to generate the token.

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Responses
Status Code Type Description Samples
204

The favorite list has been deleted.

403

The user does not have access to the specified favorite list.

404

Authorized user found.

View Source

Favorites_GetFavoriteItems

Get all the products for a specific favorite list.

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID to return all the favorite products in that list. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will only require the mandatory path parameter identifying the favorite list to get all products for.

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Request
GET /dwapi/favorites/items/{listId}[?PageSize&PageCount&CurrentPage&TotalFavoriteProductsCount&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*listId

The ID identifying a specific favorite list.

PageSize

Gets or sets the items count per page.

PageCount

Gets or sets the count of pages. If this value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage

Gets or sets the current page number.

TotalFavoriteProductsCount

Gets or sets the total number of favorite lists in the list.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID to return all the favorite products in that list. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will only require the mandatory path parameter identifying the favorite list to get all products for.

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID to return all the favorite products in that list. Use GET /dwapi/users/authenticate to generate the token.

None of the query parameters are mandatory, as such, a simple request will only require the mandatory path parameter identifying the favorite list to get all products for.

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 FavoriteProductListViewModel

The list view model for favorite products.

403

The user does not have access to the specified favorite list.

404

No matching product found

View Source

Favorites_PostFavoriteItems

Creates a new favorite product on the specified list identified by the listId.

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given ID to create a new favorite product in. Use GET /dwapi/users/authenticate to generate the token.

If quantity is not set, it will default to 1.

Sample request

{
    "productId": "10150",
    "quantity": 2,
    "productVariantId": ""
}

To get a list of all the favorite lists and their IDs, refer to GET /dwapi/favorites/lists.

Request
POST /dwapi/favorites/items/{listId}
Parameters
Name Type Default Notes
*listId

The ID identifying a specific favorite list.

*body

The new favorite product to add to the list.

Responses
Status Code Type Description Samples
200

The new favorite product has been created.

400

There's no data to add.

403

The user does not have access to the specified favorite list.

404

Authorized user found.

View Source

Favorites_PatchFavoriteItems

Updates the specified favorite product on the specified list identified by the listId and ID.

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given listId to update the favorite product specified by the ID. Use GET /dwapi/users/authenticate to generate the token.

Sample request

{
    "productId": "222",
    "quantity": 5,
}

To get a list of all the favorite products and their IDs for a specific favorite list, refer to GET /dwapi/favorites/items/{listId}.

Request
PATCH /dwapi/favorites/items/{listId}/{id}
Parameters
Name Type Default Notes
*listId

The ID identifying a specific favorite list.

*id

The ID identifying a specific favorite product.

*body

The new favorite product to add to the list.

Responses
Status Code Type Description Samples
204

Variant info model for the specified id

400

There's not data to change to.

403

The user does not have access to the specified favorite list or product.

404

Authorized user found.

View Source

Favorites_DeleteFavoriteItems

Deletes the specified favorite product on the specified list identified by the listId and ID.

Uses JWT in the Authorization header to find the authenticated user and then the specific favorite list found by the given listId to delete the favorite product specified by the ID. Use GET /dwapi/users/authenticate to generate the token.

To get a list of all the favorite products and their IDs for a specific favorite list, refer to GET /dwapi/favorites/items/{listId}.

Request
DELETE /dwapi/favorites/items/{listId}/{id}
Parameters
Name Type Default Notes
*listId

The ID identifying a specific favorite list.

*id

The ID identifying a specific favorite product.

Responses
Status Code Type Description Samples
204

Variant info model for the specified id

404

No matching product found

Feed

View Source

Feed_VerifyConnection

Can be used as a ping endpoint to confirm connectivity.

No Authorization header required.

This will always return true, if it returns a positive response.

It can be used for health checks and pinging to verify connectivity to the DW solution.

Request
GET /dwapi/feeds/VerifyConnection
Responses
Status Code Type Description Samples
200 boolean

true

View Source

Feed_GetFeedOutput

Gets the output for the specified feed with the specified context.

No Authorization header required.

Will find a feed with the given id and then generate the output based on the context parameters sent in.

The output is based on the provider used and/or the template specified for the feed. Given that, it's not possible to give an example output as it depends on the configuration of the feed.

Request
GET /dwapi/feeds/GetFeedOutput?id[&LanguageId&CurrencyId&ShopId&UserId&Time&LoadVariantInfoOnVariants]
Parameters
Name Type Default Notes
*id

The ID identifying the feed.

LanguageId

The languageId identifying the language to translate the translatable properties in the feed output to.

CurrencyId

The currencyId identifying the currency to show the prices in, in the output.

ShopId

The shopId identifying the shop to use in the feed output.

UserId

The userId identifying the user to use in the feed output.

Time

Used to get prices for a specific time, can be future or past, defaults to current time if null.

LoadVariantInfoOnVariants

If disabled, variantinfos will not be loaded on product viewmodels if the product is a variant

Responses
Status Code Type Description Samples
200 string

OK

500

An unknown error has occurred.

GridRow

View Source

GridRow_GetById

Gets a pages Grid Rows based on the given pageId.

No Authorization header required.

To get a list of all PageInfoViewModel and their ID, refer to GET /dwapi/content/pages.

Will return an empty list if there's no Rows on the PageInfoViewModel.

Request
GET /dwapi/content/rows/{pageId}[?device]
Parameters
Name Type Default Notes
*pageId

The ID specifying a page.

device 0

The device type - one of 'Desktop' (default), 'Mobile', 'Tablet'.

Responses
Status Code Type Description Samples
200 GridRowViewModel[]

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not found or the page is not published or the area is not published or the page does not contain any grid rows.

View Source

GridRow_GetByUrl

Gets a pages Grid Rows based on the given url.

No Authorization header required.

It will find all the areas for the given hostname, then finds the node for the url given and uses that ID in GET /content/rows/{pageId}.

Request
GET /dwapi/content/rows/url?url[&hostname]
Parameters
Name Type Default Notes
*url

The path for a specific page, i.e. /page/subpage/page

hostname

The hostname for the website to match with. If none is specified, the hostname of the request is used.

Responses
Status Code Type Description Samples
200 GridRowViewModel[]

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found. or The page is not published or the area is not published.

Groups

View Source

Groups_GetAll

Gets all groups for the DW solution.

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

[
    {
    	"Id": "GROUP230",
    	"GroupFields": [
    		{
    			"SystemName": "SelectedGroup"
    		},
    		{
    			"SystemName": "ProductGroupNavigationImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionDescription"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLinkLabel"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLink"
    		}
    	]
    },
    ...
]

The ParentId and the ShopId are used to further filter which groups to be returned, they can both be used at the same time, the filtering happens on ParentId first, then the ShopId.

The group(s) will be translated to the given languageId, fallback to the default language on the DW solution.

Request
GET /dwapi/ecommerce/groups[?ParentId&ShopId&MediaSettings&FieldSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
ParentId

If this is specified, it will find all the children of the group with the given ParentId.

ShopId

If this is specified, it will find all the top level groups of the given ShopId.

MediaSettings

Configures how multimedia content is handled. If this is used from the WebAPI, the query parameter name has to extend which property of MediaViewModelSettings should be set, such as MediaSettings.FilledProperties=DisplayName.

FieldSettings

The product field settings. If this is used from the WebAPI, the query parameter name has to extend which property of FieldValueViewModelSetting should be set, such as FieldSettings.FilledProperties=SystemName.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

[
    {
    	"Id": "GROUP230",
    	"GroupFields": [
    		{
    			"SystemName": "SelectedGroup"
    		},
    		{
    			"SystemName": "ProductGroupNavigationImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionDescription"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLinkLabel"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLink"
    		}
    	]
    },
    ...
]

The ParentId and the ShopId are used to further filter which groups to be returned, they can both be used at the same time, the filtering happens on ParentId first, then the ShopId.

The group(s) will be translated to the given languageId, fallback to the default language on the DW solution.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

Time

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

[
    {
    	"Id": "GROUP230",
    	"GroupFields": [
    		{
    			"SystemName": "SelectedGroup"
    		},
    		{
    			"SystemName": "ProductGroupNavigationImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionImage"
    		},
    		{
    			"SystemName": "ProductGroupPromotionDescription"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLinkLabel"
    		},
    		{
    			"SystemName": "ProductGroupPromotionLink"
    		}
    	]
    },
    ...
]

The ParentId and the ShopId are used to further filter which groups to be returned, they can both be used at the same time, the filtering happens on ParentId first, then the ShopId.

The group(s) will be translated to the given languageId, fallback to the default language on the DW solution.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductGroupViewModel[]

OK

View Source

Groups_GetGroup

Get the group for the specified groupId.

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

{
	"Id": "GROUP230",
	"Assets": [
		{
			"Name": "SmallImage"
		},
		{
			"Name": "LargeImage"
		},
		{
			"Name": "Icon"
		}
	]
}

The group will be translated to the given languageId, fallback to the default language on the DW solution.

Request
GET /dwapi/ecommerce/groups/{groupId}[?ParentId&ShopId&MediaSettings&FieldSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*groupId

The ID identifying the group to get.

ParentId

If this is specified, it will find all the children of the group with the given ParentId.

ShopId

If this is specified, it will find all the top level groups of the given ShopId.

MediaSettings

Configures how multimedia content is handled. If this is used from the WebAPI, the query parameter name has to extend which property of MediaViewModelSettings should be set, such as MediaSettings.FilledProperties=DisplayName.

FieldSettings

The product field settings. If this is used from the WebAPI, the query parameter name has to extend which property of FieldValueViewModelSetting should be set, such as FieldSettings.FilledProperties=SystemName.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

{
	"Id": "GROUP230",
	"Assets": [
		{
			"Name": "SmallImage"
		},
		{
			"Name": "LargeImage"
		},
		{
			"Name": "Icon"
		}
	]
}

The group will be translated to the given languageId, fallback to the default language on the DW solution.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

Time

No Authorization header required.

The response can be filtered with the use of the different settings parameters.

Sample query parameters

  • FieldSettings.FilledProperties=SystemName
  • FilledProperties=Id,GroupFields

Sample response

{
	"Id": "GROUP230",
	"Assets": [
		{
			"Name": "SmallImage"
		},
		{
			"Name": "LargeImage"
		},
		{
			"Name": "Icon"
		}
	]
}

The group will be translated to the given languageId, fallback to the default language on the DW solution.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductGroupViewModel

OK

404

The group was not found.

International

View Source

International_GetCountries

Get all countries set up in the DW solution.

No Authorization header required.

Finds all the countries that has been set up in the solution and returns their information with the name translated to the language specified in the languageId query parameter.

If no languageId is specified, or the specified languageId doesn't exist, it will fallback on the default languageId set in the solution.

Request
GET /dwapi/ecommerce/international/countries[?languageId]
Parameters
Name Type Default Notes
languageId

ID of language to use for names of the returned countries.

Responses
Status Code Type Description Samples
200 CountryViewModel[]

A list of countries

404

No countries found

View Source

International_GetRegions

Get all the regions for the country specified by the countryCode.

No Authorization header required.

Finds all the regions for the specified country and returns their information with the name translated to the language specified in languageId.

If no languageId is specified, or the specified languageId doesn't exist, it will fallback on the default languageId set in the solution.

Request
GET /dwapi/ecommerce/international/regions/{countryCode}[?languageId]
Parameters
Name Type Default Notes
*countryCode

2 letter iso code of a country defined in Ecommerce, i.e. US

languageId

ID of language to use for names of the returned countries.

Responses
Status Code Type Description Samples
200 CountryViewModel[]

A list of regions

404

No regions found

View Source

International_GetCurrencies

Get all the currencies set up in the DW solution.

No Authorization header required.

Finds all the currencies that has been set up in the solution and returns their information with the name translated to the language specified in the languageId query parameter.

If no languageId is specified, or the specified languageId doesn't exist, it will fallback on the default languageId set in the solution.

Request
GET /dwapi/ecommerce/international/currencies[?languageId]
Parameters
Name Type Default Notes
languageId

ID of language to use for names of the returned currencies

Responses
Status Code Type Description Samples
200 CurrencyViewModel[]

A list of currencies

404

No currencies found

Navigations

View Source

Navigations_GetById

Gets a navigation for a given area.

No Authorization header required.

If both an areaId and a pageId is specified, it will use both to create a navigation context to determine which navigations to return, otherwise only the areaId will be used.

If the parameter StartLevel is higher than 1, a pageId may be required.

Request
GET /dwapi/frontend/navigations/{areaId}[?pageId&ExpandMode&StartLevel&StopLevel&IncludeFoldersAndHidden&RootAreaId&RootPageId&RootNavigationTag&Parameters]
Parameters
Name Type Default Notes
*areaId

An ID identifying the specific area to get navigations for.

pageId 0

An ID identifying the specific page to get navigations for.

ExpandMode

The expand mode for the navigation. Defaults to Path if null.

StartLevel

The node level from which the navigation nodes should be included. Defaults to 1 if null.

StopLevel

The node level to which the navigation nodes should be included. Defaults to 99 if null.

IncludeFoldersAndHidden

This will include folders and hidden pages that normally is not shown in navigation. Can be used to render navigation nodes that is part of folders or where parents are not published.

RootAreaId

The ID of the area (webiste) which should be the root of the navigation.

RootPageId

The ID of the page which should be the root of the navigation.

RootNavigationTag

The navigation tag of the page which should be the root of the navigation.

Parameters

A collection of custom parameters (provided in the template).

Responses
Status Code Type Description Samples
200 NavigationTreeViewModel

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not published or the area is not published.

Order

View Source

Order_GetOrders

Gets all orders for the authenticated user filtered by the query parameters.

Uses JWT in the Authorization header to get a list of OrderViewModels for the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

Will return an instance of OrderListViewModel with an empty list of Orders if none are found.

Only shows OrderViewModels in the Completed state.

Request
GET /dwapi/ecommerce/orders[?PageSize&CurrentPage&ShowPricesWithVat&FilledProperties]
Parameters
Name Type Default Notes
PageSize

The maximum amount of Orders in the response. To see more orders, change CurrentPage to another page.

If PageSize value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage

The current page viewing Orders on.

The amount of pages can be calculated by calculating (TotalOrdersCount / PageSize) rounded up, as long as PageSize is greater than 0.

ShowPricesWithVat

Determines if the Price in the Orders includes VAT or not.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 OrderListViewModel

OK

403

The current user does not have permissions to access orders.

500

An unknown exception occurred.

View Source

Order_GetOrder

Gets the specific order by the given secret.

No Authorization header required.

Will return an instance of OrderViewModel filtered by the OrderViewModelSettings.

Request
GET /dwapi/ecommerce/orders/{secret}[?PriceSettings&OrderFieldSettings&OrderLineSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*secret

The secret identifying a specific order.

PriceSettings

Configures how the price view should be configured, if price is filled.

OrderFieldSettings

The order field settings

OrderLineSettings

Configures how the order line view should be configured, if order lines are filled.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

Will return an instance of OrderViewModel filtered by the OrderViewModelSettings.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

Will return an instance of OrderViewModel filtered by the OrderViewModelSettings.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 OrderViewModel

OK

404

The order is not found.

PageViews

View Source

PageViews_GetById

Get the full pageview with content and items for the specified page id.

No Authorization header required.

ID has to be larger than 0, otherwise it will be not found by default.

Firstly checks if a page exists with the given ID.

Then retrieves the instance of the pageview for the page.

If a page has restricted access, it may be accessed if provided an Authorization header for a user with proper permissions.

To get a list of all PageInfoViewModel and their IDs, refer to GET /dwapi/content/pages.

Request
GET /dwapi/frontend/pageviews/{id}
Parameters
Name Type Default Notes
*id

The ID identifying the page to get all content and items for.

Responses
Status Code Type Description Samples
200 PageViewModel

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not published or the area is not published.

View Source

PageViews_GetByUrl

Get the full pageview with content and items for the specified url and host.

No Authorization header required.

It will find all the areas for the given hostname, then finds the node for the url given and uses that ID in GET /content/frontend/pageviews/{id}.

Request
GET /dwapi/frontend/pageviews/url?url[&hostname]
Parameters
Name Type Default Notes
*url

The path of the page, i.e. /page/subpage/page

hostname

Specify the hostname setup on the website to match with. If none is specified, the request hostname is used for lookup

Responses
Status Code Type Description Samples
200 PageViewModel

OK

403

Page is password protected and cannot be accessed using this endpoint. or The current user does not have the needed permissions to view the page. or The current user does not have the needed permissions to view the area.

404

Not found. or The page is not published. or The area is not published.

Pages

View Source

Pages_GetAll

Gets all pages based on the query parameters.

No Authorization header required.

Each query parameter can be used by itself, or they can be used together to create a stronger filter.

The order of execution for each filter is the following;

  • Find all pages by their parentId matching PageId
  • Find all pages on the area given the AreaId or filters the previously found pages on that AreaId
  • Find all pages with the given ItemType or filters the previously found pages on their ItemType

To get a list of all AreaInfoViewModel and their ID, refer to GET /dwapi/content/areas.

To get a list of all PageInfoViewModel and their ID, refer to GET /dwapi/content/pages.

Request
GET /dwapi/content/pages[?AreaId&PageId&ItemType]
Parameters
Name Type Default Notes
AreaId

The ID identifying the specific area to get all page models for.

PageId

The ID identifying the specific page to get all its child page models for.

ItemType

The ItemType of the page models to find.

Responses
Status Code Type Description Samples
200 PageInfoViewModel[]

OK

404

The area is not found or the area is not published or the query returned no pages.

View Source

Pages_GetById

Gets a specific page by the given id.

No Authorization header required.

To get a list of all PageInfoViewModel and their IDs, refer to GET /dwapi/content/pages.

Request
GET /dwapi/content/pages/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific page.

Responses
Status Code Type Description Samples
200 PageInfoViewModel

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not published or the area is not published.

View Source

Pages_GetByUrl

Gets a specific page by the given url.

No Authorization header required.

It will find all the areas for the given hostname, then finds the node for the url given and uses that ID in GET /content/pages/{id}.

Request
GET /dwapi/content/pages/url?url[&hostname]
Parameters
Name Type Default Notes
*url

The path for a specific page, i.e. /page/subpage/page

hostname

The hostname for the website to match with. If none is specified, the hostname of the request is used.

Responses
Status Code Type Description Samples
200 PageInfoViewModel

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not published or the area is not published.

Paragraphs

View Source

Paragraphs_GetAll

Gets all paragraphs based on the query parameters.

No Authorization header required.

Each query parameter can be used by itself, or they can be used together to create a stronger filter.

The order of execution for each filter is the following;

  • Find all pages by their parentId matching PageId
  • Find all pages on the area given the AreaId or filters the previously found pages on that AreaId
  • Find all pages with the given ItemType or filters the previously found pages on their ItemType

To get a list of all AreaInfoViewModel and their ID, refer to GET /dwapi/content/areas.

To get a list of all PageInfoViewModel and their ID, refer to GET /dwapi/content/pages.

Paragraphs returned will always have a ValidFrom later than the request time and ValidTo earlier than the request time, and their ShowParagraph will also be true.

The paragraphs page will have to be both active and published, as well as the pages area has to be active.

If a page has restricted access, it may be accessed if provided an Authorization header for a user with proper permissions.

To get a list of all PageInfoViewModel and their IDs, refer to GET /dwapi/content/pages.

Request
GET /dwapi/content/paragraphs[?AreaId&PageId&ItemType]
Parameters
Name Type Default Notes
AreaId

The ID identifying the specific area to get all paragraphs for.

PageId

The ID identifying the specific page to get all its paragraphs for.

ItemType

The ItemType of the paragraphs to find.

Responses
Status Code Type Description Samples
200 ParagraphInfoViewModel[]

OK

403

Page is password protected and cannot be accessed using this endpoint. or The current user does not have the needed permissions to view the page. or The current user does not have the needed permissions to view the area.

404

The page is not published. or The area is not published.

View Source

Paragraphs_GetById

Gets a specific paragraph by the given id.

No Authorization header required.

Paragraphs returned will always have a ValidFrom later than the request time and ValidTo earlier than the request time, and their ShowParagraph will also be true.

The paragraphs page will have to be both active and published, as well as the pages area has to be active.

If a page has restricted access, it may be accessed if provided an Authorization header for a user with proper permissions.

Request
GET /dwapi/content/paragraphs/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific paragraph.

Responses
Status Code Type Description Samples
200 ParagraphInfoViewModel

OK

403

The current user does not have permissions to access this paragraph or the current user does not have permissions to access this page or the current user does not have permissions to access this area.

404

Not found or the paragraph is not published or the page is not published or the area is not published.

View Source

Paragraphs_GetByUrl

Gets a specific paragraph by the given url.

No Authorization header required.

It will find all the areas for the given hostname, then finds the node for the url given and uses that ID in GET /content/paragraphs with the found ID as the query parameter.

Request
GET /dwapi/content/paragraphs/url?url[&hostname]
Parameters
Name Type Default Notes
*url

The path for a specific page, i.e. /page/subpage/page

hostname

The hostname for the website to match with. If none is specified, the hostname of the request is used.

Responses
Status Code Type Description Samples
200 ParagraphInfoViewModel[]

OK

403

Page is password protected and cannot be accessed using this endpoint or the current user does not have the needed permissions to view the page or the current user does not have the needed permissions to view the area.

404

Not found or the page is not published or the area is not published.

Payments

View Source

Payments_GetPayments

Get all the payment types registered in the DW solution.

No Authorization header required.

Finds all the payments types, translating the Name and Description to the given LanguageId. As such, LanguageId is required.

Filters all the payment types to the CountryCode and RegionCode given, if none, will return all payment types.

Request
GET /dwapi/ecommerce/payments[?LanguageId&CountryCode&RegionCode]
Parameters
Name Type Default Notes
LanguageId

The ID of the language to translate Name and Description of the payment.

CountryCode

The CountryCode to filter the payment types with.

RegionCode

The region to filter the payment types with, only used if CountryCode is set.

Responses
Status Code Type Description Samples
200 PaymentViewModel[]

The collection of payment view model

404

The language is not found.

500

An unknown error has occurred.

Products

View Source

Products_GetAll

Gets products based on the query parameters and request body.

No Authorization header required.

Will fetch all the products on the DW solution based on the provided query parameters and properties in the request body.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

The rest of the query parameters can be used to sort the result.

The body parameters can be used to further filter and paginate the result, so setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

Sample body

{
    "FilledProperties": [
        "Products"
    ],
    "PageSize": 1,
    "CurrentPage": 1,
    "ProductSettings": {
        "FilledProperties": [
            "Name"
        ]
    }
}

This example uses the FilledProperties property on the base ViewModel to only return Products, it then uses pagination to show 1 product per page and saying we're on page 1.

At the end it uses the ProductSettings property to further filter what properties to show on the specific products, in this case all returned is the name of the property.

Sample response

{
    "Products": [
        {
            "Name": "Scattante XRL Team Frame"
        }
    ]
}

To get a list of all the groups and their IDs, refer to GET /dwapi/ecommerce/groups.

This uses the GET /ecommerce/products/search, as both uses the same properties, this endpoint has a request body, the other has it as query parameters.

Request
POST /dwapi/ecommerce/products[?RepositoryName&QueryName&GroupId&ProductIds&SortBy&SortOrder]
Parameters
Name Type Default Notes
RepositoryName

Used together with the QueryName to perform a search for products.

QueryName

Used together with the RepositoryName to perform a search for products.

GroupId

Used by itself, will find all products for the given GroupId.

ProductIds

Finds all the products and their details given the ProductIds.

SortBy

The field to sort by, i.e. ProductPrice.

SortOrder

The sort direction. Default is ASC, the other option is DESC.

*body

Parameters for the product list, see ProductListViewModelSettings.

Responses
Status Code Type Description Samples
200 ProductListViewModel

Products matching the parameters.

204

No products match the parameters.

400

Invalid parameters. Specify Repository and Queryname or specify a group ID.

404

No matching products found.

View Source

Gets products based on the query parameters.

No Authorization header required.

Will fetch all the products on the DW solution based on the provided query parameters and properties in the request body.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

The rest of the query parameters can be used to sort and filter the result.

To be able to use the filtering, the different properties of the inner models will have to be filled.

Sample query parameters

  • GroupId=GROUP49
  • ProductSettings.FilledProperties=Name
  • PageSize=1
  • CurrentPage=1
  • FilledProperties=Products

Note that in this example we're filling the 'FilledProperties' property of the 'ProductSettings' parameter, this lets us filter which properties gets returned in the 'Products' property in the response.

We're further filtering the outputs root ViewModel by using the 'FilledProperties' query parameter itself, as that refers to the root ViewModel, so this example only returns the Products and not other properties, such as Groups.

Sample response

{
    "Products": [
        {
            "Name": "Scattante XRL Team Frame"
        }
    ]
}

To get a list of all the groups and their IDs, refer to GET /dwapi/ecommerce/groups.

Request
GET /dwapi/ecommerce/products/search[?RepositoryName&QueryName&GroupId&ProductIds&SortBy&SortOrder&ProductSettings&GroupSettings&FacetGroupSettings&Parameters&PageSize&CurrentPage&MediaSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
RepositoryName

Used together with the QueryName to perform a search for products.

QueryName

Used together with the RepositoryName to perform a search for products.

GroupId

Used by itself, will find all products for the given GroupId.

ProductIds

Finds all the products and their details given the ProductIds.

SortBy

The field to sort by, i.e. ProductPrice.

SortOrder

The sort direction. Default is ASC, the other option is DESC.

ProductSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductViewModelSettings should be set, such as ProductSettings.FilledProperties=Id.

GroupSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductGroupViewModelSettings should be set, such as GroupSettings.FilledProperties=Title.

FacetGroupSettings

Configures how the facetgroups view should be configured, if they are used to fill the list. If this is used from the WebAPI, the query parameter name has to extend which property of FacetGroupViewModelSettings should be set, such as FacetGroupSettings.FilledProperties=FacetGroupType.

Parameters

Additional parameters to be used for the creation of the product list.

PageSize

Limits the number of products in the returned view

CurrentPage

Defines which page of the paginated resultset to return. Eg. PageSize of 10 and CurrentPage of 2 in a resultset of 30, returns result item #11 to #20.

MediaSettings

Configures how multimedia content is handled.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

Will fetch all the products on the DW solution based on the provided query parameters and properties in the request body.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

The rest of the query parameters can be used to sort and filter the result.

To be able to use the filtering, the different properties of the inner models will have to be filled.

Sample query parameters

  • GroupId=GROUP49
  • ProductSettings.FilledProperties=Name
  • PageSize=1
  • CurrentPage=1
  • FilledProperties=Products

Note that in this example we're filling the 'FilledProperties' property of the 'ProductSettings' parameter, this lets us filter which properties gets returned in the 'Products' property in the response.

We're further filtering the outputs root ViewModel by using the 'FilledProperties' query parameter itself, as that refers to the root ViewModel, so this example only returns the Products and not other properties, such as Groups.

Sample response

{
    "Products": [
        {
            "Name": "Scattante XRL Team Frame"
        }
    ]
}

To get a list of all the groups and their IDs, refer to GET /dwapi/ecommerce/groups.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

Will fetch all the products on the DW solution based on the provided query parameters and properties in the request body.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

The rest of the query parameters can be used to sort and filter the result.

To be able to use the filtering, the different properties of the inner models will have to be filled.

Sample query parameters

  • GroupId=GROUP49
  • ProductSettings.FilledProperties=Name
  • PageSize=1
  • CurrentPage=1
  • FilledProperties=Products

Note that in this example we're filling the 'FilledProperties' property of the 'ProductSettings' parameter, this lets us filter which properties gets returned in the 'Products' property in the response.

We're further filtering the outputs root ViewModel by using the 'FilledProperties' query parameter itself, as that refers to the root ViewModel, so this example only returns the Products and not other properties, such as Groups.

Sample response

{
    "Products": [
        {
            "Name": "Scattante XRL Team Frame"
        }
    ]
}

To get a list of all the groups and their IDs, refer to GET /dwapi/ecommerce/groups.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductListViewModel

Products matching the parameters.

204

No products match the parameters.

400

Invalid parameters. Specify Repository and Queryname or specify a group ID.

404

No matching products found.

View Source

Products_GetProduct

Get the product found by the given ID.

No Authorization header required.

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

Request
GET /dwapi/ecommerce/products/{id}[?LoadVariantInfoOnVariants&PriceSettings&MediaSettings&ManufacturerSettings&CategoryFieldSettings&ProductFieldSettings&VariantInfoSettings&GroupInfoSettings&AssetCategorySettings&StockUnitSettings&UnitOptionSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*id

The ID identifying the product to get.

LoadVariantInfoOnVariants

If disabled, variantinfos will not be loaded on product viewmodels if the product is a variant

PriceSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of PriceViewModelSettings should be set, such as PriceSettings.FilledProperties=Price.

MediaSettings

Configures how multimedia content is handled. If this is used from the WebAPI, the query parameter name has to extend which property of MediaViewModelSettings should be set, such as MediaSettings.FilledProperties=Keywords.

ManufacturerSettings

Configures how manufacturer view should be configured. If this is used from the WebAPI, the query parameter name has to extend which property of ManufacturerViewModelSettings should be set, such as ManufacturerSettings.FilledProperties=Logo.

CategoryFieldSettings

The category field settings. If this is used from the WebAPI, the query parameter name has to extend which property of CategoryFieldViewModelSetting should be set, such as CategoryFieldSettings.FilledProperties=Name.

ProductFieldSettings

The product field settings. If this is used from the WebAPI, the query parameter name has to extend which property of FieldValueViewModelSetting should be set, such as ProductFieldSettings.FilledProperties=SystemName.

VariantInfoSettings

The variant info settings. If this is used from the WebAPI, the query parameter name has to extend which property of VariantInfoViewModelSettings should be set, such as VariantInfoSettings.FilledProperties=ProductID.

GroupInfoSettings

The group info settings. If this is used from the WebAPI, the query parameter name has to extend which property of GroupInfoViewModelSettings should be set, such as GroupInfoSettings.FilledProperties=PrimaryPageId.

AssetCategorySettings

The asset category settings. If this is used from the WebAPI, the query parameter name has to extend which property of AssetCategoryViewModelSettings should be set, such as AssetCategorySettings.FilledProperties=SystemName.

StockUnitSettings

The stock unit settings. If this is used from the WebAPI, the query parameter name has to extend which property of StockUnitViewModelSettings should be set, such as StockUnitSettings.FilledProperties=UnitName.

UnitOptionSettings

The unit option settings. If this is used from the WebAPI, the query parameter name has to extend which property of UnitOptionViewModelSettings should be set, such as UnitOptionSettings.FilledProperties=StockLevel.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductViewModel

Product matching the id

404

No matching product found

View Source

Products_GetProduct2

Get the product found by the given ID and VariantId.

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

Request
GET /dwapi/ecommerce/products/{id}/{variantId}[?LoadVariantInfoOnVariants&PriceSettings&MediaSettings&ManufacturerSettings&CategoryFieldSettings&ProductFieldSettings&VariantInfoSettings&GroupInfoSettings&AssetCategorySettings&StockUnitSettings&UnitOptionSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*id

The ID identifying the product to get.

*variantId

VariantId for the variant to get - master if not specified

LoadVariantInfoOnVariants

If disabled, variantinfos will not be loaded on product viewmodels if the product is a variant

PriceSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of PriceViewModelSettings should be set, such as PriceSettings.FilledProperties=Price.

MediaSettings

Configures how multimedia content is handled. If this is used from the WebAPI, the query parameter name has to extend which property of MediaViewModelSettings should be set, such as MediaSettings.FilledProperties=Keywords.

ManufacturerSettings

Configures how manufacturer view should be configured. If this is used from the WebAPI, the query parameter name has to extend which property of ManufacturerViewModelSettings should be set, such as ManufacturerSettings.FilledProperties=Logo.

CategoryFieldSettings

The category field settings. If this is used from the WebAPI, the query parameter name has to extend which property of CategoryFieldViewModelSetting should be set, such as CategoryFieldSettings.FilledProperties=Name.

ProductFieldSettings

The product field settings. If this is used from the WebAPI, the query parameter name has to extend which property of FieldValueViewModelSetting should be set, such as ProductFieldSettings.FilledProperties=SystemName.

VariantInfoSettings

The variant info settings. If this is used from the WebAPI, the query parameter name has to extend which property of VariantInfoViewModelSettings should be set, such as VariantInfoSettings.FilledProperties=ProductID.

GroupInfoSettings

The group info settings. If this is used from the WebAPI, the query parameter name has to extend which property of GroupInfoViewModelSettings should be set, such as GroupInfoSettings.FilledProperties=PrimaryPageId.

AssetCategorySettings

The asset category settings. If this is used from the WebAPI, the query parameter name has to extend which property of AssetCategoryViewModelSettings should be set, such as AssetCategorySettings.FilledProperties=SystemName.

StockUnitSettings

The stock unit settings. If this is used from the WebAPI, the query parameter name has to extend which property of StockUnitViewModelSettings should be set, such as StockUnitSettings.FilledProperties=UnitName.

UnitOptionSettings

The unit option settings. If this is used from the WebAPI, the query parameter name has to extend which property of UnitOptionViewModelSettings should be set, such as UnitOptionSettings.FilledProperties=StockLevel.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • PriceSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductViewModel

Product matching the id and variantid

404

No matching product found

View Source

Gets a products related products based on the ID of a product.

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

Request
GET /dwapi/ecommerce/products/{id}/related[?ProductSettings&GroupSettings&FacetGroupSettings&Parameters&PageSize&CurrentPage&MediaSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*id

The ID identifying the product to get the related products for.

ProductSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductViewModelSettings should be set, such as ProductSettings.FilledProperties=Id.

GroupSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductGroupViewModelSettings should be set, such as GroupSettings.FilledProperties=Title.

FacetGroupSettings

Configures how the facetgroups view should be configured, if they are used to fill the list. If this is used from the WebAPI, the query parameter name has to extend which property of FacetGroupViewModelSettings should be set, such as FacetGroupSettings.FilledProperties=FacetGroupType.

Parameters

Additional parameters to be used for the creation of the product list.

PageSize

Limits the number of products in the returned view

CurrentPage

Defines which page of the paginated resultset to return. Eg. PageSize of 10 and CurrentPage of 2 in a resultset of 30, returns result item #11 to #20.

MediaSettings

Configures how multimedia content is handled.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductListViewModel

Related products of the product matching the id

404

No matching related products found

View Source

Products_Related2

Gets a products related products based on the ID and VariantId of a product.

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

Request
GET /dwapi/ecommerce/products/{id}/{variantId}/related[?ProductSettings&GroupSettings&FacetGroupSettings&Parameters&PageSize&CurrentPage&MediaSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*id

The ID identifying the product to get the related products for.

*variantId

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ProductSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductViewModelSettings should be set, such as ProductSettings.FilledProperties=Id.

GroupSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductGroupViewModelSettings should be set, such as GroupSettings.FilledProperties=Title.

FacetGroupSettings

Configures how the facetgroups view should be configured, if they are used to fill the list. If this is used from the WebAPI, the query parameter name has to extend which property of FacetGroupViewModelSettings should be set, such as FacetGroupSettings.FilledProperties=FacetGroupType.

Parameters

Additional parameters to be used for the creation of the product list.

PageSize

Limits the number of products in the returned view

CurrentPage

Defines which page of the paginated resultset to return. Eg. PageSize of 10 and CurrentPage of 2 in a resultset of 30, returns result item #11 to #20.

MediaSettings

Configures how multimedia content is handled.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"Products": [
		{
			"Id": "10007",
			"Name": "Scattante XRL Team Frame",
			"Title": "Scattante XRL Team Frame"
		}
	]
}

With the addition that UserId will be filled with the ID of the user taken from the Authorization header, if present.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 ProductListViewModel

Related products of the product matching the id

404

No matching related products found

View Source

Products_ExportProducts

Exports a set of products. Sends a download link for a zip archive created containing files with the specified formats to the given email.

No Authorization header required.

The UserId will be filled with the ID of the user taken from the Authorization header, if present.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

/// All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

Request
GET /dwapi/ecommerce/products/export[?RepositoryName&QueryName&GroupId&ProductIds&SortBy&SortOrder&ProductSettings&GroupSettings&FacetGroupSettings&Parameters&PageSize&CurrentPage&MediaSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties&FileName&ExportFormat&SenderName&SenderEmail&RecipientTokens&Subject&TemplatePath&Dpi&ImageFormat&Height&Width&EmbedProfile&AssetCategories]
Parameters
Name Type Default Notes
RepositoryName

Used together with the QueryName to perform a search for products.

QueryName

Used together with the RepositoryName to perform a search for products.

GroupId

Used by itself, will find all products for the given GroupId.

ProductIds

Finds all the products and their details given the ProductIds.

SortBy

The field to sort by, i.e. ProductPrice.

SortOrder

The sort direction. Default is ASC, the other option is DESC.

ProductSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductViewModelSettings should be set, such as ProductSettings.FilledProperties=Id.

GroupSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of ProductGroupViewModelSettings should be set, such as GroupSettings.FilledProperties=Title.

FacetGroupSettings

Configures how the facetgroups view should be configured, if they are used to fill the list. If this is used from the WebAPI, the query parameter name has to extend which property of FacetGroupViewModelSettings should be set, such as FacetGroupSettings.FilledProperties=FacetGroupType.

Parameters

Additional parameters to be used for the creation of the product list.

PageSize

Limits the number of products in the returned view

CurrentPage

Defines which page of the paginated resultset to return. Eg. PageSize of 10 and CurrentPage of 2 in a resultset of 30, returns result item #11 to #20.

MediaSettings

Configures how multimedia content is handled.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

The UserId will be filled with the ID of the user taken from the Authorization header, if present.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

/// All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

The UserId will be filled with the ID of the user taken from the Authorization header, if present.

There's a hierarchy of how the query parameters for this product search is done;

  • If both RepositoryName and QueryName are present, they will be used, if only one or none are present, it will continue to the next step
  • If GroupId is present, it will be used, if it is not present, it will continue to the next step
  • If ProductIds contains any elements, they will be used, however, if it's present but with only null values, it will simply just return 204 No Content.

/// All the settings parameters can be used to filter the result.

Sample query parameters

  • ProductSettings.FilledProperties=Id,Name,Title
  • FilledProperties=Products

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Setting a specific PageSize will limit the amount of results given, while setting CurrentPage will change which results is returned depending on the amount and the PageSize.

To get a list of all the products and their IDs, refer to GET /dwapi/ecommerce/products/search.

LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

FileName

The name of the file of the export. If not specified file name will be $"export_{DateTime.Now}".

ExportFormat

The format the products should be exported to. If not specified CSV format is used.

SenderName

The name of the sender of the export email. If not specified SenderEmail will be used.

SenderEmail

The email of the sender of the export email. If not specified SystemMailAddress will be used.

RecipientTokens

The tokens of the recepients the mail is intended to. To get these tokens, refer to POST /users/createRecipients.

This parameter is required.

Subject

The subject of the export email. If not specified "Export products" will be used.

TemplatePath

The path for the email template to use. If not specified "eCom/ProductCatalog/ExportProductsMail.cshtml" will be used.

Dpi

The DPI of the images of the products being exported. If it's 0 or not set, it will default to 72 DPI.

ImageFormat

The format the images of the products being exported is in. Will default to Jpg if nothing is sent in.

Height

The height of the images of the products being exported will be. If it's 0 or not set, it will default to 10000 or the images actual heigth.

Width

The width of the images of the products being exported will be. If it's 0 or not set, it will default to 10000 or the images actual width.

EmbedProfile

Currently not used.

AssetCategories

Defines a list of categories that will be taken from the products' assetcategories and exported.

Responses
Status Code Type Description Samples
200

Products exported successfully

204

No products match the parameters

400

Invalid parameters. Missing required parameters.

402

You don't have a proper license to support this feature

404

No matching products found

Shipping

View Source

Shipping_FindServicePoints

Finds all the service points for the specified shipping, filtered by the country, zip code and/or address.

No Authorization header required.

All the service points the specified shipping delivers to can be found by not specifiying any address, otherwise it can be filtered by using the query parameters.

To see all the shippings and their Ids, refer to GET /ecommerce/shippings.

Do note all the property names are camelCasing due to a previous implementation, this should generally not be a problem during deserialization though.

Request
GET /dwapi/ecommerce/shippings/FindServicePoints?shippingId&languageId[&CountryCode&ZipCode&Address&NumberOfServicePoints]
Parameters
Name Type Default Notes
*shippingId

The ID identifying the specific shipping to use.

*languageId

The ID identifying the specific languageId to use.

CountryCode

The country code defining where the service point should be filtered to.

ZipCode

The zip code defining where the service point should be filtered to.

Address

The specific address the service point should be filtered to.

NumberOfServicePoints

The number of service points to return.

Responses
Status Code Type Description Samples
200 ServicePoint[]

OK

404

The shipping provider is not found.

View Source

Shipping_GetShippings

Gets all the shippings defined in the DW solution.

No Authorization header required.

The LanguageId is required.

If no CountryCode is defined, the RegionCode will not be used and all active shippings will be returned.

Otherwise both the CountryCode and RegionCode are used to get the country relations to the shippings, only active shippings will be returned.

Request
GET /dwapi/ecommerce/shippings[?LanguageId&CountryCode&RegionCode]
Parameters
Name Type Default Notes
LanguageId

The language to translate the shippings Name and Description. This parameter is required.

CountryCode

The country code to use for shippings country relations.

RegionCode

The region code to use for shippings country relations, only used if CountryCode is defined.

Responses
Status Code Type Description Samples
200 ShippingViewModel[]

The collection of shipping view models.

400

A language ID must be specified.

Translations

View Source

Translations_GetAll

Gets all translations for an areas layouts design.

No Authorization header required.

Finds the area with the given areaid and uses GET /translations/{designname}/{culture} with the areas layouts designs name and the areas cultureinfos name.

Request
GET /dwapi/translations/area/{areaid}
Parameters
Name Type Default Notes
*areaid

The ID identifying the area to get the translations for.

Responses
Status Code Type Description Samples
200 KeyCollection

OK

404

The specified area was not found or layout not specified on area.

View Source

Translations_GetAll2

Gets all translations for a specific design given the designs name.

No Authorization header required.

Request
GET /dwapi/translations/{designname}
Parameters
Name Type Default Notes
*designname

The name of the design to get the translations for.

Responses
Status Code Type Description Samples
200 KeyCollection

OK

404

The specified design was not found.

View Source

Translations_GetAllAll

Gets all translations for a design given the designs name and the culture name.

No Authorization header required.

Request
GET /dwapi/translations/{designname}/{culture}
Parameters
Name Type Default Notes
*designname

The name of the design to get the translations for.

*culture

No Authorization header required.

Responses
Status Code Type Description Samples
200 Translation[]

OK

404

The specified design was not found

Users

View Source

Users_Authenticate

Gets authenticates the user and returns a token for further access - the token has a default expiration of 1800 seconds/30 minutes.

No Authorization header required.

This endpoint is the one creating the token used for all the endpoints requiring Authorizaion headers, or able to use it.

If the configuration 'IncludeShopIdInExtranetLogIn' is set to true the shopid will be used, otherwise it uses empty string, regardless of what is sent in the query parameter.

The default value of expirationInSeconds is 1800 seconds, which is 30 minutes, while the maximum value of expirationInSeconds allowed is 86400, which is 24 hours, if it's any higher a 403 will be returned.

Request
GET /dwapi/users/authenticate?userName&password[&shopid&expirationInSeconds]
Parameters
Name Type Default Notes
*userName

The userName for the user to authenticate.

*password

The password in plain text to use to authenticate with the userName

shopid

The shop that the user belongs to, only used if 'IncludeShopIdInExtranetLogIn' is true.

expirationInSeconds 1800

The amount of time in seconds the returned token will be alive for, has a maximum value of 86400, which is 24 hours.

Responses
Status Code Type Description Samples
200 AuthenticationTokenResponse

User authenticated

403

Unable to create JWT for user or expiration has to be a maximum of 86400 seonds

View Source

Users_Impersonatees

Gets all impersonations a user is allowed to do.

Uses JWT in the Authorization header to get a list of UserViewModels that the authenticated user is allowed to impersonate. Use GET /dwapi/users/authenticate to generate the token.

Request
GET /dwapi/users/impersonatees
Responses
Status Code Type Description Samples
200 UserViewModel[]

User authenticated

403

No users can be impersonated.

404

No user is found.

View Source

Users_Impersonate

Impersonates the logged in user to the specified user.

Uses JWT in the Authorization header to impersonate the user specified in the query parameters. Use GET /dwapi/users/authenticate to generate the token.

This creates a token impersonating the user specified with the query parameters.

The order of execution to find the user to impersonate is the first user matching the;

  • userId
  • userName + shopid
  • shopid + shopid

To see all the users the authorized user can impersonate, refer to GET /users/impersonatees.

If the configuration 'IncludeShopIdInExtranetLogIn' is set to true the shopid will be used, otherwise it uses empty string, regardless of what is sent in the query parameter.

The default value of expirationInSeconds is 1800 seconds, which is 30 minutes, while the maximum value of expirationInSeconds allowed is 86400, which is 24 hours, if it's any higher a 403 will be returned.

Request
GET /dwapi/users/impersonate[?userId&userName&email&shopid&expirationInSeconds]
Parameters
Name Type Default Notes
userId

The userId for the user to impersonate.

userName

The userName for the user to impersonate, will be paired with the shopid if filled.

email

The email for the user to impersonate, will be paired with the shopid if filled.

shopid

The shop that the user belongs to.

expirationInSeconds 1800

The amount of time in seconds the returned token will be alive for, has a maximum value of 86400, which is 24 hours.

Responses
Status Code Type Description Samples
200 UserViewModel[]

User authenticated

403

No users can be impersonated or user cannot be impersonated or expiration has to be a maximum of 86400 seonds

404

No user found

View Source

Users_Refresh

Refreshes the authentication token from a previous authentication.

Takes JWT in the Authorization header and refreshes it.

The returned renewed token has a default expiration of 1800 seconds/30 minutes.

The default value of expirationInSeconds is 1800 seconds, which is 30 minutes, while the maximum value of expirationInSeconds allowed is 86400, which is 24 hours, if it's any higher a 403 will be returned.

Request
GET /dwapi/users/authenticate/refresh[?expirationInSeconds]
Parameters
Name Type Default Notes
expirationInSeconds 1800

The amount of time in seconds the returned token will be alive for, has a maximum value of 86400, which is 24 hours.

Responses
Status Code Type Description Samples
200 AuthenticationTokenResponse

User authenticated

400

Something is wrong with the JWT string or no authorization token present.

403

Token could not be authorized or token expired.

View Source

Users_Resetpassword

Changes the password of the currently logged in user.

Uses JWT in the Authorization header to get the authenticated user to change the password for. Use GET /dwapi/users/authenticate to generate the token.

Password will be hashed and fail if password requirements are not met.

Uses the global settings in the DW solution to check the password complexity before changing it.

If a password with 32 or 128 characters is used, it's assumed to be encrypted and will skip the complexity checks.

Request
PATCH /dwapi/users/password/reset?newPassword
Parameters
Name Type Default Notes
*newPassword

The password the given users password will be changed to.

Responses
Status Code Type Description Samples
200

Password changed

400

Password not accepted: {reason}

403

The user could not be saved. Username or email has to be specified. If username is specified, it has to be unique. Password requirements must be met.

404

The user is not found.

View Source

Users_GetAddresses

Get all the adresses for the currently logged in user.

Uses JWT in the Authorization header to find all the addresses belonging to the authenticated user. Use GET /dwapi/users/authenticate to generate the token.

If the authenticated user has no addresses, an empty list will be returned.

Request
GET /dwapi/users/addresses
Responses
Status Code Type Description Samples
200 AddressViewModel[]

OK

404

The user is not found.

View Source

Users_GetAddress

The address for the specified ID if it belongs to the authenticated user.

Uses JWT in the Authorization header to find the user to ensure they have permission to access the specified address. Use GET /dwapi/users/authenticate to generate the token.

Request
GET /dwapi/users/address/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific address.

Responses
Status Code Type Description Samples
200 AddressViewModel

OK

403

User does not have access to view the address.

404

The user is not found or the address is not found.

View Source

Users_PatchAddress

Updates the specified address.

Uses JWT in the Authorization header to find the user to ensure it has permissions to update the specified address. Use GET /dwapi/users/authenticate to generate the token.

Notifications

  • DWN_UM_USERADDRESS_ONBEFORE_SAVE
  • DWN_UM_USERADDRESS_ONAFTER_SAVE

Sample request

{
    "Company": "NewCompany"
}

The response will contain the fully updated address.

Request
PATCH /dwapi/users/address/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific address.

*body

The address details to add.

Responses
Status Code Type Description Samples
200 AddressViewModel

OK

403

User does not have access to view the address.

404

The user is not found or the address is not found.

View Source

Users_DeleteAddress

Deletes the specified address if the authenticated user has access to it.

Uses JWT in the Authorization header to find the user to ensure it has permissions to delete the address. Use GET /dwapi/users/authenticate to generate the token.

Notifications

  • DWN_UM_USERADDRESS_ONBEFORE_DELETE
  • DWN_UM_USERADDRESS_ONAFTER_DELETE
Request
DELETE /dwapi/users/address/{id}
Parameters
Name Type Default Notes
*id

The ID identifying a specific address.

Responses
Status Code Type Description Samples
204

OK

403

User does not have access to view the address.

404

The user is not found or the address is not found.

View Source

Users_CreateAddress

Creates a new address for the authenticated user.

Uses JWT in the Authorization header to find the user to add the address to. Use GET /dwapi/users/authenticate to generate the token.

Notifications

  • DWN_UM_USERADDRESS_ONBEFORE_SAVE
  • DWN_UM_USERADDRESS_ONAFTER_SAVE

Sample request

{
    "Company": "SomeCompany",
    "Name": "Home",
    "Address": "SomeAddress",
    "Phone": "123456789",
    "Email": "demouser@something.com"
}

The response will contain the ID of the address created for future use.

Request
POST /dwapi/users/address
Parameters
Name Type Default Notes
*body

The address details to add.

Responses
Status Code Type Description Samples
200 AddressViewModel

OK

404

The user is not found.

View Source

Users_GetUserInfo

Gets the user info of the currently logged in user.

Request
GET /dwapi/users/info
Responses
Status Code Type Description Samples
200 UserViewModel

OK

404

Not found.

View Source

Users_Patch

Updates the currently logged in user. Only the properties sent in the body is updated.

Uses JWT in the Authorization header to get the authenticated users info. Use GET /dwapi/users/authenticate to generate the token.

Applies all the properties sent in through userModel to the found users info and saves that.

Request
PATCH /dwapi/users/info
Parameters
Name Type Default Notes
*body

Parameters to update on the user, see UserViewModel

Responses
Status Code Type Description Samples
200 UserViewModel

OK

403

The user could not be saved. Username or email has to be specified. If username is specified, it has to be unique. Password requirements must be met.

404

The user is not found.

View Source

Users_Put

Updates the currently logged in user. All properties of the existing user will be overriden.

Uses JWT in the Authorization header to get the authenticated users info. Use GET /dwapi/users/authenticate to generate the token.

Applies all the properties sent in through userModel to the found users info and saves that.

If any property is not provided, said property will be overriden on the existing user with null.

Request
PUT /dwapi/users/info
Parameters
Name Type Default Notes
*body

Parameters to update on the user, see UserViewModel

Responses
Status Code Type Description Samples
200 UserViewModel

OK

403

The user could not be saved. Username or email has to be specified. If username is specified, it has to be unique. Password requirements must be met.

404

The user is not found.

View Source

Users_Create

Creates a new user with the given userModel.

No Authorization header required.

This will create a new user with all the properties send in through the body userModel, as such username, email and password requirements must always be met.

The username and email are required, the username has to be unique and the password will be following the global settings set up for password requirements.

To see all the properties, view the schema for UserViewModel.

Request
POST /dwapi/users/create
Parameters
Name Type Default Notes
*body

Parameters for the user to be created, see UserViewModel

Responses
Status Code Type Description Samples
200 UserViewModel

User created

403

The user could not be saved. Username or email has to be specified. If username is specified, it has to be unique. Password requirements must be met.

View Source

Users_CreateRecipients

Creates recipient tokens for specified recipient emails.

No Authorization header required.

Will validate all the sent in email addresses, if they're valid, it will find the user who has that email and return an encrypted userId of that user. If no user with the email exists, it will create a new user only containing that email.

This list of encrypted userIds can be used with the GET /ecommerce/products/export, filling it into the RecipientTokens property.

If no emails are used in the request body, or if all emails sent in are invalid, an empty list will be returned.

Request
POST /dwapi/users/createRecipients
Parameters
Name Type Default Notes
*body array

The list of email addresses to be used for sending exported products for ImageExportSettings).

Responses
Status Code Type Description Samples
200 array

Tokens created

Variants

View Source

Variants_GetVariantInfo

Gets the variant information for the product specified by the given productId.

No Authorization header required.

Sample query parameters

  • PriceSettings.FilledProperties=Price,CurrencyCode
  • MediaSettings.FilledProperties=Value

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"ProductID": "10007",
	"VariantID": "",
	"ProductName": "Scattante XRL Team Frame",
	"ProductNumber": "10007",
	"ProductStock": 1.0,
	"Image": {
		"Value": "/Files/Images/missing_image.jpg"
	},
	"Price": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMin": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMax": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"Stock": 1.0
}
Request
GET /dwapi/ecommerce/variants/{productId}[?LoadVariantInfoOnVariants&PriceSettings&MediaSettings&ManufacturerSettings&CategoryFieldSettings&ProductFieldSettings&VariantInfoSettings&GroupInfoSettings&AssetCategorySettings&StockUnitSettings&UnitOptionSettings&UserId&OrderDate&ShowPricesWithVat&StockLocationId&CurrencyCode&CountryCode&ShopId&Time&LanguageId&FilledProperties]
Parameters
Name Type Default Notes
*productId

The ID identifying the specific product to get the variant information for.

LoadVariantInfoOnVariants

If disabled, variantinfos will not be loaded on product viewmodels if the product is a variant

PriceSettings

Configures how the price view should be configured, if price is filled. If this is used from the WebAPI, the query parameter name has to extend which property of PriceViewModelSettings should be set, such as PriceSettings.FilledProperties=Price.

MediaSettings

Configures how multimedia content is handled. If this is used from the WebAPI, the query parameter name has to extend which property of MediaViewModelSettings should be set, such as MediaSettings.FilledProperties=Keywords.

ManufacturerSettings

Configures how manufacturer view should be configured. If this is used from the WebAPI, the query parameter name has to extend which property of ManufacturerViewModelSettings should be set, such as ManufacturerSettings.FilledProperties=Logo.

CategoryFieldSettings

The category field settings. If this is used from the WebAPI, the query parameter name has to extend which property of CategoryFieldViewModelSetting should be set, such as CategoryFieldSettings.FilledProperties=Name.

ProductFieldSettings

The product field settings. If this is used from the WebAPI, the query parameter name has to extend which property of FieldValueViewModelSetting should be set, such as ProductFieldSettings.FilledProperties=SystemName.

VariantInfoSettings

The variant info settings. If this is used from the WebAPI, the query parameter name has to extend which property of VariantInfoViewModelSettings should be set, such as VariantInfoSettings.FilledProperties=ProductID.

GroupInfoSettings

The group info settings. If this is used from the WebAPI, the query parameter name has to extend which property of GroupInfoViewModelSettings should be set, such as GroupInfoSettings.FilledProperties=PrimaryPageId.

AssetCategorySettings

The asset category settings. If this is used from the WebAPI, the query parameter name has to extend which property of AssetCategoryViewModelSettings should be set, such as AssetCategorySettings.FilledProperties=SystemName.

StockUnitSettings

The stock unit settings. If this is used from the WebAPI, the query parameter name has to extend which property of StockUnitViewModelSettings should be set, such as StockUnitSettings.FilledProperties=UnitName.

UnitOptionSettings

The unit option settings. If this is used from the WebAPI, the query parameter name has to extend which property of UnitOptionViewModelSettings should be set, such as UnitOptionSettings.FilledProperties=StockLevel.

UserId

User id that is to be used on any price-calculations. Will be overriden with information from the WebAPIs that support UserToken Authorization.

OrderDate

No Authorization header required.

Sample query parameters

  • PriceSettings.FilledProperties=Price,CurrencyCode
  • MediaSettings.FilledProperties=Value

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"ProductID": "10007",
	"VariantID": "",
	"ProductName": "Scattante XRL Team Frame",
	"ProductNumber": "10007",
	"ProductStock": 1.0,
	"Image": {
		"Value": "/Files/Images/missing_image.jpg"
	},
	"Price": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMin": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMax": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"Stock": 1.0
}
ShowPricesWithVat

Indicates if the price (display price) property of priceviewmodel should include vat or not.

StockLocationId

Stocklocationid used for price lookups in price matrix for a given stocklocation

CurrencyCode

Currency code used in creation of product viewmodel.

Default: Currency marked as default.

CountryCode

Country code2 that is to be used for vat on any price-calculations.

ShopId

Shop id used in creation of product viewmodel.

Time

No Authorization header required.

Sample query parameters

  • PriceSettings.FilledProperties=Price,CurrencyCode
  • MediaSettings.FilledProperties=Value

In this example we're taking the Price, PriceBeforeDiscount and Discount properties from the ProductViewModel and then further filtering the PriceViewModels to only show Price and CurrencyCode.

Sample response

{
	"ProductID": "10007",
	"VariantID": "",
	"ProductName": "Scattante XRL Team Frame",
	"ProductNumber": "10007",
	"ProductStock": 1.0,
	"Image": {
		"Value": "/Files/Images/missing_image.jpg"
	},
	"Price": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMin": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"PriceMax": {
		"Price": 299.0,
		"CurrencyCode": "EUR"
	},
	"Stock": 1.0
}
LanguageId

Id of the language used for creation of the product viewmodel.

Default: Language marked as default.

FilledProperties

Defines all the properties that should be filled with data. By default it fills all properties.

Responses
Status Code Type Description Samples
200 VariantInfoViewModel

Variant info model for the specified id

404

No matching product found

Definitions

AreaInfoViewModel

Name Type Notes
ID integer (int32)

Gets or sets the identifier.

Name string

Gets or sets the name.

CreatedDate string (date-time)

Gets or sets the created date.

UpdatedDate string (date-time)

Gets or sets the updated date.

Item

Gets or sets the item.

Languages AreaLanguageViewModel[]

Gets or sets the languages.

Domains array

Gets or sets the list of domains registered for this area

PrimaryDomain string

Gets or sets the primary domain registered for this area

EcomCountryCode string

Default country used when browsing the website (used for VAT calculation)

EcomCurrencyCode string

Default currency used when browsing the website

EcomLanguageId string

Default language used when browsing the website

EcomPricesWithVat boolean

Default setting for if prices should be shown with or without VAT

EcomShopId string

Default shop id used when browsing the website

AreaLanguageViewModel

Gets or sets the languages.

OrderViewModel

OrderViewModel represents the rendering context used when an order is rendered.

Name Type Notes
Id string

Gets or sets the order Id.

ParentOrderId string

Gets or sets the parent Order ID.

SecondaryUserId integer (int32)

Gets or sets the impersonated access user ID.

SecondaryUserName string

Gets the impersonated access user Name.

Secret string

Gets or sets the order secret.

ShopId string

Gets or sets the order shop id.

DisplayName string

Gets or sets the order display name.

VoucherCode string

Gets or sets the voucher code for the order to trigger discounts

Weight number (double)

Gets or sets the total weight of the ordered products.

Volume number (double)

Gets or sets the total volume of the ordered products.

CreatedAt string (date-time)

Gets or sets the order record creation date. See CompletedDate for the date the order was completed

Modified string (date-time)

Gets or sets the order record modified date.

CompletedDate string (date-time)

Gets or sets the order completed date.

Completed boolean

Gets a boolean that indicates that this cart is a completed order

LedgerType string

Gets or sets the ledger type.

StateId string

Gets or sets the order state Id.

StateName string

Gets or sets the order state name.

StateDescription string

Gets or sets the order state description.

IntegrationOrderId string

Gets or sets the order id in the integrated system

RecurringOrderId integer (int32)

Gets or sets the id used for creating recurring orders.

CustomerUserId integer (int32)

Gets or sets the customer user Id.

CustomerNumber string

Gets or sets the customer number.

CustomerEan string

Gets or sets the customer Ean number.

CustomerRefId string

Gets or sets the customers reference id

CustomerCompany string

Gets or sets the customer company.

CustomerTitle string

Gets or sets the customer title.

CustomerName string

Gets or sets the customer name.

CustomerFirstName string

Gets or sets the customer first name.

CustomerSurname string

Gets or sets the customer surname.

CustomerMiddleName string

Gets or sets the customer middle name.

CustomerHouseNumber string

Gets or sets the customer house number.

CustomerInitials string

Gets or sets the customer initials.

CustomerPrefix string

Gets or sets the customer prefix.

CustomerAddress string

Gets or sets the customer address.

CustomerAddress2 string

Gets or sets the customer address2.

CustomerAddressId integer (int32)

Gets or sets the ID of the UserAddress

CustomerZip string

Gets or sets the customer zip code.

CustomerCity string

Gets or sets the customer city.

CustomerCountry string

Gets or sets the customer country.

CustomerCountryCode string

Gets or sets the customer country code.

CustomerRegion string

Gets or sets the customer region.

CustomerPhone string

Gets or sets the customer phone.

CustomerEmail string

Gets or sets the customer email.

CustomerCell string

Gets or sets the customer cell.

CustomerAccepted boolean

Gets or sets a value indicating whether customer has accepted order terms and conditions.

CustomerComment string

Gets or sets the customer comment.

DeliveryCompany string

Gets or sets the delivery company.

DeliveryName string

Gets or sets the delivery name.

DeliveryFirstName string

Gets or sets the delivery first name.

DeliverySurname string

Gets or sets the delivery surname.

DeliveryMiddleName string

Gets or sets the delivery middle name.

DeliveryTitle string

Gets or sets the delivery title.

DeliveryHouseNumber string

Gets or sets the delivery house number.

DeliveryInitials string

Gets or sets the delivery initials.

DeliveryPrefix string

Gets or sets the delivery prefix.

DeliveryAddress string

Gets or sets the delivery address.

DeliveryAddress2 string

Gets or sets the delivery address2.

DeliveryAddressId integer (int32)

Gets or sets the ID of the UserAddress

DeliveryZip string

Gets or sets the delivery ZIP.

DeliveryCity string

Gets or sets the delivery city.

DeliveryCountry string

Gets or sets the delivery country.

DeliveryCountryCode string

Gets or sets the delivery country code.

DeliveryRegion string

Gets or sets the delivery region.

DeliveryPhone string

Gets or sets the delivery phone.

DeliveryEmail string

Gets or sets the delivery email.

DeliveryCell string

Gets or sets the delivery cell.

Reference string

Gets or sets the reference.

NewsletterSubscribe boolean

Gets or sets a value indicating whether customer wants to subscribe for a newsletter.

TransactionCardnumber string
TransactionCardType string
TransactionNumber string
TransactionStatus string
ShippingDate string (date-time)
TrackAndTraceName string

Gets or sets the track and trace name.

TrackAndTraceURL string

Gets or sets the track and trace URL.

TrackAndTraceNumber string

Gets or sets the track and trace number.

OrderLines OrderLineViewModel[]
OrderFields object
TotalDiscount
TotalProductDiscount
TotalOrderDiscount
Price
PriceBeforeFees
TotalPriceBeforeFeesAndTaxes
TotalTaxes
ShippingFee
ShippingMethod
PaymentMethod
PaymentFee
TotalPriceWithoutDiscountsFeesAndTaxes
TotalPriceWithoutOrderDiscountsAndFeesAndTaxes

OrderLineViewModel

UserCartsResponse

Name Type Notes
CartSecret string

Secretid of cart for the users

DisplayName string

Gets or sets the order display name.

CreatedAt string (date-time)

Gets or sets the order record creation date.

Modified string (date-time)

Gets or sets the order record modified date.

ShopId string

Gets or sets the order shop id.

Id string

Gets or sets the order Id.

FavoriteListListViewModel

FavoriteListListViewModel represents the rendering context used when a collection of favorite lists is rendered.

Name Type Notes
PageSize integer (int32)

Gets or sets the items count per page.

PageCount integer (int32)

Gets or sets the count of pages. If this value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage integer (int32)

Gets or sets the current page number.

TotalFavoriteListsCount integer (int32)

Gets or sets the total number of favorite lists in the list.

FavoriteLists FavoriteListViewModel[]

Gets or sets the list of favorite lists.

FavoriteListViewModel

Gets or sets the list of favorite lists.

FavoriteProductListViewModel

FavoriteListListViewModel represents the rendering context used when a collection of favorite lists is rendered.

Name Type Notes
PageSize integer (int32)

Gets or sets the items count per page.

PageCount integer (int32)

Gets or sets the count of pages. If this value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage integer (int32)

Gets or sets the current page number.

TotalFavoriteProductsCount integer (int32)

Gets or sets the total number of favorite lists in the list.

FavoriteProducts FavoriteProductViewModel[]

Gets or sets the list of favorite lists.

FavoriteProductViewModel

Gets or sets the list of favorite lists.

GridRowViewModel

Name Type Notes
Id integer (int32)
Definition
Columns GridColumnViewModel[]
TemplatePath string
Item

Gets an ItemViewModel instance of this row item.

GridColumnViewModel

ProductGroupViewModel

Name Type Notes
Id string
Name string
Title string
Number string
Description string
MetaDescription string
CategorySystemName string
CategoryName string
GroupFields FieldValueViewModel[]
Assets MediaViewModel[]

FieldValueViewModel

MediaViewModel

CountryViewModel

Name Type Notes
Code2 string

Gets or sets the two-character code, i.e. DK.

Code3 string

Gets or sets the three-character code, i.e. DNK.

RegionCode string

Gets or sets the region code if this is a region.

Culture string

Gets or sets the culture code, i.e. da-DK.

Name string

Gets or sets the name of country.

Vat number (double)

Gets or sets the VAT percent

CurrencyViewModel

Name Type Notes
Symbol string

Gets or sets the currency symbol.

Name string

Gets or sets the name of currency.

Rate number (double)

Gets or sets the exchange rate.

Code string

Gets or sets the currency code.

Default boolean

Gets or sets if this currency is default currency

ViewModelBase represents a view model that can be used for rendering templates using a model instead of template tags. Inherit from this base class to create a view model.

Name Type Notes
Nodes NavigationTreeNodeViewModel[]

Gets the sub nodes (children) to the root node.

Parameters object

Gets the collection of custom parameters.

Gets the sub nodes (children) to the root node.

OrderListViewModel

OrderListViewModel represents the rendering context used when a collection of orders is rendered.

Name Type Notes
PageSize integer (int32)

Gets or sets the items count per page.

PageCount integer (int32)

Gets or sets the count of pages. If this value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage integer (int32)

Gets or sets the current page number.

TotalOrdersCount integer (int32)

Gets or sets the total number of orders in the list.

Orders OrderViewModel[]

PageViewModel

ViewModelBase represents a view model that can be used for rendering templates using a model instead of template tags. Inherit from this base class to create a view model.

Name Type Notes
Area

Gets or sets the area.

CreatedDate string (date-time)

Gets or sets the created date.

CurrentSecondaryUser

Gets or sets the current secondary user.

CurrentUser

Gets or sets the current user.

IsCurrentUserAllowed boolean

Gets a boolean that indicates if the current user, anonymous or not, has access to the current page. GetLogonDialog

Cart

Gets or sets the current cart.

Content object

Gets or sets the content as a dictionary of content placeholder ids (key) and its content html (the value).

GridContent object
Description string

Gets or sets the description.

ID integer (int32)

Gets or sets the identifier.

Item

Gets or sets the item.

ItemId string

Gets or sets the item identifier.

ItemType string

Gets or sets the type of the item.

Keywords string

Gets or sets the keywords.

MetaTags string

Gets or sets the meta tags.

Languages PageLanguageViewModel[]

Gets or sets the languages.

Name string

Gets or sets the name.

Path PageReferenceViewModel[]

Gets or sets the path.

PropertyItem

Gets or sets the property item.

PropertyItemId string

Gets or sets the property item identifier.

PropertyItemType string

Gets or sets the type of the property item.

ShowUpdatedDate boolean

Gets or sets a value indicating whether to show updated date.

Title string

Gets or sets the title.

TopPage

Gets or sets the top page.

UpdatedDate string (date-time)

Gets or sets the updated date.

SecondaryUsers UserViewModel[]

Gets or sets the secondary users.

HasSecondaryUsers boolean

Demonstrates that current user has secondary users

LogOnFailed boolean

Gets or sets log on failed state.

LogOnFailedReason

Gets or sets log on failed reason.

PageLanguageViewModel

Gets or sets the languages.

PageReferenceViewModel

Gets or sets the path.

UserViewModel

Gets or sets the secondary users.

PageInfoViewModel

Name Type Notes
ID integer (int32)
Name string
CreatedDate string (date-time)
UpdatedDate string (date-time)
Title string
Description string
Keywords string
AreaID integer (int32)
Path PageReferenceViewModel[]
Languages PageLanguageViewModel[]
Item
PropertyItem

ParagraphInfoViewModel

Name Type Notes
ID integer (int32)
Name string
CreatedDate string (date-time)
UpdatedDate string (date-time)
PageID integer (int32)
GlobalID integer (int32)
Text string
Item
Image string
ImageFocalX integer (int32)
ImageFocalY integer (int32)
ImageHAlign string
ImageVAlign string
ImageLink string
ImageAlt string
ImageLinkTarget string
ImageCaption string

PaymentViewModel

Name Type Notes
Id string

Gets or sets the id.

Name string

Gets or sets the name of payment.

Description string

Gets or sets the description.

Icon string

Gets or sets the icon.

Code string

Gets or sets the code.

TermsCode string

Gets or sets the terms code.

TermsDescription string

Gets or sets the terms description.

ProductListViewModel

Name Type Notes
Products ProductViewModel[]
TotalProductsCount integer (int32)

Gets or sets the total number of products in the list.

FacetGroups FacetGroupViewModel[]
Group
SubGroups ProductGroupViewModel[]
PageSize integer (int32)

Gets or sets the items count per page.

PageCount integer (int32)

Gets or sets the count of pages. If this value is greater than 0, the view model result will be paginated, otherwise, plain list.

CurrentPage integer (int32)

Gets or sets the current page number.

SortBy string

Gets or sets the field that the list is sorted by. If the result is sorted by multiple fields, only the first is here.

SortOrder string

Gets or sets the sortorder that the list is sorted by. If the result is sorted by multiple fields, only the first is here.

SpellCheckerSuggestions array

Gets or sets the collection of suggestions from a spell checker.

ProductViewModel

FacetGroupViewModel

ServicePoint

Name Type Notes
id integer (int64)
name string
number string
companyName string
address string
address2 string
zipCode string
cityName string
countryCode string
phone string
phoneMobile string

ShippingViewModel

Name Type Notes
Id string

Gets or sets the id.

Name string

Gets or sets the name of shipping.

Description string

Gets or sets the description.

Icon string

Gets or sets the icon.

PriceOverMaxWeight number (double)

Gets or sets the price for over max weight.

FreeFeeAmount number (double)

Gets or sets the free fee amount.

Code string

Gets or sets the shipping code.

AgentCode string

Gets or sets the shipping agent code.

AgentName string

Gets or sets the shipping agent name.

AgentServiceCode string

Gets or sets the shipping agent service code.

AgentServiceDescription string

Gets or sets the shipping agent service description.

KeyCollection

Represents translation keys collection.

Translation

Name Type Notes
Key string

The translation key.

DefaultValue string

The default value to use if no translation (value) exists.

Value string

The translation for the culture of the specified key.

AuthenticationTokenResponse

Returns the authentication token for a user that passes the authentication. The token is valid for 30 minutes if not otherwise specified and then needs to be refreshed.

Name Type Notes
Token string

Jwt token that authorises a user after they have been logged in. Send in the authentication header.

AddressViewModel

Name Type Notes
Id integer (int32)

The ID identifying this specific address.

Company string

Gets or sets user address Company name.

Name string

Gets or sets user address name.

Address string

Gets or sets address.

Address2 string

Gets or sets Address2.

Zip string

Gets or sets User Address Zip.

City string

Gets or sets User Address City.

CountryCode string

Gets or sets address country code

State string

Gets or sets User Address State.

Phone string

Gets or sets User Address Phone.

Mobile string

Gets or sets User Address Mobile.

Email string

Gets or sets User Address Email.

IsDefault boolean

Gets or sets User Address Is Default.

VariantInfoViewModel

Name Type Notes
ProductID string
VariantID string
OptionID string
OptionName string
OptionColor string
OptionSort integer (int32)
ProductName string
ProductNumber string
ProductStock number (double)
VariantInfoGroupId string
VariantInfoGroupName string
VariantInfoGroupDescription string
VariantGroupDisplayType VariantGroupDisplayType
OptionImage
Image
Price
PriceMin
PriceMax
Stock number (double)
VariantInfo array

VariantGroupDisplayType

Enum Values
NothingSelected
VariantName
VariantColor
VariantOptionImage
VariantImage
To top