Resources

There is a WADL document available that describes the resources API.

You may also enjoy the interactive interface provided for this API by Swagger.

Try it out!

name path methods description
Article/category API
  • /estore/article-category/article-detail
  • /estore/article-category/article-list
  • /estore/article-category/article-sitemap
  • /estore/article-category/categories
  • /estore/article-category/category-sitemap
  • /estore/article-category/filter-property-keys
  • /estore/article-category/breadcrumbs/{categoryId}
  • POST
  • POST
  • POST
  • GET
  • POST
  • GET
  • POST
Article category eStore-related features, such as article listing, breadcrumbs etc.
Category API
  • /estore/category-v3/categories
  • /estore/category-v3/trees
  • GET
  • GET
Categories and their hierarchical tree is an easy way to design the web shop in a way that it is easy to navigate and find interesting articles.
Checkout API
  • /estore/checkout/details
  • POST
The checkout is where consumers finalize their purchases. They enter their shipping details and pay through a payment method, usually through a third party payment service provider. ETM also has service providers that host the entire checkout, for example Klarna Checkout.
Common API
  • /estore/common/messages
  • /estore/common/referrals
  • POST
  • POST
Common eStore-related features, such as referrals or newsletter subscriptions.
Country API
  • /estore/country/cities
  • /estore/country/countries
  • GET
  • GET
A country defines a market where products are sold.

A country has a single currency, meaning you can't use any other currency when placing orders for that country. For example, if you are ordering goods in the Swedish market, you must pay with SEK.

A country has a default language, however any language can in theory be used for any country when browsing goods, as long as there are translations for that specific language. Languages and countries are in other words not really connected in any important way.

Delivery method API
  • /estore/delivery-method/delivery-methods
  • GET
Delivery methods are different ways of transporting physical goods from warehouses to consumers. A delivery method is connected to a specific logistics provider, meaning multiple methods can have the same provider, but with different properties. Delivery methods can have various requirements (such as weight limits) and different carriage costs for different countries. A delivery method is mandatory in the order chain.
Delivery point API
  • /estore/delivery-point/delivery-points
  • /estore/delivery-point/delivery-points-by-search-string
  • GET
  • GET
A delivery point is a physical location where shipped goods can be picked up. These can be of arbitrary type, for example physical stores or post offices. These delivery points are bound to a logistics provider. For example, 'Posten' have different delivery points than 'In-store pickup'.
Delivery time slot API
  • /estore/delivery-time-slot/delivery-time-slots
  • GET
A delivery time slot is day and time where the customer can choose to have their delivery.
Navigation API
  • /estore/navigation/path-info
  • GET
The navigation is the central core of the eStore platform. A path is simply the path of a URL. For example, the path of the URL https://www.viskan.com/some/category would be /some/path. A path can be translated to various different kinds of targets:
  • A category
  • An article
  • A redirect
A path can also potentially have alternative paths for other languages.
Payment method API
  • /estore/payment-method/payment-methods
  • GET
Payment methods are different ways of handling the payments of orders and subscriptions. Some payment methods handle recurring payments (subscriptions), while some do not. A payment method is typically connected to a payment service provider that defines the logic that needs to be performed. When using a payment service provider, communication with the third party often takes place.
Purchase API
  • /estore/purchase-v2/cancellations
  • /estore/purchase-v2/purchases
  • POST
  • POST
A purchase is the core part of the eStore API and is created by converting an existing shopcart, including its rows and settings. A purchase can be created with or without customer information, depending on if a third party payment service provider can provide customer information.
Query API
  • /estore/query/queries
  • POST
Dynamic queries provide a flexible way of retrieving data from ETM, in a highly available and clustered manner. These queries are very useful when you want specific data in a specific format, and can be optimized for that specific purpose.
Raw purchase API
  • /estore/raw-purchase/purchases
  • POST
Raw purchases are exactly the same as regular purchases made through the eStore endpoints, except for the fact that they are not based on shopping carts from the eStore endpoints. Raw purchases can come from any kind of external source or system.
Receipt API
  • /estore/receipt/receipts
  • /estore/receipt/receipts/{purchaseNumber}
  • GET
  • GET
A receipt contains all information about a created purchase and is typically used to show final information about a purchase to a consumer. Receipts can have different states and they can in some cases exist but not be returned, typically because they are awaiting further details from a third party payment service provider.
Seller API
  • /estore/seller/sellers
  • GET
Provides methods for retrieving sellers. A seller is a person or company that sell products/services to customers.
Service provider API
  • /estore/service-provider/configurations
  • /estore/service-provider/configuration/{serviceProviderConfigurationId}
  • GET
  • GET
A service provider configuration is a vendor that provides IT solutions and/or services to end users and organizations. They can for example be payment service providers like Klarna.
Store API
  • /estore/store/settings
  • /estore/store/stores
  • /estore/store/settings/{settingKey}
  • /estore/store/articles/id/{articleId}/stock-balances
  • GET
  • GET
  • GET
  • GET
A store can be either physical or virtual. A physical store is typically a regular store with cashiers etc., where a virtual store is typically an online shop. Stores can be provide useful information in various ways. They can for example be used as delivery points, using ETM's In-store pickup module, or they can be used simply to provide information about stock balances in each physical store.
Streamline Express API
  • /estore/express/purchases
  • POST
Streamline Express is a simplified and combined version of the shopcart and purchase APIs. Streamline Express pages are preconfigured in ETM. The name of a page is passed in to the service along with customer information to create a purchase.

For simplicity, Streamline Express is traditionally used directly from a browser. However, this API provides a way of calling Streamline Express using a regular server-to-server REST API.

Data Types

type description
Address Information about a geographical address.
AddressWithGeolocation Information about a geographical location, including absolute coordinates of the location. This is often used where distance calculations is necessary.
AddressWithName Information about a geographical location, including the name of the resident/tenant. This object is used often as delivery addresses, where you also want to store the name of the delivery recipient.
ApplicationError Represents an application error object that contains information about a specific error thrown by the system.
ApplicationErrors Defines a list of errors.
ArticleCategoryRequest Definition of an article category request
ArticleDetailRequest Article detail request
ArticleDetailRequestParams Article detail request
ArticleListRequest
ArticleListRequestParams Article list request
ArticleSitemapParams Article sitemap request
ArticleSitemapRequest
ArticleSitemapRequest
Attachment Holds data related to an attachment.
CancelPurchaseParams Contains information required to cancel an ongoing purchase.
CancelPurchaseResult Contains information about a cancelled purchase.
CategorySitemapParams Article sitemap request
CheckoutDeliveryMethod Defines a delivery method that is available on checkout pages. The method is returned together with a state that says whether or not this method is currently available for the current shopcart.
CheckoutDetails Contains details about that is useful on a checkout page.
CheckoutDetailsRequest Defines a request to get details that can be used on a checkout page.
CheckoutPaymentMethod Defines a payment method that is available on checkout pages. The method is returned together with a state that says whether or not this method is currently available for the current shopcart.
City Represents city matched to connected zip codes.
ContentCategory Domain of a content category. Holding information about a category's content.
ContentTree Domain representing a content tree node
Country A country defines a market where products are sold.

A country has a single currency, meaning you can't use any other currency when placing orders for that country. For example, if you are ordering goods in the Swedish market, you must pay with SEK.

A country has a default language, however any language can in theory be used for any country when browsing goods, as long as there are translations for that specific language. Languages and countries are in other words not really connected in any important way.

CreatePurchaseParams Defines parameters that are used to create new purchases.
CreatePurchaseParamsSettings Contains settings for creating purchases.
CreatePurchaseResult Defines the result of creating a purchase.
CustomField Class that represents custom fields on purchases
CustomerMessage Holds data related to customer message.
DayOfWeek A day-of-week, such as 'Tuesday'.

Represents the 7 days of the week - Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday.

DeliveryMethod Defines a delivery method that can be used to deliver goods to the consumers.
DeliveryPoint A delivery point is a physical location where shipped goods can be picked up. These can be of arbitrary type, for example physical stores or post offices. These delivery points are bound to a logistics provider. For example, 'Posten' have different delivery points than 'In-store pickup'.
DeliveryPointRule Controls the rules for delivery points of a delivery method.
Entry
HelpdeskTag Holds the category id of the ticket category that represents the different "labels/tags" we can set on helpdesk tickets.
Language Defines the languages that can be used in ETM.

The values of languages are from the ISO 639-1 standard.

LanguageAlternative Defines an alternative path for a specific language.
LogisticsProvider List of Logistics providers.
PathInfo The target destination of a path.
PayType
PaymentMethod Defines a payment method that can be used to accept payments.
PhysicalStore Defines a physical store, containing contact details, geographical location and opening hours.
PhysicalStoreStockBalance Contains information about stock balances for a physical store. The stock balance information is separated by stock keeping units.
PhysicalStoreStockKeepingUnit Information about the quantity in stock of a specific stock keeping unit.
PurchaseResultAction Defines various purchase result actions.
QueryRequest Contains information required to perform a dynamic data query to ETM.
QueryResponse Contains the result of a dynamic query.
RawPurchaseOrderRow A row of a raw purchase will result in a regular order row. It has a stock keeping unit with the given quantity. Price information and potential discount is also provided.
RawPurchasePaymentReference Represents a transaction of a payment.
RawPurchaseRequest A raw purchase contains all the necessary information for the order chain. It contains information about the customer, including contact information and shipping details. It contains content information, such as regular order information, with fees and rows, but also potential subscriptions. It contains information about how payments are handled and how deliveries are handled.
RawPurchaseResponse Contains the response from Raw Purchase API.
RawPurchaseSubscriptionRow Raw purchase row for creating subscriptions from a template.
Receipt Defines a receipt for an order online.
ReceiptAddOn Defines a single add-on row that belongs to a receipt row.
ReceiptAddOnValue Defines value details for receipt rows.
ReceiptCustomer Holds information about the customer of a receipt.
ReceiptDeliveryMethod Contains information about the delivery method of a receipt.
ReceiptOffer Contains information about a head-level offer of a receipt.
ReceiptPaymentMethod Contains information about the payment method of a receipt.
ReceiptRental Defines a single rental of a receipt.
ReceiptRentalAddOn Defines a single add-on row that belongs to a rental.
ReceiptRentalValue Defines value details for receipt rows.
ReceiptRow Defines a single order row of a receipt.
ReceiptRowValue Defines value details for receipt rows.
ReceiptSubscription Defines a single subscription of a receipt.
ReceiptValue Defines value details for receipts.
Referral Defines a referral from one customer to a (potentially) new customer.
RentalInfo
Seller Defines a seller.
ServiceProviderConfiguration Defines a service provider configuration. A Service provider configuration are usually used when communication with third parties.
ServiceProviderConfigurationParameter Defines a service provider configuration parameter.
Sex Represents a customers sex
StoreSetting Holds a single setting for a web store. A setting can be anything from external tokens (such as the Google Analytics token) to simple styling settings (such as font names or colors).
StreamlineExpressRequest Defines a request to the Streamline Express service. This information contains the page to use together with optional overrides (such as payment method to use) in addition to the customer information that should be used when creating the purchase.
StreamlineExpressResponse Defines a response from the Streamline Express service.
SubmitParameter Represents a submit parameter. It is a simple key/value pair that is retrieved n the result when creating new purchases.
TargetType Defines the type of the path destination target.
TimeSlot Defines a time slot.
TimeSlotRule Controls the rules for time slots of a delivery method.
TransactionType