OCAPI 19.3 changes since 15.8

The following sections describe all changes made to OCAPI since version 15.8.

Resources added, modified, or removed since 15.8

Resource Name Change Http Method URL Template API Details
AbTestSearch Added POST /sites/{site_id}/ab_test_search Data N/A
AbTests Added DELETE /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id} Data N/A
AbTests Added PUT /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id} Data N/A
AbTests Added DELETE /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id} Data N/A
AbTests Added PUT /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id} Data N/A
AbTests Added DELETE /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id} Data N/A
AbTests Added PUT /sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id} Data N/A
Account Removed POST /account/login Shop N/A
Account Removed POST /account/logout Shop N/A
Account Removed POST /account/register Shop N/A
Account Removed GET /account/{id} Shop N/A
Account Removed PATCH /account/{id} Shop N/A
Account Removed GET /account/{id}/addresses Shop N/A
Account Removed DELETE /account/{id}/addresses/{address_name} Shop N/A
Account Removed GET /account/{id}/addresses/{address_name} Shop N/A
Account Removed PATCH /account/{id}/addresses/{address_name} Shop N/A
Account Removed PUT /account/{id}/addresses/{address_name} Shop N/A
Ai Added POST /ai/activities/{activity} Shop N/A
Ai Added GET /ai/product_recommendations/{recommender_name} Shop N/A
Baskets Added POST /baskets/reference Shop N/A
Baskets Added PUT /baskets/{basket_id}/agent Shop N/A
Baskets Added GET /baskets/{basket_id}/approaching_discounts Shop N/A
Baskets Added DELETE /baskets/{basket_id}/gift_certificate_items/{gift_certificate_item_id} Shop N/A
Baskets Added PATCH /baskets/{basket_id}/gift_certificate_items/{gift_certificate_item_id} Shop N/A
Baskets Added DELETE /baskets/{basket_id}/notes/{note_id} Shop N/A
Baskets Added PATCH /baskets/{basket_id}/price_adjustments/{price_adjustment_id} Shop N/A
Baskets Added DELETE /baskets/{basket_id}/shipments/{shipment_id} Shop N/A
Baskets Added PUT /baskets/{basket_id}/storefront Shop N/A
Baskets Removed POST /baskets/{basket_id}/submit Shop N/A
Baskets Changed POST /baskets Shop More
Baskets Changed DELETE /baskets/{basket_id} Shop More
Baskets Changed GET /baskets/{basket_id} Shop More
Baskets Changed PATCH /baskets/{basket_id} Shop More
Baskets Changed PUT /baskets/{basket_id}/billing_address Shop More
Baskets Changed POST /baskets/{basket_id}/coupons Shop More
Baskets Changed DELETE /baskets/{basket_id}/coupons/{coupon_item_id} Shop More
Baskets Changed PUT /baskets/{basket_id}/customer Shop More
Baskets Changed POST /baskets/{basket_id}/gift_certificate_items Shop More
Baskets Changed POST /baskets/{basket_id}/items Shop More
Baskets Changed DELETE /baskets/{basket_id}/items/{item_id} Shop More
Baskets Changed PATCH /baskets/{basket_id}/items/{item_id} Shop More
Baskets Changed GET /baskets/{basket_id}/notes Shop More
Baskets Changed POST /baskets/{basket_id}/notes Shop More
Baskets Changed POST /baskets/{basket_id}/payment_instruments Shop More
Baskets Changed DELETE /baskets/{basket_id}/payment_instruments/{payment_instrument_id} Shop More
Baskets Changed PATCH /baskets/{basket_id}/payment_instruments/{payment_instrument_id} Shop More
Baskets Changed GET /baskets/{basket_id}/payment_methods Shop More
Baskets Changed POST /baskets/{basket_id}/price_adjustments Shop More
Baskets Changed DELETE /baskets/{basket_id}/price_adjustments/{price_adjustment_id} Shop More
Baskets Changed POST /baskets/{basket_id}/shipments Shop More
Baskets Changed PATCH /baskets/{basket_id}/shipments/{shipment_id} Shop More
Baskets Changed PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_address Shop More
Baskets Changed PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_method Shop More
Baskets Changed GET /baskets/{basket_id}/shipments/{shipment_id}/shipping_methods Shop More
CampaignSearch Added POST /sites/{site_id}/campaign_search Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id} Data N/A
Campaigns Added GET /sites/{site_id}/campaigns/{campaign_id} Data N/A
Campaigns Added PATCH /sites/{site_id}/campaigns/{campaign_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id} Data N/A
Campaigns Added PATCH /sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id} Data N/A
Campaigns Added DELETE /sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id} Data N/A
Campaigns Added PUT /sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id} Data N/A
CatalogSearch Added POST /catalog_search Data N/A
Catalogs Added GET /catalogs Data N/A
Catalogs Added GET /catalogs/{catalog_id} Data N/A
Catalogs Added PATCH /catalogs/{catalog_id} Data N/A
Catalogs Added POST /catalogs/{catalog_id}/category_search Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_product_options Data N/A
Catalogs Added DELETE /catalogs/{catalog_id}/shared_product_options/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_product_options/{id} Data N/A
Catalogs Added PATCH /catalogs/{catalog_id}/shared_product_options/{id} Data N/A
Catalogs Added PUT /catalogs/{catalog_id}/shared_product_options/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_product_options/{option_id}/values Data N/A
Catalogs Added DELETE /catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id} Data N/A
Catalogs Added PATCH /catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id} Data N/A
Catalogs Added PUT /catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_variation_attributes Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values Data N/A
Catalogs Added DELETE /catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id} Data N/A
Catalogs Added PATCH /catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id} Data N/A
Catalogs Added PUT /catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id} Data N/A
Catalogs Added DELETE /catalogs/{catalog_id}/shared_variation_attributes/{id} Data N/A
Catalogs Added GET /catalogs/{catalog_id}/shared_variation_attributes/{id} Data N/A
Catalogs Added PATCH /catalogs/{catalog_id}/shared_variation_attributes/{id} Data N/A
Catalogs Added PUT /catalogs/{catalog_id}/shared_variation_attributes/{id} Data N/A
Categories Added GET /catalogs/{catalog_id}/categories Data N/A
Categories Added DELETE /catalogs/{catalog_id}/categories/{category_id} Data N/A
Categories Added GET /catalogs/{catalog_id}/categories/{category_id} Data N/A
Categories Added PATCH /catalogs/{catalog_id}/categories/{category_id} Data N/A
Categories Added PUT /catalogs/{catalog_id}/categories/{category_id} Data N/A
Categories Added DELETE /catalogs/{catalog_id}/categories/{category_id}/products/{product_id} Data N/A
Categories Added GET /catalogs/{catalog_id}/categories/{category_id}/products/{product_id} Data N/A
Categories Added PATCH /catalogs/{catalog_id}/categories/{category_id}/products/{product_id} Data N/A
Categories Added PUT /catalogs/{catalog_id}/categories/{category_id}/products/{product_id} Data N/A
Categories Changed GET /categories/({id},...,{id}) Shop More
Categories Changed GET /categories/{id} Shop More
CategoryLinks Added GET /catalogs/{catalog_id}/categories/{category_id}/category_links Data N/A
CategoryLinks Added DELETE /catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type} Data N/A
CategoryLinks Added GET /catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type} Data N/A
CategoryLinks Added PATCH /catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type} Data N/A
CategoryLinks Added PUT /catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type} Data N/A
CategoryProductAssignmentSearch Added POST /catalogs/{catalog_id}/categories/{category_id}/category_product_assignment_search Data N/A
CategorySearch Added POST /category_search Data N/A
CodeVersions Added GET /code_versions Data N/A
CodeVersions Added DELETE /code_versions/{code_version_id} Data N/A
CodeVersions Added GET /code_versions/{code_version_id} Data N/A
CodeVersions Added PATCH /code_versions/{code_version_id} Data N/A
CodeVersions Added PUT /code_versions/{code_version_id} Data N/A
Content Changed GET /content/({id},...,{id}) Shop More
Content Changed GET /content/{id} Shop More
ContentSearch Changed GET /content_search Shop More
CouponRedemptionSearch Added POST /sites/{site_id}/coupon_redemption_search Data N/A
Coupons Added GET /sites/{site_id}/coupons Data N/A
Coupons Added GET /sites/{site_id}/coupons/{coupon_id}/campaigns Data N/A
Coupons Added GET /sites/{site_id}/coupons/{coupon_id}/campaigns/{campaign_id}/promotions Data N/A
Coupons Added GET /sites/{site_id}/coupons/{coupon_id}/codes Data N/A
Coupons Added POST /sites/{site_id}/coupons/{coupon_id}/multiple_codes Data N/A
Coupons Added GET /sites/{site_id}/coupons/{coupon_id}/promotions Data N/A
Coupons Changed GET /sites/{site_id}/coupons/{coupon_id} Data More
Coupons Changed PATCH /sites/{site_id}/coupons/{coupon_id} Data More
CustomObjectDefinitions Added POST /custom_object_definitions/{object_type}/attribute_definition_search Data N/A
CustomObjectDefinitions Added GET /custom_object_definitions/{object_type}/attribute_definitions Data N/A
CustomObjectDefinitions Added DELETE /custom_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
CustomObjectDefinitions Added GET /custom_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
CustomObjectDefinitions Added PATCH /custom_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
CustomObjectDefinitions Added PUT /custom_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
CustomObjectDefinitions Added POST /custom_object_definitions/{object_type}/attribute_group_search Data N/A
CustomObjectDefinitions Added GET /custom_object_definitions/{object_type}/attribute_groups Data N/A
CustomObjectDefinitions Added DELETE /custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Data N/A
CustomObjectDefinitions Added PUT /custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Data N/A
CustomObjectDefinitions Added DELETE /custom_object_definitions/{object_type}/attribute_groups/{id} Data N/A
CustomObjectDefinitions Added GET /custom_object_definitions/{object_type}/attribute_groups/{id} Data N/A
CustomObjectDefinitions Added PATCH /custom_object_definitions/{object_type}/attribute_groups/{id} Data N/A
CustomObjectDefinitions Added PUT /custom_object_definitions/{object_type}/attribute_groups/{id} Data N/A
CustomObjects Changed PATCH /custom_objects/{object_type}/{key} Data More
CustomObjects Changed GET /custom_objects/{object_type}/{key} Shop More
CustomerGroupSearch Added POST /sites/{site_id}/customer_group_search Data N/A
CustomerGroups Added GET /sites/{site_id}/customer_groups Data N/A
CustomerGroups Added DELETE /sites/{site_id}/customer_groups/{id} Data N/A
CustomerGroups Added GET /sites/{site_id}/customer_groups/{id} Data N/A
CustomerGroups Added PATCH /sites/{site_id}/customer_groups/{id} Data N/A
CustomerGroups Added PUT /sites/{site_id}/customer_groups/{id} Data N/A
CustomerGroups Added POST /sites/{site_id}/customer_groups/{id}/member_search Data N/A
CustomerGroups Added GET /sites/{site_id}/customer_groups/{id}/members Data N/A
CustomerGroups Added DELETE /sites/{site_id}/customer_groups/{id}/members/{customer_no} Data N/A
CustomerGroups Added GET /sites/{site_id}/customer_groups/{id}/members/{customer_no} Data N/A
CustomerGroups Added PUT /sites/{site_id}/customer_groups/{id}/members/{customer_no} Data N/A
CustomerLists Added POST /customer_lists/{customer_list_id}/customer_search Data N/A
CustomerLists Added PUT /customer_lists/{list_id}/customers/{customer_no} Data N/A
CustomerLists Changed PATCH /customer_lists/{list_id}/customers/{customer_no} Data More
CustomerLists Changed PATCH /customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id} Data More
CustomerSearch Removed POST /customer_search Data N/A
Customers Added POST /customers Shop N/A
Customers Added DELETE /customers/auth Shop N/A
Customers Added POST /customers/password_reset Shop N/A
Customers Added GET /customers/{customer_id} Shop N/A
Customers Added PATCH /customers/{customer_id} Shop N/A
Customers Added POST /customers/{customer_id}/addresses Shop N/A
Customers Added DELETE /customers/{customer_id}/addresses/{address_name} Shop N/A
Customers Added GET /customers/{customer_id}/addresses/{address_name} Shop N/A
Customers Added PATCH /customers/{customer_id}/addresses/{address_name} Shop N/A
Customers Added POST /customers/{customer_id}/auth Shop N/A
Customers Added PUT /customers/{customer_id}/password Shop N/A
Customers Added POST /customers/{customer_id}/password_reset Shop N/A
Customers Added GET /customers/{customer_id}/product_lists Shop N/A
Customers Added POST /customers/{customer_id}/product_lists Shop N/A
Customers Added DELETE /customers/{customer_id}/product_lists/{list_id} Shop N/A
Customers Added GET /customers/{customer_id}/product_lists/{list_id} Shop N/A
Customers Added PATCH /customers/{customer_id}/product_lists/{list_id} Shop N/A
Customers Added GET /customers/{customer_id}/product_lists/{list_id}/items Shop N/A
Customers Added POST /customers/{customer_id}/product_lists/{list_id}/items Shop N/A
Customers Added DELETE /customers/{customer_id}/product_lists/{list_id}/items/{item_id} Shop N/A
Customers Added GET /customers/{customer_id}/product_lists/{list_id}/items/{item_id} Shop N/A
Customers Added PATCH /customers/{customer_id}/product_lists/{list_id}/items/{item_id} Shop N/A
Customers Added GET /customers/{customer_id}/product_lists/{list_id}/items/{item_id}/purchases Shop N/A
Customers Added POST /customers/{customer_id}/product_lists/{list_id}/items/{item_id}/purchases Shop N/A
Customers Added GET /customers/{customer_id}/product_lists/{list_id}/items/{item_id}/purchases/{purchase_id} Shop N/A
Customers Added PATCH /customers/{customer_id}/product_lists/{list_id}/items/{item_id}/purchases/{purchase_id} Shop N/A
Customers Changed POST /customers/auth Shop More
Customers Changed GET /customers/{customer_id}/addresses Shop More
Customers Changed GET /customers/{customer_id}/orders Shop More
Customers Changed GET /customers/{customer_id}/payment_instruments Shop More
Customers Changed POST /customers/{customer_id}/payment_instruments Shop More
Customers Changed DELETE /customers/{customer_id}/payment_instruments/{payment_instrument_id} Shop More
Customers Changed GET /customers/{customer_id}/payment_instruments/{payment_instrument_id} Shop More
Folders Changed GET /folders/({id},...,{id}) Shop More
Folders Changed GET /folders/{id} Shop More
GiftCertificate Changed POST /gift_certificate Shop More
GiftCertificateSearch Added POST /sites/{site_id}/gift_certificate_search Data N/A
GiftCertificates Added GET /sites/{site_id}/gift_certificates Data N/A
GiftCertificates Added POST /sites/{site_id}/gift_certificates Data N/A
GiftCertificates Added DELETE /sites/{site_id}/gift_certificates/{merchant_id} Data N/A
GiftCertificates Added GET /sites/{site_id}/gift_certificates/{merchant_id} Data N/A
GiftCertificates Added PATCH /sites/{site_id}/gift_certificates/{merchant_id} Data N/A
GlobalPreferences Added GET /global_preferences/preference_groups/{group_id}/{instance_type} Data N/A
GlobalPreferences Added PATCH /global_preferences/preference_groups/{group_id}/{instance_type} Data N/A
InventoryListSearch Added POST /inventory_list_search Data N/A
InventoryLists Added GET /inventory_lists Data N/A
InventoryLists Added DELETE /inventory_lists/{id} Data N/A
InventoryLists Added GET /inventory_lists/{id} Data N/A
InventoryLists Added PATCH /inventory_lists/{id} Data N/A
InventoryLists Added PUT /inventory_lists/{id} Data N/A
JobExecutionSearch Added POST /job_execution_search Data N/A
Jobs Added POST /jobs/{job_id}/executions Data N/A
Jobs Added DELETE /jobs/{job_id}/executions/{id} Data N/A
Jobs Added GET /jobs/{job_id}/executions/{id} Data N/A
Libraries Added PATCH /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} Data N/A
Libraries Changed PATCH /libraries/{library_id}/content/{content_id} Data More
Libraries Changed PUT /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} Data More
Libraries Changed PATCH /libraries/{library_id}/folders/{folder_id} Data More
LocaleInfo Added GET /locale_info/locales Data N/A
LogRequests Added GET /log_requests/ecdn/{id} Data N/A
LogRequests Added POST /log_requests/ecdn/{id} Data N/A
OrderSearch Changed POST /order_search Shop More
Orders Added POST /orders Shop N/A
Orders Added PATCH /orders/{order_no} Shop N/A
Orders Added PUT /orders/{order_no} Shop N/A
Orders Added DELETE /orders/{order_no}/notes/{note_id} Shop N/A
Orders Added GET /orders/{order_no}/payment_methods Shop N/A
Orders Changed GET /orders/{order_no} Shop More
Orders Changed GET /orders/{order_no}/notes Shop More
Orders Changed POST /orders/{order_no}/notes Shop More
Orders Changed POST /orders/{order_no}/payment_instruments Shop More
Orders Changed DELETE /orders/{order_no}/payment_instruments/{payment_instrument_id} Shop More
Orders Changed PATCH /orders/{order_no}/payment_instruments/{payment_instrument_id} Shop More
Permissions Added GET /permissions Data N/A
Permissions Added GET /permissions/bm Data N/A
Permissions Added GET /permissions/bm/functional Data N/A
Permissions Added GET /permissions/bm/locale Data N/A
Permissions Added GET /permissions/bm/module Data N/A
Permissions Added GET /permissions/bm/webdav Data N/A
Permissions Added GET /permissions/csc Data N/A
Permissions Added GET /permissions/csc/module Data N/A
PriceAdjustmentLimits Added GET /price_adjustment_limits Shop N/A
ProductInventoryRecords Added GET /inventory_lists/{inventory_list_id}/product_inventory_records Data N/A
ProductInventoryRecords Added DELETE /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id} Data N/A
ProductInventoryRecords Added GET /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id} Data N/A
ProductInventoryRecords Added PATCH /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id} Data N/A
ProductInventoryRecords Added PUT /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id} Data N/A
ProductLists Added GET /product_lists/{list_id}/items/{item_id} Shop N/A
ProductLists Removed PATCH /product_lists/{list_id} Shop N/A
ProductLists Removed POST /product_lists/{list_id}/items Shop N/A
ProductLists Removed DELETE /product_lists/{list_id}/items/{item_id} Shop N/A
ProductLists Removed PATCH /product_lists/{list_id}/items/{item_id} Shop N/A
ProductLists Changed GET /product_lists Shop More
ProductLists Changed GET /product_lists/{list_id} Shop More
ProductLists Changed GET /product_lists/{list_id}/items Shop More
ProductSearch Added POST /product_search Data N/A
ProductSearch Added GET /product_search/represented_products Shop N/A
ProductSearch Changed GET /product_search Shop More
ProductSearch Changed GET /product_search/availability Shop More
ProductSearch Changed GET /product_search/images Shop More
ProductSearch Changed GET /product_search/prices Shop More
ProductSearch Changed GET /product_search/variations Shop More
Products Added DELETE /products/{id} Data N/A
Products Added GET /products/{id} Data N/A
Products Added PATCH /products/{id} Data N/A
Products Added PUT /products/{id} Data N/A
Products Added GET /products/{master_product_id}/variation_groups Data N/A
Products Added DELETE /products/{master_product_id}/variation_groups/{id} Data N/A
Products Added GET /products/{master_product_id}/variation_groups/{id} Data N/A
Products Added PATCH /products/{master_product_id}/variation_groups/{id} Data N/A
Products Added PUT /products/{master_product_id}/variation_groups/{id} Data N/A
Products Added GET /products/{master_product_id}/variations Data N/A
Products Added DELETE /products/{master_product_id}/variations/{id} Data N/A
Products Added GET /products/{master_product_id}/variations/{id} Data N/A
Products Added PATCH /products/{master_product_id}/variations/{id} Data N/A
Products Added PUT /products/{master_product_id}/variations/{id} Data N/A
Products Added GET /products/{product_id}/product_options Data N/A
Products Added DELETE /products/{product_id}/product_options/{id} Data N/A
Products Added GET /products/{product_id}/product_options/{id} Data N/A
Products Added PATCH /products/{product_id}/product_options/{id} Data N/A
Products Added PUT /products/{product_id}/product_options/{id} Data N/A
Products Added GET /products/{product_id}/product_options/{option_id}/values Data N/A
Products Added DELETE /products/{product_id}/product_options/{option_id}/values/{id} Data N/A
Products Added GET /products/{product_id}/product_options/{option_id}/values/{id} Data N/A
Products Added PATCH /products/{product_id}/product_options/{option_id}/values/{id} Data N/A
Products Added PUT /products/{product_id}/product_options/{option_id}/values/{id} Data N/A
Products Added GET /products/{product_id}/variation_attributes Data N/A
Products Added GET /products/{product_id}/variation_attributes/{attribute_id}/values Data N/A
Products Added DELETE /products/{product_id}/variation_attributes/{attribute_id}/values/{id} Data N/A
Products Added GET /products/{product_id}/variation_attributes/{attribute_id}/values/{id} Data N/A
Products Added PATCH /products/{product_id}/variation_attributes/{attribute_id}/values/{id} Data N/A
Products Added PUT /products/{product_id}/variation_attributes/{attribute_id}/values/{id} Data N/A
Products Added DELETE /products/{product_id}/variation_attributes/{id} Data N/A
Products Added GET /products/{product_id}/variation_attributes/{id} Data N/A
Products Added PATCH /products/{product_id}/variation_attributes/{id} Data N/A
Products Added PUT /products/{product_id}/variation_attributes/{id} Data N/A
Products Added GET /products/{id}/shipping_methods Shop N/A
Products Changed GET /products/({id},...,{id}) Shop More
Products Changed GET /products/{id} Shop More
Products Changed GET /products/{id}/availability Shop More
Products Changed GET /products/{id}/bundled_products Shop More
Products Changed GET /products/{id}/images Shop More
Products Changed GET /products/{id}/links Shop More
Products Changed GET /products/{id}/options Shop More
Products Changed GET /products/{id}/prices Shop More
Products Changed GET /products/{id}/promotions Shop More
Products Changed GET /products/{id}/recommendations Shop More
Products Changed GET /products/{id}/set_products Shop More
Products Changed GET /products/{id}/variations Shop More
PromotionCampaignAssignmentSearch Added POST /sites/{site_id}/promotion_campaign_assignment_search Data N/A
PromotionSearch Added POST /sites/{site_id}/promotion_search Data N/A
Promotions Added DELETE /sites/{site_id}/promotions/{id} Data N/A
Promotions Added GET /sites/{site_id}/promotions/{id} Data N/A
Promotions Added PATCH /sites/{site_id}/promotions/{id} Data N/A
Promotions Added PUT /sites/{site_id}/promotions/{id} Data N/A
Promotions Changed GET /promotions Shop More
Promotions Changed GET /promotions/({id},...,{id}) Shop More
Promotions Changed GET /promotions/{id} Shop More
RoleSearch Added POST /role_search Data N/A
Roles Added GET /roles Data N/A
Roles Added DELETE /roles/{id} Data N/A
Roles Added GET /roles/{id} Data N/A
Roles Added PUT /roles/{id} Data N/A
Roles Added GET /roles/{id}/permissions Data N/A
Roles Added PUT /roles/{id}/permissions Data N/A
Roles Added POST /roles/{id}/user_search Data N/A
Roles Added GET /roles/{id}/users Data N/A
Roles Added DELETE /roles/{id}/users/{login} Data N/A
Roles Added PUT /roles/{id}/users/{login} Data N/A
SearchSuggestion Changed GET /search_suggestion Shop More
Sessions Added POST /sessions Shop N/A
Settings Added GET /settings/logging/custom Data N/A
Settings Added PATCH /settings/logging/custom Data N/A
Site Changed GET /site Shop More
SitePreferences Added POST /site_preferences/preference_groups/{group_id}/{instance_type}/preference_search Data N/A
SitePreferences Added GET /site_preferences/preference_groups/{group_id}/{instance_type}/preferences/{preference_id} Data N/A
SiteSearch Added POST /site_search Data N/A
Sites Added GET /sites Data N/A
Sites Added GET /sites/{site_id}/locale_info/locales Data N/A
Sites Added GET /sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type} Data N/A
Sites Added PATCH /sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type} Data N/A
Sites Added GET /sites/{site_id}/slot_configurations Data N/A
Sites Added GET /sites/{site_id}/ab_tests Data N/A
Sites Added GET /sites/{site_id}/ai/recommender_names Data N/A
Sites Added DELETE /sites/{site_id}/cartridges/{cartridge_name} Data N/A
Sites Added POST /sites/{site_id}/cartridges/{cartridge_name} Data N/A
Sites Added PUT /sites/{site_id}/cartridges/{cartridge_name} Data N/A
Sites Changed PATCH /sites/{site_id}/custom_objects/{object_type}/{key} Data More
SlotConfigurationCampaignAssignmentSearch Added POST /sites/{site_id}/slot_configuration_campaign_assignment_search Data N/A
SlotConfigurations Changed PATCH /sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id} Data More
SlotSearch Added POST /sites/{site_id}/slot_search Data N/A
Slots Added GET /sites/{site_id}/slots Data N/A
Slots Added GET /sites/{site_id}/slots/{slot_id}/{context_type} Data N/A
SortingRuleSearch Added POST /sites/{site_id}/sorting_rule_search Data N/A
SourceCodeGroupSearch Added POST /sites/{site_id}/source_code_group_search Data N/A
SourceCodeGroups Added GET /sites/{site_id}/source_code_groups Data N/A
SourceCodeGroups Added DELETE /sites/{site_id}/source_code_groups/{id} Data N/A
SourceCodeGroups Added GET /sites/{site_id}/source_code_groups/{id} Data N/A
SourceCodeGroups Added PATCH /sites/{site_id}/source_code_groups/{id} Data N/A
SourceCodeGroups Added PUT /sites/{site_id}/source_code_groups/{id} Data N/A
StoreSearch Added POST /sites/{site_id}/store_search Data N/A
Stores Added GET /sites/{site_id}/stores Data N/A
Stores Added DELETE /sites/{site_id}/stores/{id} Data N/A
Stores Added GET /sites/{site_id}/stores/{id} Data N/A
Stores Added PATCH /sites/{site_id}/stores/{id} Data N/A
Stores Added PUT /sites/{site_id}/stores/{id} Data N/A
Stores Changed GET /stores Shop More
Stores Changed GET /stores/({id},...,{id}) Shop More
Stores Changed GET /stores/{id} Shop More
SystemObjectDefinitionSearch Added POST /system_object_definition_search Data N/A
SystemObjectDefinitions Added GET /system_object_definitions Data N/A
SystemObjectDefinitions Added GET /system_object_definitions/{object_type} Data N/A
SystemObjectDefinitions Added POST /system_object_definitions/{object_type}/attribute_definition_search Data N/A
SystemObjectDefinitions Added GET /system_object_definitions/{object_type}/attribute_definitions Data N/A
SystemObjectDefinitions Added DELETE /system_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
SystemObjectDefinitions Added GET /system_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
SystemObjectDefinitions Added PATCH /system_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
SystemObjectDefinitions Added PUT /system_object_definitions/{object_type}/attribute_definitions/{id} Data N/A
SystemObjectDefinitions Added POST /system_object_definitions/{object_type}/attribute_group_search Data N/A
SystemObjectDefinitions Added GET /system_object_definitions/{object_type}/attribute_groups Data N/A
SystemObjectDefinitions Added DELETE /system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Data N/A
SystemObjectDefinitions Added PUT /system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Data N/A
SystemObjectDefinitions Added DELETE /system_object_definitions/{object_type}/attribute_groups/{id} Data N/A
SystemObjectDefinitions Added GET /system_object_definitions/{object_type}/attribute_groups/{id} Data N/A
SystemObjectDefinitions Added PATCH /system_object_definitions/{object_type}/attribute_groups/{id} Data N/A
SystemObjectDefinitions Added PUT /system_object_definitions/{object_type}/attribute_groups/{id} Data N/A
UserSearch Added POST /user_search Data N/A
Users Added GET /users Data N/A
Users Added GET /users/this Data N/A
Users Added PATCH /users/this/password Data N/A
Users Added DELETE /users/{login} Data N/A
Users Added GET /users/{login} Data N/A
Users Added PATCH /users/{login} Data N/A
Users Added PUT /users/{login} Data N/A
VariantSearch Added POST /products/{id}/variant_search Data N/A

Documents added, modified, or removed since 15.8

Document Name Change API Details
AbTest Added Data API N/A
AbTestGroup Added Data API N/A
AbTestSearchResult Added Data API N/A
AbTestSegment Added Data API N/A
AbTestSegmentStats Added Data API N/A
AbTestTrigger Added Data API N/A
AbTests Added Data API N/A
AccountTransaction Added Data API N/A
ActivityRequest Added Shop API N/A
ActivityResult Added Shop API N/A
AddressLink Removed Shop API N/A
AiProduct Added Shop API N/A
ApplicationPermissions Added Data API N/A
ApproachingDiscount Added Shop API N/A
ApproachingDiscountResult Added Shop API N/A
AuthRequest Changed Shop API More
BMPermissions Added Data API N/A
Basket Changed Shop API More
BasketReference Added Shop API N/A
BonusDiscountLineItem Added Shop API N/A
CSCPermissions Added Data API N/A
Campaign Added Data API N/A
CampaignPromotionExperience Added Data API N/A
CampaignSearchResult Added Data API N/A
CampaignSlotConfigurationExperience Added Data API N/A
CampaignSortingRuleExperience Added Data API N/A
Campaigns Added Data API N/A
CartridgePathAddRequest Added Data API N/A
CartridgePathApiResponse Added Data API N/A
CartridgePathCreateRequest Added Data API N/A
Catalog Added Data API N/A
CatalogCategoryId Added Data API N/A
CatalogSearchResult Added Data API N/A
Catalogs Added Data API N/A
Categories Added Data API N/A
Category Added Data API N/A
CategoryLink Added Data API N/A
CategoryLinks Added Data API N/A
CategoryProductAssignment Added Data API N/A
CategoryProductAssignmentSearchRequest Added Data API N/A
CategoryProductAssignmentSearchResult Added Data API N/A
CategorySearchResult Added Data API N/A
CodeVersion Added Data API N/A
CodeVersionResult Added Data API N/A
ContentAsset Changed Data API More
ContentFolder Changed Data API More
ContentFolderAssignment Changed Data API More
Coupon Changed Data API More
CouponCode Added Data API N/A
CouponCodes Added Data API N/A
CouponMultiCodesRequest Added Data API N/A
CouponRedemption Added Data API N/A
CouponRedemptionSearchResult Added Data API N/A
Coupons Added Data API N/A
Credentials Removed Shop API N/A
CustomLogSettings Added Data API N/A
Customer Changed Data API More
Customer Changed Shop API More
CustomerAddress Changed Data API More
CustomerAddress Changed Shop API More
CustomerAddressLink Added Shop API N/A
CustomerGroup Added Data API N/A
CustomerGroupMember Added Data API N/A
CustomerGroupMemberResult Added Data API N/A
CustomerGroupMemberSearchResult Added Data API N/A
CustomerGroupMembers Added Data API N/A
CustomerGroupResult Added Data API N/A
CustomerGroupSearchResult Added Data API N/A
CustomerGroups Added Data API N/A
CustomerPaymentCardRequest Changed Shop API More
CustomerPaymentInstrument Changed Shop API More
CustomerProductList Added Shop API N/A
CustomerProductListItem Added Shop API N/A
CustomerProductListItemLink Added Shop API N/A
CustomerProductListItemPurchase Added Shop API N/A
CustomerProductListItemPurchaseResult Added Shop API N/A
CustomerProductListItemResult Added Shop API N/A
CustomerProductListRegistrant Added Shop API N/A
CustomerProductListResult Added Shop API N/A
CustomerRegistration Added Shop API N/A
CustomerSearchHit Added Data API N/A
CustomerSearchHit Changed Data API More
CustomerSearchRequest Changed Data API More
CustomerSearchResult Changed Data API More
CustomerSearchResult Added Data API N/A
EcdnLogFetchRequest Added Data API N/A
EcdnLogFetchResponse Added Data API N/A
ExportDataUnitsConfiguration Added Data API N/A
ExportGlobalDataConfiguration Added Data API N/A
ExportSitesConfiguration Added Data API N/A
Fault Changed Data API More
Fault Changed Shop API More
FunctionalPermission Added Data API N/A
FunctionalPermissions Added Data API N/A
GiftCertificate Added Data API N/A
GiftCertificateSearchResult Added Data API N/A
GiftCertificates Added Data API N/A
Image Changed Shop API More
ImageGroup Added Data API N/A
ImageGroup Changed Shop API More
InventoryList Added Data API N/A
InventoryListSearchResult Added Data API N/A
InventoryLists Added Data API N/A
JobExecution Added Data API N/A
JobExecutionParameter Added Data API N/A
JobExecutionRequest Added Data API N/A
JobExecutionResult Added Data API N/A
JobExecutionSearchResult Added Data API N/A
JobStepExecution Added Data API N/A
Locale Added Data API N/A
Locale Added Shop API N/A
LocalePermission Added Data API N/A
LocalePermissions Added Data API N/A
LocaleResult Added Data API N/A
LogCategory Added Data API N/A
MarkupText Added Data API N/A
Master Added Data API N/A
MediaFile Added Data API N/A
MenuAction Added Data API N/A
MenuItem Added Data API N/A
ModulePermissions Added Data API N/A
Money Added Data API N/A
Note Changed Shop API More
ObjectAttributeDefinition Added Data API N/A
ObjectAttributeDefinitionSearchResult Added Data API N/A
ObjectAttributeDefinitions Added Data API N/A
ObjectAttributeGroup Added Data API N/A
ObjectAttributeGroupSearchResult Added Data API N/A
ObjectAttributeGroups Added Data API N/A
ObjectAttributeValueDefinition Added Data API N/A
ObjectTypeDefinition Added Data API N/A
ObjectTypeDefinitionSearchResult Added Data API N/A
ObjectTypeDefinitions Added Data API N/A
OptionItem Changed Shop API More
Order Changed Shop API More
OrderPaymentCardRequest Changed Shop API More
OrderPaymentInstrument Changed Shop API More
OrderSearchHit Changed Shop API More
OrderSearchRequest Changed Shop API More
OrderSearchResult Changed Shop API More
OrganizationPreferences Added Data API N/A
PasswordChangeRequest Added Data API N/A
PasswordChangeRequest Added Shop API N/A
PasswordReset Added Shop API N/A
PathRecord Added Data API N/A
PaymentMethod Changed Shop API More
PaymentMethodResult Changed Shop API More
PreferenceValue Added Data API N/A
PreferenceValueSearchResult Added Data API N/A
PriceAdjustment Changed Shop API More
PriceAdjustmentLimit Added Shop API N/A
PriceAdjustmentLimits Added Shop API N/A
PriceAdjustmentRequest Changed Shop API More
Product Added Data API N/A
Product Changed Shop API More
ProductInventoryRecord Added Data API N/A
ProductInventoryRecordAllocation Added Data API N/A
ProductInventoryRecords Added Data API N/A
ProductItem Changed Shop API More
ProductList Removed Shop API N/A
ProductListEvent Removed Shop API N/A
ProductListEvent Added Shop API N/A
ProductListItemLink Removed Shop API N/A
ProductListItemReference Added Shop API N/A
ProductListItemResult Removed Shop API N/A
ProductListRegistrant Added Shop API N/A
ProductListRegistrant Removed Shop API N/A
ProductListResult Removed Shop API N/A
ProductListShippingAddress Removed Shop API N/A
ProductListShippingAddress Added Shop API N/A
ProductOption Added Data API N/A
ProductOptionValue Added Data API N/A
ProductOptionValues Added Data API N/A
ProductOptions Added Data API N/A
ProductRecommendationsResult Added Shop API N/A
ProductRef Added Shop API N/A
ProductSearchHit Changed Shop API More
ProductSearchResult Added Data API N/A
ProductSearchResult Changed Shop API More
ProductSimpleLink Added Shop API N/A
ProductType Added Data API N/A
Profile Removed Shop API N/A
Promotion Added Data API N/A
PromotionABTestGroupAssignment Added Data API N/A
PromotionAssignmentInformation Added Data API N/A
PromotionCampaignAssignment Added Data API N/A
PromotionCampaignAssignmentSearchResult Added Data API N/A
PromotionLink Added Shop API N/A
PromotionSearchResult Added Data API N/A
Promotions Added Data API N/A
PublicProductList Added Shop API N/A
PublicProductListItem Added Shop API N/A
PublicProductListItemResult Added Shop API N/A
PublicProductListLink Added Shop API N/A
PublicProductListResult Added Shop API N/A
Recommender Added Data API N/A
RecommendersResult Added Data API N/A
Registration Removed Shop API N/A
Role Added Data API N/A
RoleFunctionalPermission Added Data API N/A
RoleFunctionalPermissions Added Data API N/A
RoleLocalePermission Added Data API N/A
RoleLocalePermissions Added Data API N/A
RoleModulePermission Added Data API N/A
RoleModulePermissions Added Data API N/A
RolePermissions Added Data API N/A
RoleSearchRequest Added Data API N/A
RoleSearchResult Added Data API N/A
RoleWebdavPermission Added Data API N/A
RoleWebdavPermissions Added Data API N/A
Roles Added Data API N/A
Rule Added Data API N/A
Shipment Changed Shop API More
ShippingMethod Changed Shop API More
Site Changed Data API More
Site Changed Shop API More
SiteArchiveExportConfiguration Added Data API N/A
SiteArchiveImportConfiguration Added Data API N/A
SitePreferences Added Data API N/A
SiteSearchResult Added Data API N/A
Sites Added Data API N/A
Slot Added Data API N/A
SlotConfiguration Changed Data API More
SlotConfigurationABTestGroupAssignment Added Data API N/A
SlotConfigurationAssignmentInformation Added Data API N/A
SlotConfigurationCampaignAssignment Added Data API N/A
SlotConfigurationCampaignAssignmentSearchResult Added Data API N/A
SlotConfigurations Added Data API N/A
SlotContent Changed Data API More
SlotSearchResult Added Data API N/A
Slots Added Data API N/A
SortingRule Added Data API N/A
SortingRuleSearchResult Added Data API N/A
SortingRuleStep Added Data API N/A
SourceCodeGroup Added Data API N/A
SourceCodeGroupSearchResult Added Data API N/A
SourceCodeGroups Added Data API N/A
SourceCodeRedirectInfo Added Data API N/A
SourceCodeSpecification Added Data API N/A
Status Added Data API N/A
Status Added Shop API N/A
Store Added Data API N/A
Store Changed Shop API More
StoreSearchResult Added Data API N/A
Stores Added Data API N/A
SuggestedPhrase Added Shop API N/A
SuggestedTerm Added Shop API N/A
SuggestedTerms Added Shop API N/A
Suggestion Changed Shop API More
SuggestionResult Changed Shop API More
Tag Added Data API N/A
User Added Data API N/A
UserSearchResult Added Data API N/A
Users Added Data API N/A
Variant Added Data API N/A
VariantSearchResult Added Data API N/A
Variants Added Data API N/A
VariationAttribute Added Data API N/A
VariationAttributeValue Added Data API N/A
VariationAttributeValues Added Data API N/A
VariationAttributes Added Data API N/A
VariationGroup Added Data API N/A
VariationGroups Added Data API N/A
WebdavPermission Added Data API N/A
WebdavPermissions Added Data API N/A

Details about modified resources

The following requests have been modified since 15.8.

POST /baskets

Element Change API 15.8 19.3
Description Changed Shop Creates a new basket. The created basket is initialized with default values. Data provided in the body document will be populated into the created basket. It can be updated with further Shop API calls.

Considered values from the request body are:
  • customer information: PUT /baskets/{basket_id}/customer
  • billing address: PUT /baskets/{basket_id}/billing_address
  • shipments including shipping address and shipping method: POST /baskets/{basket_id}/shipments
  • product items: POST /baskets/{basket_id}/items
  • coupon items: POST /baskets/{basket_id}/coupons
  • gift certificate items: POST /baskets/{basket_id}/gift_certificates
  • payment method and card type: POST /baskets/{basket_id}/payment_instruments
  • custom properties: PATCH /baskets/{basket_id}
Related resource means with which resource you can specify the same data after the basket creation.

Identify the basket using the basket_id property, which should be integrated into the path of an update request, for example a POST to /baskets/{basket_id}/items.

The resource supports JWT or OAuth tokens for authentication:
  • A customer must provide a JWT, which specifies exactly one customer (it may be a guest or a registered customer). In this case the resource creates a basket for this customer.
  • An agent must provide an OAuth token. The agent can use this resource to create a basket for a new created guest customer, and can later update the customer if desired.

The number of baskets which can be created per customer is limited. When a basket is created it is said to be open. It remains open until either an order is created from it using a POST to resource /baskets/{basket_id}/submit or it is deleted using a DELETE to resource /baskets/{basket_id}. The number of open baskets allowed depends on the authentication method used:
  • When using JWT each customer can have just one open basket
  • When using OAuth each customer can have up to 4 open baskets (this is a quota setting which can be updated by support)
Creates a new basket. The created basket is initialized with default values. Data provided in the body document will be populated into the created basket. It can be updated with further Shop API calls.

Considered values from the request body are:
  • customer information: PUT /baskets/{basket_id}/customer
  • billing address: PUT /baskets/{basket_id}/billing_address
  • shipments including shipping address and shipping method: POST /baskets/{basket_id}/shipments
  • product items: POST /baskets/{basket_id}/items
  • coupon items: POST /baskets/{basket_id}/coupons
  • gift certificate items: POST /baskets/{basket_id}/gift_certificates
  • payment method and card type: POST /baskets/{basket_id}/payment_instruments
  • custom properties: PATCH /baskets/{basket_id}
Related resource means with which resource you can specify the same data after the basket creation.

Identify the basket using the basket_id property, which should be integrated into the path of an update request, for example a POST to /baskets/{basket_id}/items.

The resource supports JWT or OAuth tokens for authentication:
  • A customer must provide a JWT, which specifies exactly one customer (it may be a guest or a registered customer). In this case the resource creates a basket for this customer.
  • An agent must provide an OAuth token. The agent can use this resource to create a basket for a new created guest customer, and can later update the customer if desired.

The number of baskets which can be created per customer is limited. When a basket is created it is said to be open. It remains open until either an order is created from it using a POST to resource /orders or it is deleted using a DELETE to resource /baskets/{basket_id}. The number of open baskets allowed depends on the authentication method used:
  • When using JWT each customer can have just one open basket
  • When using OAuth each customer can have up to 4 open baskets (this is a quota setting which can be updated by support)
Fault Added Shop N/A

ShipmentNotFoundException(404): Thrown if the shipment with the given shipment id is unknown.

shipmentId (String)

Fault Removed Shop

NotFoundException(404): Thrown if the shipment with the given shipment id is unknown.

N/A

DELETE /baskets/{basket_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: E-Tag to match to basket.

Constraints:

N/A

GET /baskets/{basket_id}

Element Change API 15.8 19.3
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

PATCH /baskets/{basket_id}

Element Change API 15.8 19.3
Description Changed Shop Updates a basket. Only the currency of the basket and the custom properties of the basket and of the shipping items will be considered. Updates a basket. Only the currency of the basket, source code, and the custom properties of the basket and of the shipping items will be considered.
Header Parameter Removed Shop

Name: If-Match

Type: String

Description:

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

SourceCodeNotFoundException(404): Indicates that the provided code was not found.

sourceCode (String)

Fault Added Shop N/A

UnsupportedCurrencyException(400): Indicates that the basket cannot be updated because the requested currency is not supported by the site.

currency (String)

Fault Added Shop N/A

SourceCodeInactiveException(400): Indicates that the provided code is not currently active.

sourceCode (String)

Fault Added Shop N/A

ShippingItemNotFoundException(404): Indicates that the shipping item with the given item id is unknown for the basket

shippingItemId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or the shipping item with the given item id is unknown for the basket.

N/A

PUT /baskets/{basket_id}/billing_address

Element Change API 15.8 19.3
Title Changed Shop Sets the billing address of a basket Set billing address of a basket
Description Changed Shop Sets a shipping address to a specific shipment of a basket. Sets the billing address of a basket.
Header Parameter Removed Shop

Name: If-Match

Type: String

Description:

Constraints:

N/A
Query Parameter Added Shop N/A

Name: customer_address_id

Type: String

Description: The id of the customer address to be set as billing address. Cannot be used together with an existing body.

Constraints: minLength=1

Query Parameter Changed Shop

Name: use_as_shipping

Description: The flag indicating whether the given address will also be used as shipping address.

Name: use_as_shipping

Description: The flag indicating whether the given address will also be used as shipping address for the default shipment.

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

CustomerAddressIdNotApplicableException(400): Indicates that both customer_address_id and address body was provided.

Fault Added Shop N/A

AddressNotFoundException(404): Indicates that the address specified by customer_address_id is unknown.

addressName (String)

Fault Added Shop N/A

EmptyBillingAddressException(400): Indicates that the billing address was null and no customer_address_id was provided.

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

POST /baskets/{basket_id}/coupons

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: The ETag header value contained in the server response.

Constraints:

N/A
Fault Added Shop N/A

InvalidCouponCodeException(400): Thrown if the coupon code specified is invalid.

couponCode (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

InvalidCouponItemException(400): Thrown if the coupon number specified is invalid.

couponCode (String)

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

DELETE /baskets/{basket_id}/coupons/{coupon_item_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

CouponItemNotFoundException(404): Indicates that the couponItemId URL parameter does not match any coupon item id in the basket.

couponItemId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or that the couponItemId URL parameter does not match any coupon item id in the basket.

N/A

PUT /baskets/{basket_id}/customer

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

CustomerNotFoundException(404): Indicates that the customer with the given customer number is unknown.

customerId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the customer with the given customer number is unknown or the basket with the given basket id is unknown.

N/A

POST /baskets/{basket_id}/gift_certificate_items

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

InvalidGiftCertificateItemAmountException(400): Indicates that the gift certificate item amount is negative.

giftCertificateItemAmount (Decimal)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

ShipmentNotFoundException(404): Indicates that the shipment with the given shipment id is unknown.

shipmentId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or that the shipment with the given shipment id is unknown.

N/A

POST /baskets/{basket_id}/items

Element Change API 15.8 19.3
Title Changed Shop Add item to a basket Add items to a basket
Description Changed Shop Adds a new item to a basket.

The added item is associated with the specified shipment. If no shipment id is specified, the added item is associated with the default shipment.

Considered values from the request body are:
  • product_id: a valid product id. This is the id of the product to be added to the basket.
  • shipment_id: a valid shipment id (optional). This is the id of the shipment in which the product item is created.
  • quantity: a number between 0.01 and 999. This is the quantity of the product to order.
  • inventory_id: a valid inventory id (optional). This is the id of the inventory from which the item is allocated.
  • option_items/option_value_id: a valid option value id. This is an option value for an option item of an option product.

    This is only possible if the product item is an option product. To set option values, you must specify a collection of option items in the option_items property. These option items must contain option_id and option_value_id. Also, the values you specify must be valid for the option product that this product item represents. Otherwise, the server throws an InvalidProductOptionItemException or an InvalidProductOptionValueItemException.
  • custom properties in the form c_<CUSTOM_NAME>: the custom property must correspond to a custom attribute (<CUSTOM_NAME>) defined for ProductLineItem. The value of this property must be valid for the type of custom attribute defined for ProductLineItem.
Adds new items to a basket.

The added items are associated with the specified shipment. If no shipment id is specified, the added items are associated with the default shipment.

Considered values from the request body, for each item are:
  • product_id: a valid product id. This is the id of the product to be added to the basket. If the product is already in the basket, the API either increments the quantity of the existing product line item or creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and product bundles containing variation masters, the API creates a new product line item regardless of the site preference.
  • shipment_id: a valid shipment id (optional). This is the id of the shipment in which the product item is created.
  • quantity: a number between 0.01 and 999. This is the quantity of the product to order.
  • inventory_id: a valid inventory id (optional). This is the id of the inventory from which the item is allocated.
  • bonus_discount_line_item_id: a valid bonus discount line item id (optional). This is the id of the bonus discount line item for which the added product is a selected bonus product.
  • option_items/option_value_id: a valid option value id. This is an option value for an option item of an option product.

    This is only possible if the product item is an option product. To set option values, you must specify a collection of option items in the option_items property. These option items must contain option_id and option_value_id. Also, the values you specify must be valid for the option product that this product item represents. Otherwise, the server throws an InvalidProductOptionItemException or an InvalidProductOptionValueItemException.
  • custom properties in the form c_<CUSTOM_NAME>: the custom property must correspond to a custom attribute (<CUSTOM_NAME>) defined for ProductLineItem. The value of this property must be valid for the type of custom attribute defined for ProductLineItem.
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: The ETag header value contained in the server response.

Constraints:

N/A
Fault Added Shop N/A

InvalidProductOptionItemException(400): Indicates that an option with the specified option id is unknown.

productId (String)

optionId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

ShipmentNotFoundException(404): Indicates that the basket does not contain a shipment with the given shipment id.

shipmentId (String)

Fault Added Shop N/A

BonusDiscountLineItemNotFoundException(400): Indicates that the provided bonus discount line item id is not present in the current basket.

bonusDiscountLineItemId (String)

Fault Added Shop N/A

InvalidBonusProductException(400): Indicates that the selected bonus product is not an applicable product for the bonus discount line item provided.

productId (String)

bonusDiscountLineItemId (String)

Fault Added Shop N/A

InvalidProductItemQuantityException(400): Indicates a null quantity value

Fault Added Shop N/A

BonusProductQuantityException(400): Indicates that the quantity of the product to be added will result in the number of selected bonus choice products to exceed the amount that the user is permitted to select.

bonusDiscountLineItemId (String)

Fault Added Shop N/A

InvalidProductOptionValueItemException(400): Indicates that an option with the specified option value id is unknown.

productId (String)

optionValueId (String)

optionId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or the basket does not contain shipment with the given shipment id.

N/A
Fault Removed Shop

InvalidOptionItemException(400): Indicates that an option with the given option id or option value id is not supported.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

Fault Changed Shop

BasketQuotaExceededException(400): Indicates that the maximum allowed number, of products added to the basket, has been exceeded.

BasketQuotaExceededException(400): Indicates that the maximum allowed number, of products added to the basket, has been exceeded.

Fault Changed Shop

ProductItemNotAvailableException(400): Indicates that the requested product quantity is not available.

productId (String)

quantity (Decimal)

ProductItemNotAvailableException(400): Indicates that the requested product quantity is not available.

productId (String)

quantity (Decimal)

Fault Changed Shop

InvalidProductItemException(400): Indicates that the product with the given product id is unknown, offline or not assigned to site catalog or the given product item quantity is null or invalid.

productId (String)

InvalidProductItemException(400): Indicates that the product with the given product id is unknown, offline or not assigned to site catalog or the given product item quantity is null or invalid.

productId (String)

Fault Changed Shop

InvalidProductTypeException(400): Indicates that the product cannot be added to the basket because of its type.

productId (String)

type (String)

InvalidProductTypeException(400): Indicates that the product cannot be added to the basket because of its type.

productId (String)

type (String)

Fault Changed Shop

InvalidProductIdException(400): Indicates that the given product id is null or invalid.

InvalidProductIdException(400): Indicates that the given product id is null or invalid.

DELETE /baskets/{basket_id}/items/{item_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

PATCH /baskets/{basket_id}/items/{item_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

InvalidProductOptionItemException(400): Indicates that an option with the specified option id is unknown.

optionId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown

basketId (String)

Fault Added Shop N/A

ShipmentNotFoundException(404): Indicates that a shipment with it's given id is unknown.

shipmentId (String)

Fault Added Shop N/A

InvalidProductItemQuantityException(400): Indicates a null quantity value

Fault Added Shop N/A

InvalidProductOptionValueItemException(400): Indicates that an option with the specified option value id is unknown.

optionValueId (String)

optionId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id or a shipment with the given id is unknown.

N/A
Fault Removed Shop

InvalidOptionItemException(400): Indicates that an option with the specified option id or option value id is not supported.

N/A
Fault Changed Shop

InvalidProductItemIdException(400): Indicates that the product item with given id was not found for the basket.

productItemId (String)

InvalidProductItemIdException(400): Indicates that no product item with given item id was found for the basket.

productItemId (String)

Fault Changed Shop

InvalidProductItemException(400): Indicates that the given product id in the request body is invalid.

productId (String)

InvalidProductItemException(400): Indicates that the product with the given product id in the request body is invalid.

productId (String)

GET /baskets/{basket_id}/notes

Element Change API 15.8 19.3
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

POST /baskets/{basket_id}/notes

Element Change API 15.8 19.3
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

POST /baskets/{basket_id}/payment_instruments

Element Change API 15.8 19.3
Description Changed Shop Adds a payment instrument to a basket. Adds a payment instrument to a basket.

Payment instruments are usually authorized after order creation, for example in a custom hook. The default payment authorization process executes an authorization when a payment instrument is added to an order or updated. See POST /orders/{order_no}/payment_instruments and PATCH /orders/{order_no}/payment_instruments/{payment_instrument_id}. NOTE: If CREDIT_CARD is selected as the payment_method_id, it is mandatory to provide the property card_type.

Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

PaymentInstrumentNotFoundException(404): Indicates that the payment instrument with the given customer payment instrument id is unknown.

paymentInstrumentId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or the payment instrument with the given customer payment instrument id is unknown.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

DELETE /baskets/{basket_id}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

PATCH /baskets/{basket_id}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Description Changed Shop Updates a payment instrument of a basket. Updates a payment instrument of a basket.

Payment instruments are usually authorized after order creation, for example in a custom hook. The default payment authorization process executes an authorization when a payment instrument is added to an order or updated. See POST /orders/{order_no}/payment_instruments and PATCH /orders/{order_no}/payment_instruments/{payment_instrument_id}

Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

PaymentInstrumentNotFoundException(404): Indicates that the payment instrument with the given payment instrument number is unknown.

paymentInstrumentId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or the payment instrument with the given payment instrument number is unknown.

N/A
Fault Changed Shop

PaymentInstrumentPermanentlyMaskedException(400): Indicates that the basket payment instrument with the given id already is permanently masked.

paymentInstrumentId (String)

PaymentInstrumentPermanentlyMaskedException(400): Indicates that the basket payment instrument with the given id already is permanently masked. Please see dw.order.PaymentInstrument.isPermanentlyMasked() for detailed information.

paymentInstrumentId (String)

GET /baskets/{basket_id}/payment_methods

Element Change API 15.8 19.3
Description Changed Shop Gets applicable payment methods for an existing basket. Gets applicable payment methods for an existing basket considering the open payment amount only.
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

POST /baskets/{basket_id}/price_adjustments

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

PriceAdjustmentLimitExceededException(400): Indicates that the price adjustment limit is exceeded.

priceAdjustmentLimit (Decimal)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

DELETE /baskets/{basket_id}/price_adjustments/{price_adjustment_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

POST /baskets/{basket_id}/shipments

Element Change API 15.8 19.3
Description Changed Shop Creates a new shipment for a basket.

The created shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:
  • the id
  • the shipping address
  • the shipping method
  • gift boolean flag
  • gift message
  • custom properties
Creates a new shipment for a basket.

The created shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:
  • the id
  • the shipping address
  • the shipping method
  • gift boolean flag
  • gift message
  • custom properties
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: The ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

InvalidShippingMethodIdException(400): Indicates that a shipping method with an id was specified which is not a valid shipping method id.

shippingMethodId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

InvalidShippingMethodException(400): Indicates that a shipping method with an id was specified which is not a valid shipping method id.

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token, not relevant when using OAuth.

Fault Changed Shop

DuplicateShipmentIdException(400): Indicates that a shipment with the provided id already exists for the basket.

shipmentId (String)

DuplicateShipmentIdException(400): Indicates that a shipment with the provided id already exists for the basket.

shipmentId (String)

Fault Changed Shop

DuplicateShipmentNoException(400): Indicates that a shipment with the provided shipment number already exists for the basket.

shipmentNo (String)

DuplicateShipmentNoException(400): Indicates that a shipment with the provided shipment number already exists for the basket.

shipmentNo (String)

PATCH /baskets/{basket_id}/shipments/{shipment_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description:

Constraints:

N/A
Fault Added Shop N/A

InvalidShippingMethodIdException(400): Indicates an invalid shipping method.

shippingMethodId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

MissingShippingMethodIdException(400): Indicates a missing shipping method.

shipmentId (String)

Fault Removed Shop

InvalidShippingMethodException(400): Indicates that a shipping method with an id was specified which is not a valid shipping method id.

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_address

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: The ETag header value contained in the server response.

Constraints:

N/A
Query Parameter Added Shop N/A

Name: customer_address_id

Type: String

Description: The id of the customer address to be set as shipping address. Cannot be used together with an existing body.

Constraints: minLength=1

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

CustomerAddressIdNotApplicableException(400): Indicates that both customer_address_id and address body was provided.

Fault Added Shop N/A

AddressNotFoundException(404): Indicates that the address specified by customer_address_id is unknown.

addressName (String)

Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A
Fault Changed Shop

InvalidCustomerException(400): Indicates that the customer assigned to the basket does not match the verified customer represented by the JWT token (not relevant when using OAuth).

InvalidCustomerException(400): Indicates that an customerAddressId was provided but either an anonymous or no customer was set.

PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_method

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Fault Added Shop N/A

MissingShippingMethodIdException(400): Indicates that the id of the shipping method is missing.

shipmentId (String)

Fault Added Shop N/A

InvalidShippingMethodIdException(400): Indicates that a shipping method with an id was specified which is not a valid shipping method id.

shippingMethodId (String)

Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Removed Shop

InvalidShippingMethodException(400): Indicates that a shipping method with the given shipping method id is unknown or non-applicable for that shipment.

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown.

N/A

GET /baskets/{basket_id}/shipments/{shipment_id}/shipping_methods

Element Change API 15.8 19.3
Fault Added Shop N/A

BasketNotFoundException(404): Indicates that the basket with the given basket id is unknown.

basketId (String)

Fault Added Shop N/A

ShipmentNotFoundException(404): Indicates that the shipment with the given shipment id is unknown.

shipmentId (String)

Fault Removed Shop

InvalidShipmentIdException(400): Indicates that the given shipment id is invalid.

shipmentId (String)

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the basket with the given basket id is unknown or the shipment with the given shipment id is unknown.

N/A

GET /categories/({id},...,{id})

Element Change API 15.8 19.3
Description Changed Shop When you use the URL template below, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify multiple ids (up to a maximum of 50). You must enclose the list of ids in parentheses. If a category identifier contains a parenthesis or the separator sign, you must URL encode the character. Please note, using a large value for levels parameter may cause performance issues in case of a large and deep category tree. The server only returns online categories. When you use the URL template below, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify multiple ids (up to a maximum of 50). You must enclose the list of ids in parentheses. If a category identifier contains a parenthesis or the separator sign, you must URL encode the character. The server only returns online categories.
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Query Parameter Changed Shop

Name: levels

Description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1.

Name: levels

Description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2.

GET /categories/{id}

Element Change API 15.8 19.3
Description Changed Shop When you use the URL template below, the server returns a category identified by its id; by default, the server also returns the first level of subcategories, but you can specify another level by setting the levels parameter. Please note, using a large value for levels may cause performance issues in case of a large and deep category tree. The server only returns online categories. When you use the URL template below, the server returns a category identified by its id; by default, the server also returns the first level of subcategories, but you can specify another level by setting the levels parameter. The server only returns online categories.
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Query Parameter Changed Shop

Name: levels

Description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1.

Name: levels

Description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2.

Fault Added Shop N/A

CategoryNotFoundException(404): Thrown if the server could not find an online category with the specified id.

categoryId (String)

siteId (String)

Fault Removed Shop

NotFoundException(404): Thrown if the server could not find an online category with the specified id.

N/A

GET /content/({id},...,{id})

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

GET /content/{id}

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

GET /content_search

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

GET /sites/{site_id}/coupons/{coupon_id}

Element Change API 15.8 19.3
Description Changed Data Action to get coupon information. Action to get coupon information.
The following fields are returned in the Coupon document when specifying the stats expand:
  • exported_code_count
  • redemption_count
  • total_codes_count
Query Parameter Added Data N/A

Name: expand

Type: [String]

Description: The expand parameter. A comma separated list with the allowed values (stats).

Constraints:

Fault Removed Data

SiteAccessForbiddenException(403): Thrown if the resource requires global instead of site-specific context.

siteId (String)

N/A

PATCH /sites/{site_id}/coupons/{coupon_id}

Element Change API 15.8 19.3
Description Changed Data Updates the coupon with the specified information. The request must include the If-Match header, which holds the last known base-point information. The value of this header is an "ETag" representing the coupon state. If the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) fault is returned. If the If-Match header does not match the current server coupon "ETag", a 412 (InvalidIfMatchException) fault is returned. Updates the coupon with the specified information.
Header Parameter Removed Data

Name: If-Match

Type: String

Description: Must match the last eTag.

Constraints:

N/A
Fault Added Data N/A

CouponUpdateForbiddenException(403): Thrown when trying to update a broken coupon, that should be deleted and re-created.

couponId (String)

Fault Added Data N/A

CouponLegacyUpdateForbiddenException(403): Thrown when trying to update a legacy coupon.

couponId (String)

PATCH /custom_objects/{object_type}/{key}

Element Change API 15.8 19.3
Header Parameter Removed Data

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A

GET /custom_objects/{object_type}/{key}

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

PATCH /customer_lists/{list_id}/customers/{customer_no}

Element Change API 15.8 19.3
Description Changed Data Updates the customer with the specified information. The customer number is allowed to be updated but will result in a CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing. Updates the customer with the specified information. The customer number is allowed to be updated but will result in a CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing.
Header Parameter Removed Data

Name: If-Match

Type: String

Description: The ETag header value contained in the server response

Constraints:

N/A

PATCH /customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id}

Element Change API 15.8 19.3
Header Parameter Removed Data

Name: If-Match

Type: String

Description: The ETag header value contained in the server response

Constraints:

N/A

POST /customers/auth

Element Change API 15.8 19.3
Description Changed Shop Obtains a new JWT (JSON Web Token) for a guest or registered customer. Tokens are returned as a HTTP Authorization:Bearer response header entry. These kinds of request are supported, as specified by the type:
  • Type guest - creates a new guest (non-authenticated) customer and returns a token for the customer.
  • Type credentials - authenticates credentials passed in the HTTP Authorization:Basic request header, returning a token for a successfully authenticated customer otherwise results in an AuthenticationFailedException. An optional header x-dw-guest-jwt can be provided with the guest JWT as value to allow guest-to-registered customer tracking
  • Type refresh - examines the token passed in the HTTP Authorization:Bearer request header and when valid returns a new token with an updated expiry time.
For a request of type credentials:
  • Updates profile attributes for the customer (for example, "last-visited").
  • Handles the maximum number of failed login attempts.

About JWT

The token contains 3 sections:
  • the header section (specifies token type and algorithm used)
  • the payload section (contains customer information, client id, issue and expiration time)
  • finally the signature section records the token signature.
A token is created and returned to the client whenever a registered customer logs in (type "credentials") or a guest customer requests it (type "guest"). The token is returned in the response header as

Authorization: Bearer --token--

The client has to include the token in the request header as

Authorization: Bearer --token--

in any follow up request. The server declines any follow up requests without a token or which cannot be verified based on the token signature or expiration time. A token nearing its expiration time should be exchanged for a new one (type "refresh").

See "API Usage > JWT" for more details on using JWT as an authentication mechanism.
Obtains a new JWT (JSON Web Token) for a guest or registered customer. Tokens are returned as a HTTP Authorization:Bearer response header entry. These kinds of request are supported, as specified by the type:
  • Type guest - creates a new guest (non-authenticated) customer and returns a token for the customer.
  • Type credentials - authenticates credentials passed in the HTTP Authorization:Basic request header, returning a token for a successfully authenticated customer otherwise results in an AuthenticationFailedException.
  • Type session - authenticates the customer (anonymous or registered) on base of dwsid and dwsecuretoken cookies. It returns a token for a successfully authenticated customer, otherwise results in an AuthenticationFailedException.
  • Type refresh - examines the token passed in the HTTP Authorization:Bearer request header and when valid returns a new token with an updated expiry time.
For a request of type credentials:
  • Updates profile attributes for the customer (for example, "last-visited").
  • Handles the maximum number of failed login attempts.
For a request of type session:
  • Does not touch profile attributes for the registered customer (for example, "last-visited"), since this is not a real login.
  • Returns different tokens for multiple requests with the same session id. Means, there should be only one call per session.

About JWT

The token contains 3 sections:
  • the header section (specifies token type and algorithm used)
  • the payload section (contains customer information, client id, issue and expiration time)
  • finally the signature section records the token signature.
A token is created and returned to the client whenever a registered customer logs in (type "credentials") or a guest customer requests it (type "guest"). The token is returned in the response header as

Authorization: Bearer --token--

The client has to include the token in the request header as

Authorization: Bearer --token--

in any follow up request. The server declines any follow up requests without a token or which cannot be verified based on the token signature or expiration time. A token nearing its expiration time should be exchanged for a new one (type "refresh").

See "API Usage > JWT" for more details on using JWT as an authentication mechanism.
Fault Changed Shop

AuthenticationFailedException(401): Indicates that the username is unknown or the password does not match.

credentialType (String)

AuthenticationFailedException(401): Indicates in case of type credentials the username is unknown or the password does not match. In case of type session the session is not active anymore or the dwsecuretoken value is invalid. In both cases the customer is disabled or locked.

credentialType (String)

GET /customers/{customer_id}/addresses

Element Change API 15.8 19.3
Description Changed Shop Returns a sorted pageable list of all customer addresses in the address book. The default page size is 10 customer addresses. The addresses are sorted so that the preferred address is always sorted first. The remaining addresses are sorted alphabetically by ID. Returns a sorted pageable list of all customer addresses in the address book. The default page size is 10 customer addresses. The addresses are sorted so that the preferred address is always sorted first. The remaining addresses are sorted alphabetically by ID.

When the customer cannot be found CustomerNotFoundException is thrown in a case of an agent but an empty result list is returned in a case of JWT.
Query Parameter Changed Shop

Name: start

Description: The result set index to return the first instance for. Default value is 0.

Name: start

Description: The result set index to return the first instance for. Default value is 0.

Query Parameter Changed Shop

Name: count

Description: The maximum number of instances per request. Default value is 25.

Name: count

Description: The maximum number of instances per request. Default value is 25.

Fault Changed Shop

InvalidCustomerException(400): If customerId URL parameter does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): If customerId URL parameter does not match the verified customer represented by the JWT token, not relevant when using OAuth.

GET /customers/{customer_id}/orders

Element Change API 15.8 19.3
Path Parameter Changed Shop

Name: customer_id

Description: the customer UUID

Name: customer_id

Description: the customer uuid

Query Parameter Added Shop N/A

Name: from

Type: String

Description: The from date specifying the date time range to filter orders (inclusive, null allowed, ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ).

Constraints:

Query Parameter Added Shop N/A

Name: until

Type: String

Description: The until date specifying the date time range to filter orders (inclusive, null allowed, ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ).

Constraints:

Query Parameter Added Shop N/A

Name: status

Type: String

Description: The order status of the orders to be retrieved. Status included: created, new, open, completed, cancelled, replaced, failed.

Constraints:

Fault Added Shop N/A

InvalidOrderStatusException(400): Thrown if specified status is unknown.

status (String)

GET /customers/{customer_id}/payment_instruments

Element Change API 15.8 19.3
Description Changed Shop Gets customer payment instruments for an customer.

Can be limited to a specific payment method by providing query parameter payment_method_id.
Gets customer payment instruments for an customer.

Can be limited to a specific payment method by providing query parameter payment_method_id.

When the customer cannot be found CustomerNotFoundException is thrown in a case of an agent but an empty result list is returned in a case of JWT.
Fault Added Shop N/A

CustomerNotFoundException(404): Indicates that the customer with the given customer id is unknown for the site.

customerId (String)

POST /customers/{customer_id}/payment_instruments

Element Change API 15.8 19.3
Fault Added Shop N/A

CustomerNotFoundException(404): Indicates that the customer with the given customer id is unknown for the site.

customerId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the customer with the given customer id is unknown.

N/A

DELETE /customers/{customer_id}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Fault Added Shop N/A

CustomerNotFoundException(404): Indicates that the customer with the given customer id is unknown for the site.

customerId (String)

Fault Changed Shop

InvalidCustomerException(400): Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, not relevant when using OAuth.

InvalidCustomerException(400): Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, not relevant when using OAuth.

GET /customers/{customer_id}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Path Parameter Changed Shop

Name: payment_instrument_id

Description: the id of the payment instrument to be retrieved

Name: payment_instrument_id

Description: the id of the payment instrument to be retrievedCustomer

Fault Added Shop N/A

CustomerNotFoundException(404): Indicates that the customer with the given customer id is unknown for the site.

customerId (String)

Fault Added Shop N/A

PaymentInstrumentNotFoundException(404): Indicates that the payment instrument with the given id is unknown for the customer with the given customer id.

paymentInstrumentId (String)

Fault Removed Shop

InvalidCustomerException(400): Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, not relevant when using OAuth.

N/A
Fault Removed Shop

NotFoundException(404): Indicates that the payment instrument with the given id is unknown for the customer with the given customer id.

N/A

GET /folders/({id},...,{id})

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

GET /folders/{id}

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.

POST /gift_certificate

Element Change API 15.8 19.3
Fault Added Shop N/A

GiftCertificateNotFoundException(404): Thrown if the given gift certificate code is not valid.

Fault Removed Shop

NotFoundException(404): Thrown if the given gift certificate code is not valid.

N/A

PATCH /libraries/{library_id}/content/{content_id}

Element Change API 15.8 19.3
Description Changed Data Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault. Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault.
Header Parameter Removed Data

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A

PUT /libraries/{library_id}/folder_assignments/{content_id}/{folder_id}

Element Change API 15.8 19.3
Path Parameter Changed Data

Name: library_id

Description: ID of the shared library or the site-id in case of a private library.

Name: library_id

Description: the ID of the shared library or the site-id in case of a private library

Path Parameter Changed Data

Name: content_id

Description: the ID of the content asset to retrieve.

Name: content_id

Description: the content id

Path Parameter Changed Data

Name: folder_id

Description: ID of a target folder.

Name: folder_id

Description: the folder id

PATCH /libraries/{library_id}/folders/{folder_id}

Element Change API 15.8 19.3
Header Parameter Removed Data

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A

POST /order_search

Element Change API 15.8 19.3
Description Changed Shop Searches for orders performing full text search.

The search is configured by providing a search phrase and search fields (optional). If search fields are not provided, the default ones are used (order_no). The search retrieves orders having each one word of the search phrase in any of the search fields.

Additionally the retrieved orders could be limited by "query" and "query_args" parameters.

Note that full text order search always uses Search Service and the following limitations exist:
  • wildcards are not supported, they will be filtered from the query (*, %, +) and replaces by spaces
  • LIKE and ILIKE queries will be executed as fulltext queries (working on whole words), not as substring searches
  • LIKE queries will always be case insensitive
  • using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined
  • using logical operators may result in degraded performance, depending on how they are combined
  • the search will return only the first 1000 hits from the search result
The supported search fields are:
  • affiliate_partner_i_d
  • affiliate_partner_name
  • business_type
  • channel_type
  • confirmation_status
  • created_by
  • creation_date
  • currency_code
  • customer_email
  • customer_name
  • customer_no
  • export_after
  • export_status
  • external_order_no
  • external_order_status
  • last_modified
  • order_no
  • original_order_no
  • payment_status
  • replaced_order_no
  • replacement_order_no
  • shipping_status
  • status
  • total_gross_price
  • total_net_price
  • coupon_line_items.coupon_code
  • coupon_line_items.coupon_id
  • order.has_holds
  • holds.type
  • invoices.status
  • order_items.status
  • payment_instruments.credit_card_type
  • payment_instruments.payment_method_id
  • product_items.productid
  • return_cases.return_case_number
  • shipments.shipping_method_id
  • shipping_orders.shipping_order_number
The sort order of the retrieved orders could be specified by the "sort_fields" parameter. It is a list of objects presenting field name (mandatory) and sort direction ("asc" or "desc").

Custom attributes could be used as "search_fields" and as "sort_fields" too. A prefix "c_" has to be added to them.
Searches for orders.

The query attribute specifies a complex query that can be used to narrow down the search.

Note that search fields are mandatory now and no default ones are supported.

As the old order search version, the new one always uses Search Service too and the for that reason Order Incremental Indexing should be enabled. Otherwise HTTP 500 response will occur.

The supported search fields are:
  • affiliate_partner_i_d
  • affiliate_partner_name
  • business_type
  • channel_type
  • confirmation_status (String)
  • created_by
  • creation_date
  • currency_code
  • customer_email
  • customer_name
  • customer_no
  • export_after
  • export_status (String)
  • external_order_no
  • external_order_status
  • last_modified
  • order_no
  • original_order_no
  • payment_status (String)
  • replaced_order_no
  • replacement_order_no
  • shipping_status (String)
  • status (String)
  • total_gross_price
  • total_net_price
  • order.has_holds
  • coupon_line_items.coupon_code
  • coupon_line_items.coupon_id
  • holds.type
  • invoices.status
  • order_items.status
  • payment_instruments.credit_card_type
  • payment_instruments.payment_method_id
  • product_items.product_id
  • return_cases.return_case_number
  • shipments.shipping_method_id
  • shipping_orders.shipping_order_number
The sort order of the retrieved orders could be specified by the "sorts" parameter. It is a list of objects presenting field name and sort direction ("asc" or "desc").

Custom attributes could be used as search fields and as sort fields too. A prefix "c_" has to be added to them.
Fault Removed Shop

OrderSearchIndexingDisabledException(400): Thrown when Incremental Indexing is not enabled for Order search schema.

N/A

GET /orders/{order_no}

Element Change API 15.8 19.3
Fault Added Shop N/A

OrderNotFoundException(404): Indicates that the order with the given order number is unknown.

orderNumber (String)

Fault Removed Shop

NotFoundException(404): Indicates that the order with the given order number is unknown.

N/A

GET /orders/{order_no}/notes

Element Change API 15.8 19.3
Fault Added Shop N/A

OrderNotFoundException(404): Thrown if the order with the given order number is unknown.

orderNumber (String)

Fault Removed Shop

NotFoundException(404): Thrown if the order with the given order number is unknown.

N/A

POST /orders/{order_no}/notes

Element Change API 15.8 19.3
Fault Added Shop N/A

OrderNotFoundException(404): Thrown if the order with the given order number is unknown.

orderNumber (String)

Fault Removed Shop

NotFoundException(404): Thrown if the order with the given order number is unknown.

N/A

POST /orders/{order_no}/payment_instruments

Element Change API 15.8 19.3
Description Changed Shop

Adds a payment instrument to an order. It is possible either to supply the full payment information or only a customer payment instrument id and amount. In case the customer payment instrument id was set all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. An attempt is made to authorize the order by passing it to the authorize or authorizeCreditCard hook.

Details:

  • The payment instrument is added with the provided details or the details from the customer payment instrument. The payment method must be applicable for the order see GET /baskets/{basket_id}/payment_methods, if the payment method is 'CREDIT_CARD' a payment_card must be specified in the request.
  • Order authorization:

    To authorize the order one of two possible customization hooks is called and an dw.order.OrderPaymentInstrument is passed as an input argument.

    Which hook is called?

    • If the request includes a payment_card or the dw.order.OrderPaymentInstrument contains a creditCardType the customization hook dw.order.payment.authorizeCreditCard is called. See dw.order.hooks.PaymentHooks.authorizeCreditCard(order : Order, paymentDetails : OrderPaymentInstrument, cvn : String) : Status.
    • Otherwise dw.order.payment.authorize is called. See dw.order.hooks.PaymentHooks.authorize(order : Order, paymentDetails : OrderPaymentInstrument) : Status.

    What is the dw.order.OrderPaymentInstrument input argument passed to the hook?

    • If the request contains a customer_payment_instrument_id the dw.order.OrderPaymentInstrument is copied from the customer payment instrument (An exception is thrown if none was found).
    • Otherwise the data from the request document is passed (payment_card or payment_bank_account etc. information).

    Note: the amount and the security_code (cvn) contained in the payment_card data will be propagated if available to dw.order.payment.authorizeCreditCard even if the dw.order.OrderPaymentInstrument is resolved from a customer payment instrument.

  • Customization hook dw.ocapi.shop.order.afterPostPaymentInstrument is called. The default implementation places the order if the order status is CREATED and the authorization amount equals or exceeds the order total. Placing the order (equivalent to calling dw.order.OrderMgr.placeOrder(order : Order) in the scripting API) results in the order being changed to status NEW and prepared for export.

Adds a payment instrument to an order. It is possible either to supply the full payment information or only a customer payment instrument id and amount. In case the customer payment instrument id was set all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. An attempt is made to authorize the order by passing it to the authorize or authorizeCreditCard hook.

Details:

  • The payment instrument is added with the provided details or the details from the customer payment instrument. The payment method must be applicable for the order see GET /baskets/{basket_id}/payment_methods, if the payment method is 'CREDIT_CARD' a payment_card must be specified in the request.
  • Order authorization:

    To authorize the order one of two possible customization hooks is called and an dw.order.OrderPaymentInstrument is passed as an input argument.

    Which hook is called?

    • If the request includes a payment_card or the dw.order.OrderPaymentInstrument contains a creditCardType the customization hook dw.order.payment.authorizeCreditCard is called. See dw.order.hooks.PaymentHooks.authorizeCreditCard(order : Order, paymentDetails : OrderPaymentInstrument, cvn : String) : Status.
    • Otherwise dw.order.payment.authorize is called. See dw.order.hooks.PaymentHooks.authorize(order : Order, paymentDetails : OrderPaymentInstrument) : Status.

    What is the dw.order.OrderPaymentInstrument input argument passed to the hook?

    • If the request contains a customer_payment_instrument_id the dw.order.OrderPaymentInstrument is copied from the customer payment instrument (An exception is thrown if none was found).
    • Otherwise the data from the request document is passed (payment_card or payment_bank_account etc. information).

    Note: the amount and the security_code (cvn) contained in the payment_card data will be propagated if available to dw.order.payment.authorizeCreditCard even if the dw.order.OrderPaymentInstrument is resolved from a customer payment instrument.

  • Customization hook dw.ocapi.shop.order.afterPostPaymentInstrument is called. The default implementation places the order if the order status is CREATED and the authorization amount equals or exceeds the order total. Placing the order (equivalent to calling dw.order.OrderMgr.placeOrder(order : Order) in the scripting API) results in the order being changed to status NEW and prepared for export.
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Query Parameter Added Shop N/A

Name: skip_authorization

Type: Boolean

Description:

Constraints:

Fault Added Shop N/A

OrderNotFoundException(404): Indicates that the order with the given order number is unknown.

orderNumber (String)

Fault Added Shop N/A

PaymentInstrumentNotFoundException(404): Indicates that a customer payment instrument could not be resolved based on the provided customer payment instrument id.

paymentInstrumentId (String)

Fault Removed Shop

NotFoundException(404): Indicates that the order with the given order number is unknown or payment instrument could not be resolved based on the provided customer payment instrument id.

N/A

DELETE /orders/{order_no}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A

PATCH /orders/{order_no}/payment_instruments/{payment_instrument_id}

Element Change API 15.8 19.3
Description Changed Shop

Updates a payment instrument of an order and passes the order and updated payment instrument to the correct payment authorizeCreditcard or authorize hook.

Details:

  • The payment instrument is updated with the provided details. The payment method must be applicable for the order see GET /baskets/{basket_id}/payment_methods, if the payment method is 'CREDIT_CARD' a payment_card must be specified in the request.
  • Order authorization:

    To authorize the order one of two possible customization hooks is called and an dw.order.OrderPaymentInstrument is passed as an input argument.

    Which hook is called?

    • If the request includes a payment_card or the dw.order.OrderPaymentInstrument contains a creditCardType the customization hook dw.order.payment.authorizeCreditCard is called. See dw.order.hooks.PaymentHooks.authorizeCreditCard(order : Order, paymentDetails : OrderPaymentInstrument, cvn : String) : Status.
    • Otherwise dw.order.payment.authorize is called. See dw.order.hooks.PaymentHooks.authorize(order : Order, paymentDetails : OrderPaymentInstrument) : Status.

    What is the dw.order.OrderPaymentInstrument input argument passed to the hook?

    • If the request contains a customer_payment_instrument_id the dw.order.OrderPaymentInstrument is copied from the customer payment instrument (An exception is thrown if none was found).
    • Otherwise the data from the request document is passed (payment_card or payment_bank_account etc. information).

    Note: the amount and the security_code (cvn) contained in the payment_card data will be propagated if available to dw.order.payment.authorizeCreditCard even if the dw.order.OrderPaymentInstrument is resolved from a customer payment instrument.

  • Customization hook dw.ocapi.shop.order.afterPatchPaymentInstrument is called. The default implementation places the order if the order status is CREATED and the authorization amount equals or exceeds the order total. Placing the order (equivalent to calling dw.order.OrderMgr.placeOrder(order : Order) in the scripting API) results in the order being changed to status NEW and prepared for export.

Updates a payment instrument of an order and passes the order and updated payment instrument to the correct payment authorizeCreditcard or authorize hook.

Details:

  • The payment instrument is updated with the provided details. The payment method must be applicable for the order see GET /baskets/{basket_id}/payment_methods, if the payment method is 'CREDIT_CARD' a payment_card must be specified in the request.
  • Order authorization:

    To authorize the order one of two possible customization hooks is called and an dw.order.OrderPaymentInstrument is passed as an input argument.

    Which hook is called?

    • If the request includes a payment_card or the dw.order.OrderPaymentInstrument contains a creditCardType the customization hook dw.order.payment.authorizeCreditCard is called. See dw.order.hooks.PaymentHooks.authorizeCreditCard(order : Order, paymentDetails : OrderPaymentInstrument, cvn : String) : Status.
    • Otherwise dw.order.payment.authorize is called. See dw.order.hooks.PaymentHooks.authorize(order : Order, paymentDetails : OrderPaymentInstrument) : Status.

    What is the dw.order.OrderPaymentInstrument input argument passed to the hook?

    • If the request contains a customer_payment_instrument_id the dw.order.OrderPaymentInstrument is copied from the customer payment instrument (An exception is thrown if none was found).
    • Otherwise the data from the request document is passed (payment_card or payment_bank_account etc. information).

    Note: the amount and the security_code (cvn) contained in the payment_card data will be propagated if available to dw.order.payment.authorizeCreditCard even if the dw.order.OrderPaymentInstrument is resolved from a customer payment instrument.

  • Customization hook dw.ocapi.shop.order.afterPatchPaymentInstrument is called. The default implementation places the order if the order status is CREATED and the authorization amount equals or exceeds the order total. Placing the order (equivalent to calling dw.order.OrderMgr.placeOrder(order : Order) in the scripting API) results in the order being changed to status NEW and prepared for export.
Header Parameter Removed Shop

Name: If-Match

Type: String

Description: the ETag header value contained in the server response

Constraints:

N/A
Query Parameter Added Shop N/A

Name: skip_authorization

Type: Boolean

Description:

Constraints:

GET /product_lists

Element Change API 15.8 19.3
Secure Flag Changed Shop false true
Description Changed Shop Retrieves a list of all product lists as defined by the given search term (hence email, firstname, lastname). If no search term is given all owned product lists will be retrieved. Retrieves all public product lists as defined by the given search term (email, first name, last name).
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Response Changed Shop ProductListResult PublicProductListResult
Query Parameter Changed Shop

Name: email

Description: email address of the customer, the product lists belong to

Name: email

Description: The email address of the customer, the product lists belong to.

Query Parameter Changed Shop

Name: firstname

Description: first name of the customer, the product lists belong to

Name: firstname

Description: The first name of the customer, the product lists belong to.

Query Parameter Changed Shop

Name: lastname

Description: last name of the customer, the product lists belong to

Name: lastname

Description: The last name of the customer, the product lists belong to.

Fault Removed Shop

CustomerNotAuthenticatedException(401): Indicates that the customer is not authenticated and must be logged in.

N/A
Fault Changed Shop

ProductListSearchTermException(400): Indicates that the anonymous customer did not provide a proper search term.

ProductListSearchTermException(400): Indicates that the anonymous customer did not provide a proper search term.

GET /product_lists/{list_id}

Element Change API 15.8 19.3
Secure Flag Changed Shop false true
Description Changed Shop Retrieves a product list by id. Retrieves a public product list by id.
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Response Changed Shop ProductList PublicProductList
Path Parameter Changed Shop

Name: list_id

Description: id of the list

Name: list_id

Description: The id of the list.

Query Parameter Added Shop N/A

Name: expand

Type: [String]

Description: The possible expansions - items, product, images, availability. The product information is included in the product list items that is why the product expansion has to be done together with items expansion. For images and availability both product and items have to be expanded as well.

Constraints:

Fault Removed Shop

CustomerNotAuthenticatedException(401): Indicates that the customer is not authenticated and must be logged in.

N/A
Fault Removed Shop

CustomerNotAuthorizedException(403): Indicates that the authenticated customer is not the owner of the list

N/A
Fault Changed Shop

ProductListNotFoundException(404): Indicates that this list doesn't exist

productListId (String)

ProductListNotFoundException(404): Indicates that this list doesn't exist.

productListId (String)

GET /product_lists/{list_id}/items

Element Change API 15.8 19.3
Secure Flag Changed Shop false true
Description Changed Shop Retrieves a product list's items. Retrieves the items of a public product list.
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Response Changed Shop ProductListItemResult PublicProductListItemResult
Path Parameter Changed Shop

Name: list_id

Description: id of the list

Name: list_id

Description: The id of the list.

Query Parameter Added Shop N/A

Name: expand

Type: [String]

Description: The possible expansions - product, images, availability. For images and availability the product has to be expanded as well.

Constraints:

Fault Removed Shop

CustomerNotAuthenticatedException(401): Indicates that the customer is not authenticated and must be logged in.

N/A
Fault Removed Shop

CustomerNotAuthorizedException(403): Indicates that the authenticated customer is not the owner of the list

N/A
Fault Changed Shop

ProductListNotFoundException(404): Indicates that this list doesn't exist

productListId (String)

ProductListNotFoundException(404): Indicates that this list doesn't exist.

productListId (String)

GET /product_search

Element Change API 15.8 19.3
Authentication Added Shop N/A JWT: Authentication via Customer JWT token.
Query Parameter Changed Shop

Name: refine

Description: Parameter that represents a refinement attribute/value(s) pair. Refinement attribute id and value(s) are separated by '='. Multiple values are supported by a sub-set of refinement attributes and can be provided by separating them using a pipe (URL encoded = "|"). Value ranges can be specified like this: refine=price=(100..500) Multiple refine parameters can be provided by adding an underscore in combination with an integer counter right behind the parameter name and a counter range 1..9. I.e. refine_1=c_refinementColor=red|green|blue. The following system refinement attribute ids are supported:
  • cgid: Allows to refine per single category id. Multiple category ids are not supported.
  • price: Allows to refine per single price range. Multiple price ranges are not supported.
  • pmid: Allows to refine per promotion id(s).
  • orderable_only: Unavailable products will be excluded from the search results if true is set. Multiple refinement values are not supported.

Name: refine

Description: Parameter that represents a refinement attribu