@salesforce/b2c-tooling-sdk 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/schemas/dw.schema.json +14 -0
- package/data/tooling/index.json +5 -5
- package/dist/esm/cli/base-command.js +4 -3
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/cartridge-command.js +2 -1
- package/dist/esm/cli/cartridge-command.js.map +1 -1
- package/dist/esm/cli/config.js +3 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +13 -0
- package/dist/esm/cli/hooks.js +11 -0
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/cli/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +15 -0
- package/dist/esm/clients/scapi-backend-utils.js +28 -1
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
- package/dist/esm/clients/scapi-fallback-backend.js +2 -2
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
- package/dist/esm/compat/dispatcher.js +2 -2
- package/dist/esm/compat/dispatcher.js.map +1 -1
- package/dist/esm/config/config-origins.d.ts +19 -0
- package/dist/esm/config/config-origins.js +11 -0
- package/dist/esm/config/config-origins.js.map +1 -0
- package/dist/esm/config/config-write.d.ts +86 -0
- package/dist/esm/config/config-write.js +296 -0
- package/dist/esm/config/config-write.js.map +1 -0
- package/dist/esm/config/dw-json-schema.js +4 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +2 -0
- package/dist/esm/config/dw-json.js +10 -6
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +8 -3
- package/dist/esm/config/index.js +5 -2
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/instance-manager.d.ts +64 -28
- package/dist/esm/config/instance-manager.js +145 -63
- package/dist/esm/config/instance-manager.js.map +1 -1
- package/dist/esm/config/mapping.js +6 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +54 -29
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
- package/dist/esm/config/sources/dw-json-source.js +34 -20
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +30 -3
- package/dist/esm/config/sources/env-source.js +126 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +46 -0
- package/dist/esm/operations/jobs/run-system-job.js +2 -2
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
- package/dist/esm/plugins/discovery.js +2 -1
- package/dist/esm/plugins/discovery.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +5 -2
- package/dist/esm/scapi/index.js +3 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +12 -1
- package/dist/esm/scapi/live.js +30 -2
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +17 -0
- package/dist/esm/scapi/local.js +68 -16
- package/dist/esm/scapi/local.js.map +1 -1
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +2 -1
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +5 -0
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/scapi/schema-source.d.ts +90 -0
- package/dist/esm/scapi/schema-source.js +146 -0
- package/dist/esm/scapi/schema-source.js.map +1 -0
- package/dist/esm/scapi/worker-source.js +30 -6
- package/dist/esm/scapi/worker-source.js.map +1 -1
- package/dist/esm/test-utils/config-isolation.js +9 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
- package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
- package/package.json +2 -2
- package/specs/scapi-schemas-v1.yaml +4 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Inventory Lists",
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/inventory-lists/inventory-lists-oas-v1-public.yaml)\n\n# API Overview\n\nThe Inventory Lists API provides comprehensive management capabilities for product inventory records within inventory lists. Use this API to:\n\n- Retrieve current inventory information for products.\n- Create and update inventory records with allocation and availability data.\n- Manage pre-order and backorder configurations.\n- Track stock levels, turnover, and available-to-sell (ATS) quantities.\n- Configure perpetual stock for always-available products.\n- Handle custom inventory attributes.\n\n## Authentication & Authorization\n\nFor resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request.\n\nThe API client must also have at least one of the following OAuth scopes: `sfcc.inventory-lists` scope for read-only operations and `sfcc.inventory-lists.rw` for modifications.\n\nYou must include the relevant scope(s) in the client ID used to generate the token. For a full list of permissions, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see the [Authorization for Admin APIs guide.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)\n\n## Key Concepts\n\n### Product Inventory Record\n\nA product inventory record represents the inventory information for a specific product within an inventory list. Each record contains:\n\n- Product identification: Product ID and name\n- Stock information: Current stock level, ATS quantity, turnover\n- Allocation: Quantity allocated for sale and reset date\n- Availability dates: Expected in-stock dates\n- Pre-order/backorder handling: Configuration for products not currently in stock\n- Custom attributes: Extensible with custom properties (c_* fields)\n\n### Inventory List\n\nAn inventory list is a container for product inventory records. Each inventory list is identified by a unique ID and can contain multiple product inventory records.\n\n### Available to Sell (ATS)\n\nATS represents the quantity of items available for purchase. It is calculated as:\n\n```\nATS = Allocation + PreOrderBackOrderAllocation - InventoryTurnover\n```\n\n### Stock Level\n\nStock level represents the current physical inventory. It is calculated as:\n\n```\nStock Level = Allocation - InventoryTurnover\n```\n\n### Inventory Turnover\n\nInventory turnover is the sum of all inventory transactions (both increments and decrements) recorded since the allocation reset date. This value can be negative if there are more decrements than increments.\n\n### Perpetual Stock\n\nProducts with the perpetual flag set to `true` are treated as always available, regardless of actual stock levels. This is useful for:\n\n- Digital products\n- Made-to-order items\n- Products with unlimited availability\n\n### Pre-order and Backorder Handling\n\nThis API supports three modes for handling products that are not currently in stock:\n\n- **none**: No pre-order or backorder capability\n- **preorder**: Product can be ordered before it becomes available\n- **backorder**: Product can be ordered when temporarily out of stock\n\n## Use Cases\n\n### Availability & Monitoring\n\n- Verify product stock status and calculated fields (such as ATS) before displaying items to shoppers.\n- Monitor current stock levels, allocation, and turnover history to determine replenishment needs.\n\n### Lifecycle Management\n\n- Perform the first-time setup for new products or execute a complete inventory reset/replacement.\n- Modify specific fields—such as in-stock dates, pre-order/backorder settings, or perpetual stock flags—without affecting the rest of the record.\n- Adjust specific allocation amounts dynamically as stock moves.\n- Permanently remove records for discontinued products or obsolete entries during list reorganization.\n\n## Best Practices\n\n### Inventory Updates\n\n1. Use PATCH for partial updates: When only updating specific fields, use PATCH to avoid accidentally clearing other data.\n2. Monitor concurrent updates: Handle 409 Conflict responses appropriately when multiple systems update the same record.\n3. Validate allocations: Ensure allocation amounts are non-negative.\n4. Reset dates: Update the allocation reset date when resetting inventory to accurately track turnover.\n\n### Stock Management\n\n1. Regular synchronization: Keep inventory records synchronized with your inventory management system.\n2. ATS monitoring: Monitor ATS values to ensure products don't oversell.\n3. Turnover tracking: Use turnover data to understand inventory movement patterns.\n4. Perpetual stock usage: Use perpetual stock flag only for appropriate product types.\n\n### Pre-order and Backorder\n\n1. Clear handling mode: Set appropriate pre-order/backorder handling based on product availability strategy.\n2. Allocation planning: Use preOrderBackOrderAllocation to control how many pre-orders or backorders are accepted.\n3. In-stock dates: Provide accurate in-stock dates for pre-order items to set customer expectations.\n\n### Security and Access Control\n\n1. Read vs. Write access: Use `sfcc.inventory-lists` scope for read-only operations and `sfcc.inventory-lists.rw` for modifications.\n2. Organization context: Scope all operations to an organization to ensure proper data isolation.\n3. Global scope: Perform inventory operations at the global level, not site level.\n\n## Custom Attributes\n\nThe Product Inventory Record schema supports custom attributes using the `c_*` naming convention. These attributes allow you to extend the standard inventory model with custom business logic and data.\n\n**Example custom attributes:**\n- `c_supplierCode`: Track supplier information.\n- `c_warehouseLocation`: Store warehouse location data.\n- `c_minimumOrderQuantity`: Define minimum order quantities.\n- `c_leadTime`: Track expected lead times.\n\n## Rate Limiting\n\nFor load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html)\n\n## Related APIs\n\n- Products API: Manage product catalog information.\n- Inventory Availability API: Query real-time inventory availability across locations.\n- Inventory Reservation API: Reserve inventory for orders.\n- Orders API: Process orders with inventory allocation.",
|
|
5
6
|
"version": "1.1.0",
|
|
6
7
|
"x-api-type": "Admin",
|
|
7
8
|
"x-api-family": "Product"
|
|
@@ -19,26 +20,32 @@
|
|
|
19
20
|
"paths": {
|
|
20
21
|
"/organizations/{organizationId}/inventory-lists/{inventoryListId}/product-inventory-records/{productId}": {
|
|
21
22
|
"get": {
|
|
23
|
+
"summary": "Get a product inventory record.",
|
|
24
|
+
"description": "Get a product inventory record by product ID and inventory list ID.\n\nOnly product inventory records that exist are returned. The response includes:\n- Current stock levels and availability (ATS)\n- Allocation information\n- Pre-order and backorder handling configuration\n- Custom attributes\n",
|
|
22
25
|
"operationId": "getProductInventoryRecord",
|
|
23
26
|
"parameters": [
|
|
24
27
|
{
|
|
25
28
|
"name": "organizationId",
|
|
26
29
|
"in": "path",
|
|
30
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
27
31
|
"required": true,
|
|
28
32
|
"style": "simple",
|
|
29
33
|
"explode": false,
|
|
30
34
|
"schema": {
|
|
31
35
|
"$ref": "#/components/schemas/OrganizationId"
|
|
32
|
-
}
|
|
36
|
+
},
|
|
37
|
+
"example": "f_ecom_zzxy_prd"
|
|
33
38
|
},
|
|
34
39
|
{
|
|
35
40
|
"name": "inventoryListId",
|
|
36
41
|
"in": "path",
|
|
42
|
+
"description": "The inventory list ID",
|
|
37
43
|
"required": true,
|
|
38
44
|
"style": "simple",
|
|
39
45
|
"explode": false,
|
|
40
46
|
"schema": {
|
|
41
47
|
"type": "string",
|
|
48
|
+
"example": "inventory-list-001",
|
|
42
49
|
"maxLength": 256,
|
|
43
50
|
"minLength": 1
|
|
44
51
|
}
|
|
@@ -46,6 +53,7 @@
|
|
|
46
53
|
{
|
|
47
54
|
"name": "productId",
|
|
48
55
|
"in": "path",
|
|
56
|
+
"description": "The product ID",
|
|
49
57
|
"required": true,
|
|
50
58
|
"style": "simple",
|
|
51
59
|
"explode": false,
|
|
@@ -61,6 +69,11 @@
|
|
|
61
69
|
"explode": true,
|
|
62
70
|
"schema": {
|
|
63
71
|
"$ref": "#/components/schemas/Select"
|
|
72
|
+
},
|
|
73
|
+
"examples": {
|
|
74
|
+
"select": {
|
|
75
|
+
"value": "(**)"
|
|
76
|
+
}
|
|
64
77
|
}
|
|
65
78
|
}
|
|
66
79
|
],
|
|
@@ -71,6 +84,14 @@
|
|
|
71
84
|
"application/json": {
|
|
72
85
|
"schema": {
|
|
73
86
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
87
|
+
},
|
|
88
|
+
"examples": {
|
|
89
|
+
"ProductInventoryRecordResponse": {
|
|
90
|
+
"$ref": "#/components/examples/ProductInventoryRecordResponse"
|
|
91
|
+
},
|
|
92
|
+
"ProductInventoryRecordPerpetual": {
|
|
93
|
+
"$ref": "#/components/examples/ProductInventoryRecordPerpetual"
|
|
94
|
+
}
|
|
74
95
|
}
|
|
75
96
|
}
|
|
76
97
|
}
|
|
@@ -87,6 +108,14 @@
|
|
|
87
108
|
"application/problem+json": {
|
|
88
109
|
"schema": {
|
|
89
110
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
111
|
+
},
|
|
112
|
+
"examples": {
|
|
113
|
+
"ProductInventoryRecordNotFound": {
|
|
114
|
+
"$ref": "#/components/examples/ProductInventoryRecordNotFound"
|
|
115
|
+
},
|
|
116
|
+
"InventoryListNotFound": {
|
|
117
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
118
|
+
}
|
|
90
119
|
}
|
|
91
120
|
}
|
|
92
121
|
}
|
|
@@ -102,26 +131,32 @@
|
|
|
102
131
|
]
|
|
103
132
|
},
|
|
104
133
|
"put": {
|
|
134
|
+
"summary": "Create or replace a product inventory record.",
|
|
135
|
+
"description": "Create a new product inventory record or replace an existing one using the information provided.\n\nWhen replacing an existing record, the record is replaced with the information provided in the request.\n\nThe `preOrderBackOrderHandling` parameter defaults to \"none\" if not specified.\n",
|
|
105
136
|
"operationId": "createOrUpdateProductInventoryRecord",
|
|
106
137
|
"parameters": [
|
|
107
138
|
{
|
|
108
139
|
"name": "organizationId",
|
|
109
140
|
"in": "path",
|
|
141
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
110
142
|
"required": true,
|
|
111
143
|
"style": "simple",
|
|
112
144
|
"explode": false,
|
|
113
145
|
"schema": {
|
|
114
146
|
"$ref": "#/components/schemas/OrganizationId"
|
|
115
|
-
}
|
|
147
|
+
},
|
|
148
|
+
"example": "f_ecom_zzxy_prd"
|
|
116
149
|
},
|
|
117
150
|
{
|
|
118
151
|
"name": "inventoryListId",
|
|
119
152
|
"in": "path",
|
|
153
|
+
"description": "The inventory list ID",
|
|
120
154
|
"required": true,
|
|
121
155
|
"style": "simple",
|
|
122
156
|
"explode": false,
|
|
123
157
|
"schema": {
|
|
124
158
|
"type": "string",
|
|
159
|
+
"example": "inventory-list-001",
|
|
125
160
|
"maxLength": 256,
|
|
126
161
|
"minLength": 1
|
|
127
162
|
}
|
|
@@ -129,6 +164,7 @@
|
|
|
129
164
|
{
|
|
130
165
|
"name": "productId",
|
|
131
166
|
"in": "path",
|
|
167
|
+
"description": "The product ID",
|
|
132
168
|
"required": true,
|
|
133
169
|
"style": "simple",
|
|
134
170
|
"explode": false,
|
|
@@ -138,10 +174,19 @@
|
|
|
138
174
|
}
|
|
139
175
|
],
|
|
140
176
|
"requestBody": {
|
|
177
|
+
"description": "The product inventory record",
|
|
141
178
|
"content": {
|
|
142
179
|
"application/json": {
|
|
143
180
|
"schema": {
|
|
144
181
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
182
|
+
},
|
|
183
|
+
"examples": {
|
|
184
|
+
"CreateProductInventoryRecordRequest": {
|
|
185
|
+
"$ref": "#/components/examples/CreateProductInventoryRecordRequest"
|
|
186
|
+
},
|
|
187
|
+
"EnablePerpetualStock": {
|
|
188
|
+
"$ref": "#/components/examples/EnablePerpetualStock"
|
|
189
|
+
}
|
|
145
190
|
}
|
|
146
191
|
}
|
|
147
192
|
},
|
|
@@ -154,6 +199,11 @@
|
|
|
154
199
|
"application/json": {
|
|
155
200
|
"schema": {
|
|
156
201
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
202
|
+
},
|
|
203
|
+
"examples": {
|
|
204
|
+
"ProductInventoryRecordUpdated": {
|
|
205
|
+
"$ref": "#/components/examples/ProductInventoryRecordUpdated"
|
|
206
|
+
}
|
|
157
207
|
}
|
|
158
208
|
}
|
|
159
209
|
}
|
|
@@ -164,6 +214,11 @@
|
|
|
164
214
|
"application/json": {
|
|
165
215
|
"schema": {
|
|
166
216
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
217
|
+
},
|
|
218
|
+
"examples": {
|
|
219
|
+
"ProductInventoryRecordCreated": {
|
|
220
|
+
"$ref": "#/components/examples/ProductInventoryRecordCreated"
|
|
221
|
+
}
|
|
167
222
|
}
|
|
168
223
|
}
|
|
169
224
|
}
|
|
@@ -180,6 +235,11 @@
|
|
|
180
235
|
"application/problem+json": {
|
|
181
236
|
"schema": {
|
|
182
237
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
238
|
+
},
|
|
239
|
+
"examples": {
|
|
240
|
+
"InventoryListNotFound": {
|
|
241
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
242
|
+
}
|
|
183
243
|
}
|
|
184
244
|
}
|
|
185
245
|
}
|
|
@@ -194,26 +254,32 @@
|
|
|
194
254
|
]
|
|
195
255
|
},
|
|
196
256
|
"delete": {
|
|
257
|
+
"summary": "Delete a product inventory record.",
|
|
258
|
+
"description": "Delete a product inventory record by product ID and inventory list ID.\n\nThis operation permanently removes the inventory record. Once deleted, the record cannot be recovered\nunless recreated using the PUT operation.\n",
|
|
197
259
|
"operationId": "deleteProductInventoryRecord",
|
|
198
260
|
"parameters": [
|
|
199
261
|
{
|
|
200
262
|
"name": "organizationId",
|
|
201
263
|
"in": "path",
|
|
264
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
202
265
|
"required": true,
|
|
203
266
|
"style": "simple",
|
|
204
267
|
"explode": false,
|
|
205
268
|
"schema": {
|
|
206
269
|
"$ref": "#/components/schemas/OrganizationId"
|
|
207
|
-
}
|
|
270
|
+
},
|
|
271
|
+
"example": "f_ecom_zzxy_prd"
|
|
208
272
|
},
|
|
209
273
|
{
|
|
210
274
|
"name": "inventoryListId",
|
|
211
275
|
"in": "path",
|
|
276
|
+
"description": "The inventory list ID",
|
|
212
277
|
"required": true,
|
|
213
278
|
"style": "simple",
|
|
214
279
|
"explode": false,
|
|
215
280
|
"schema": {
|
|
216
281
|
"type": "string",
|
|
282
|
+
"example": "inventory-list-001",
|
|
217
283
|
"maxLength": 256,
|
|
218
284
|
"minLength": 1
|
|
219
285
|
}
|
|
@@ -221,6 +287,7 @@
|
|
|
221
287
|
{
|
|
222
288
|
"name": "productId",
|
|
223
289
|
"in": "path",
|
|
290
|
+
"description": "The product ID",
|
|
224
291
|
"required": true,
|
|
225
292
|
"style": "simple",
|
|
226
293
|
"explode": false,
|
|
@@ -245,6 +312,14 @@
|
|
|
245
312
|
"application/problem+json": {
|
|
246
313
|
"schema": {
|
|
247
314
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
315
|
+
},
|
|
316
|
+
"examples": {
|
|
317
|
+
"ProductInventoryRecordNotFound": {
|
|
318
|
+
"$ref": "#/components/examples/ProductInventoryRecordNotFound"
|
|
319
|
+
},
|
|
320
|
+
"InventoryListNotFound": {
|
|
321
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
322
|
+
}
|
|
248
323
|
}
|
|
249
324
|
}
|
|
250
325
|
}
|
|
@@ -259,26 +334,32 @@
|
|
|
259
334
|
]
|
|
260
335
|
},
|
|
261
336
|
"patch": {
|
|
337
|
+
"summary": "Update a product inventory record.",
|
|
338
|
+
"description": "Update the product inventory record with the specified information.\n\nOnly the fields provided in the request body are updated. All other fields are unchanged.\nThis is useful for partial updates such as adjusting allocation or changing pre-order/backorder handling.\n",
|
|
262
339
|
"operationId": "updateProductInventoryRecord",
|
|
263
340
|
"parameters": [
|
|
264
341
|
{
|
|
265
342
|
"name": "organizationId",
|
|
266
343
|
"in": "path",
|
|
344
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
267
345
|
"required": true,
|
|
268
346
|
"style": "simple",
|
|
269
347
|
"explode": false,
|
|
270
348
|
"schema": {
|
|
271
349
|
"$ref": "#/components/schemas/OrganizationId"
|
|
272
|
-
}
|
|
350
|
+
},
|
|
351
|
+
"example": "f_ecom_zzxy_prd"
|
|
273
352
|
},
|
|
274
353
|
{
|
|
275
354
|
"name": "inventoryListId",
|
|
276
355
|
"in": "path",
|
|
356
|
+
"description": "The inventory list ID",
|
|
277
357
|
"required": true,
|
|
278
358
|
"style": "simple",
|
|
279
359
|
"explode": false,
|
|
280
360
|
"schema": {
|
|
281
361
|
"type": "string",
|
|
362
|
+
"example": "inventory-list-001",
|
|
282
363
|
"maxLength": 256,
|
|
283
364
|
"minLength": 1
|
|
284
365
|
}
|
|
@@ -286,6 +367,7 @@
|
|
|
286
367
|
{
|
|
287
368
|
"name": "productId",
|
|
288
369
|
"in": "path",
|
|
370
|
+
"description": "The product ID",
|
|
289
371
|
"required": true,
|
|
290
372
|
"style": "simple",
|
|
291
373
|
"explode": false,
|
|
@@ -295,10 +377,19 @@
|
|
|
295
377
|
}
|
|
296
378
|
],
|
|
297
379
|
"requestBody": {
|
|
380
|
+
"description": "The product inventory record to be updated and the fields to update",
|
|
298
381
|
"content": {
|
|
299
382
|
"application/json": {
|
|
300
383
|
"schema": {
|
|
301
384
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
385
|
+
},
|
|
386
|
+
"examples": {
|
|
387
|
+
"UpdateProductInventoryRecordRequest": {
|
|
388
|
+
"$ref": "#/components/examples/UpdateProductInventoryRecordRequest"
|
|
389
|
+
},
|
|
390
|
+
"UpdateAllocationOnly": {
|
|
391
|
+
"$ref": "#/components/examples/UpdateAllocationOnly"
|
|
392
|
+
}
|
|
302
393
|
}
|
|
303
394
|
}
|
|
304
395
|
},
|
|
@@ -311,6 +402,11 @@
|
|
|
311
402
|
"application/json": {
|
|
312
403
|
"schema": {
|
|
313
404
|
"$ref": "#/components/schemas/ProductInventoryRecord"
|
|
405
|
+
},
|
|
406
|
+
"examples": {
|
|
407
|
+
"ProductInventoryRecordUpdated": {
|
|
408
|
+
"$ref": "#/components/examples/ProductInventoryRecordUpdated"
|
|
409
|
+
}
|
|
314
410
|
}
|
|
315
411
|
}
|
|
316
412
|
}
|
|
@@ -327,6 +423,14 @@
|
|
|
327
423
|
"application/problem+json": {
|
|
328
424
|
"schema": {
|
|
329
425
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
426
|
+
},
|
|
427
|
+
"examples": {
|
|
428
|
+
"ProductInventoryRecordNotFound": {
|
|
429
|
+
"$ref": "#/components/examples/ProductInventoryRecordNotFound"
|
|
430
|
+
},
|
|
431
|
+
"InventoryListNotFound": {
|
|
432
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
433
|
+
}
|
|
330
434
|
}
|
|
331
435
|
}
|
|
332
436
|
}
|
|
@@ -343,26 +447,32 @@
|
|
|
343
447
|
},
|
|
344
448
|
"/organizations/{organizationId}/inventory-lists/{inventoryListId}": {
|
|
345
449
|
"get": {
|
|
450
|
+
"summary": "Get an inventory list.",
|
|
451
|
+
"description": "Get an inventory list by ID.\n\nReturns the inventory list configuration including:\n- Description\n- Default in-stock behavior\n- Bundle inventory settings\n- On-order inventory settings\n- Creation and last modified dates\n- Assigned sites (computed)\n",
|
|
346
452
|
"operationId": "getInventoryList",
|
|
347
453
|
"parameters": [
|
|
348
454
|
{
|
|
349
455
|
"name": "organizationId",
|
|
350
456
|
"in": "path",
|
|
457
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
351
458
|
"required": true,
|
|
352
459
|
"style": "simple",
|
|
353
460
|
"explode": false,
|
|
354
461
|
"schema": {
|
|
355
462
|
"$ref": "#/components/schemas/OrganizationId"
|
|
356
|
-
}
|
|
463
|
+
},
|
|
464
|
+
"example": "f_ecom_zzxy_prd"
|
|
357
465
|
},
|
|
358
466
|
{
|
|
359
467
|
"name": "inventoryListId",
|
|
360
468
|
"in": "path",
|
|
469
|
+
"description": "The inventory list ID",
|
|
361
470
|
"required": true,
|
|
362
471
|
"style": "simple",
|
|
363
472
|
"explode": false,
|
|
364
473
|
"schema": {
|
|
365
474
|
"type": "string",
|
|
475
|
+
"example": "inventory-list-001",
|
|
366
476
|
"maxLength": 256,
|
|
367
477
|
"minLength": 1
|
|
368
478
|
}
|
|
@@ -375,6 +485,11 @@
|
|
|
375
485
|
"explode": true,
|
|
376
486
|
"schema": {
|
|
377
487
|
"$ref": "#/components/schemas/Select"
|
|
488
|
+
},
|
|
489
|
+
"examples": {
|
|
490
|
+
"select": {
|
|
491
|
+
"value": "(**)"
|
|
492
|
+
}
|
|
378
493
|
}
|
|
379
494
|
}
|
|
380
495
|
],
|
|
@@ -385,6 +500,11 @@
|
|
|
385
500
|
"application/json": {
|
|
386
501
|
"schema": {
|
|
387
502
|
"$ref": "#/components/schemas/InventoryList"
|
|
503
|
+
},
|
|
504
|
+
"examples": {
|
|
505
|
+
"InventoryListResponse": {
|
|
506
|
+
"$ref": "#/components/examples/InventoryListResponse"
|
|
507
|
+
}
|
|
388
508
|
}
|
|
389
509
|
}
|
|
390
510
|
}
|
|
@@ -401,6 +521,11 @@
|
|
|
401
521
|
"application/problem+json": {
|
|
402
522
|
"schema": {
|
|
403
523
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
524
|
+
},
|
|
525
|
+
"examples": {
|
|
526
|
+
"InventoryListNotFound": {
|
|
527
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
528
|
+
}
|
|
404
529
|
}
|
|
405
530
|
}
|
|
406
531
|
}
|
|
@@ -416,36 +541,48 @@
|
|
|
416
541
|
]
|
|
417
542
|
},
|
|
418
543
|
"put": {
|
|
544
|
+
"summary": "Create or replace an inventory list.",
|
|
545
|
+
"description": "Create a new inventory list or replace an existing one using the information provided.\n\nWhen replacing an existing list, the list is replaced with the information provided in the request.\n",
|
|
419
546
|
"operationId": "createOrUpdateInventoryList",
|
|
420
547
|
"parameters": [
|
|
421
548
|
{
|
|
422
549
|
"name": "organizationId",
|
|
423
550
|
"in": "path",
|
|
551
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
424
552
|
"required": true,
|
|
425
553
|
"style": "simple",
|
|
426
554
|
"explode": false,
|
|
427
555
|
"schema": {
|
|
428
556
|
"$ref": "#/components/schemas/OrganizationId"
|
|
429
|
-
}
|
|
557
|
+
},
|
|
558
|
+
"example": "f_ecom_zzxy_prd"
|
|
430
559
|
},
|
|
431
560
|
{
|
|
432
561
|
"name": "inventoryListId",
|
|
433
562
|
"in": "path",
|
|
563
|
+
"description": "The inventory list ID",
|
|
434
564
|
"required": true,
|
|
435
565
|
"style": "simple",
|
|
436
566
|
"explode": false,
|
|
437
567
|
"schema": {
|
|
438
568
|
"type": "string",
|
|
569
|
+
"example": "inventory-list-001",
|
|
439
570
|
"maxLength": 256,
|
|
440
571
|
"minLength": 1
|
|
441
572
|
}
|
|
442
573
|
}
|
|
443
574
|
],
|
|
444
575
|
"requestBody": {
|
|
576
|
+
"description": "The inventory list",
|
|
445
577
|
"content": {
|
|
446
578
|
"application/json": {
|
|
447
579
|
"schema": {
|
|
448
580
|
"$ref": "#/components/schemas/InventoryList"
|
|
581
|
+
},
|
|
582
|
+
"examples": {
|
|
583
|
+
"CreateInventoryListRequest": {
|
|
584
|
+
"$ref": "#/components/examples/CreateInventoryListRequest"
|
|
585
|
+
}
|
|
449
586
|
}
|
|
450
587
|
}
|
|
451
588
|
},
|
|
@@ -458,6 +595,11 @@
|
|
|
458
595
|
"application/json": {
|
|
459
596
|
"schema": {
|
|
460
597
|
"$ref": "#/components/schemas/InventoryList"
|
|
598
|
+
},
|
|
599
|
+
"examples": {
|
|
600
|
+
"InventoryListUpdated": {
|
|
601
|
+
"$ref": "#/components/examples/InventoryListUpdated"
|
|
602
|
+
}
|
|
461
603
|
}
|
|
462
604
|
}
|
|
463
605
|
}
|
|
@@ -468,6 +610,11 @@
|
|
|
468
610
|
"application/json": {
|
|
469
611
|
"schema": {
|
|
470
612
|
"$ref": "#/components/schemas/InventoryList"
|
|
613
|
+
},
|
|
614
|
+
"examples": {
|
|
615
|
+
"InventoryListCreated": {
|
|
616
|
+
"$ref": "#/components/examples/InventoryListCreated"
|
|
617
|
+
}
|
|
471
618
|
}
|
|
472
619
|
}
|
|
473
620
|
}
|
|
@@ -488,26 +635,32 @@
|
|
|
488
635
|
]
|
|
489
636
|
},
|
|
490
637
|
"delete": {
|
|
638
|
+
"summary": "Delete an inventory list.",
|
|
639
|
+
"description": "Delete an inventory list by ID.\n\nThis operation permanently removes the inventory list. Once deleted, the list cannot be recovered\nunless recreated using the PUT operation.\n",
|
|
491
640
|
"operationId": "deleteInventoryList",
|
|
492
641
|
"parameters": [
|
|
493
642
|
{
|
|
494
643
|
"name": "organizationId",
|
|
495
644
|
"in": "path",
|
|
645
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
496
646
|
"required": true,
|
|
497
647
|
"style": "simple",
|
|
498
648
|
"explode": false,
|
|
499
649
|
"schema": {
|
|
500
650
|
"$ref": "#/components/schemas/OrganizationId"
|
|
501
|
-
}
|
|
651
|
+
},
|
|
652
|
+
"example": "f_ecom_zzxy_prd"
|
|
502
653
|
},
|
|
503
654
|
{
|
|
504
655
|
"name": "inventoryListId",
|
|
505
656
|
"in": "path",
|
|
657
|
+
"description": "The inventory list ID",
|
|
506
658
|
"required": true,
|
|
507
659
|
"style": "simple",
|
|
508
660
|
"explode": false,
|
|
509
661
|
"schema": {
|
|
510
662
|
"type": "string",
|
|
663
|
+
"example": "inventory-list-001",
|
|
511
664
|
"maxLength": 256,
|
|
512
665
|
"minLength": 1
|
|
513
666
|
}
|
|
@@ -529,6 +682,11 @@
|
|
|
529
682
|
"application/problem+json": {
|
|
530
683
|
"schema": {
|
|
531
684
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
685
|
+
},
|
|
686
|
+
"examples": {
|
|
687
|
+
"InventoryListNotFound": {
|
|
688
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
689
|
+
}
|
|
532
690
|
}
|
|
533
691
|
}
|
|
534
692
|
}
|
|
@@ -543,36 +701,48 @@
|
|
|
543
701
|
]
|
|
544
702
|
},
|
|
545
703
|
"patch": {
|
|
704
|
+
"summary": "Update an inventory list.",
|
|
705
|
+
"description": "Update the inventory list with the specified information.\n\nOnly the fields provided in the request body are updated. All other fields are unchanged.\nThis is useful for partial updates such as changing default in-stock behavior or enabling on-order inventory.\n",
|
|
546
706
|
"operationId": "updateInventoryList",
|
|
547
707
|
"parameters": [
|
|
548
708
|
{
|
|
549
709
|
"name": "organizationId",
|
|
550
710
|
"in": "path",
|
|
711
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
551
712
|
"required": true,
|
|
552
713
|
"style": "simple",
|
|
553
714
|
"explode": false,
|
|
554
715
|
"schema": {
|
|
555
716
|
"$ref": "#/components/schemas/OrganizationId"
|
|
556
|
-
}
|
|
717
|
+
},
|
|
718
|
+
"example": "f_ecom_zzxy_prd"
|
|
557
719
|
},
|
|
558
720
|
{
|
|
559
721
|
"name": "inventoryListId",
|
|
560
722
|
"in": "path",
|
|
723
|
+
"description": "The inventory list ID",
|
|
561
724
|
"required": true,
|
|
562
725
|
"style": "simple",
|
|
563
726
|
"explode": false,
|
|
564
727
|
"schema": {
|
|
565
728
|
"type": "string",
|
|
729
|
+
"example": "inventory-list-001",
|
|
566
730
|
"maxLength": 256,
|
|
567
731
|
"minLength": 1
|
|
568
732
|
}
|
|
569
733
|
}
|
|
570
734
|
],
|
|
571
735
|
"requestBody": {
|
|
736
|
+
"description": "The inventory list fields to update",
|
|
572
737
|
"content": {
|
|
573
738
|
"application/json": {
|
|
574
739
|
"schema": {
|
|
575
740
|
"$ref": "#/components/schemas/InventoryList"
|
|
741
|
+
},
|
|
742
|
+
"examples": {
|
|
743
|
+
"UpdateInventoryListRequest": {
|
|
744
|
+
"$ref": "#/components/examples/UpdateInventoryListRequest"
|
|
745
|
+
}
|
|
576
746
|
}
|
|
577
747
|
}
|
|
578
748
|
},
|
|
@@ -585,6 +755,11 @@
|
|
|
585
755
|
"application/json": {
|
|
586
756
|
"schema": {
|
|
587
757
|
"$ref": "#/components/schemas/InventoryList"
|
|
758
|
+
},
|
|
759
|
+
"examples": {
|
|
760
|
+
"InventoryListUpdated": {
|
|
761
|
+
"$ref": "#/components/examples/InventoryListUpdated"
|
|
762
|
+
}
|
|
588
763
|
}
|
|
589
764
|
}
|
|
590
765
|
}
|
|
@@ -601,6 +776,11 @@
|
|
|
601
776
|
"application/problem+json": {
|
|
602
777
|
"schema": {
|
|
603
778
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
779
|
+
},
|
|
780
|
+
"examples": {
|
|
781
|
+
"InventoryListNotFound": {
|
|
782
|
+
"$ref": "#/components/examples/InventoryListNotFound"
|
|
783
|
+
}
|
|
604
784
|
}
|
|
605
785
|
}
|
|
606
786
|
}
|
|
@@ -620,83 +800,117 @@
|
|
|
620
800
|
"schemas": {
|
|
621
801
|
"OrganizationId": {
|
|
622
802
|
"type": "string",
|
|
803
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
804
|
+
"example": "f_ecom_zzxy_prd",
|
|
623
805
|
"pattern": "^f_ecom_[a-z]{4}_(prd|stg|dev|s[0-9]{2}|[0-9]{3})$"
|
|
624
806
|
},
|
|
625
807
|
"ProductId": {
|
|
626
808
|
"type": "string",
|
|
809
|
+
"description": "The id (SKU) of the product.",
|
|
810
|
+
"example": "apple-ipod-classic",
|
|
627
811
|
"maxLength": 100,
|
|
628
812
|
"minLength": 1
|
|
629
813
|
},
|
|
630
814
|
"Select": {
|
|
631
815
|
"type": "string",
|
|
816
|
+
"description": "The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. For more information, please read the documentation about property selectors [here](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html).",
|
|
817
|
+
"example": "(name,id,variationAttributes.(**))",
|
|
632
818
|
"minLength": 1,
|
|
633
819
|
"pattern": "^[(].*[)]$"
|
|
634
820
|
},
|
|
635
821
|
"ProductInventoryRecordAllocation": {
|
|
636
822
|
"type": "object",
|
|
823
|
+
"description": "Product inventory record allocation",
|
|
637
824
|
"properties": {
|
|
638
825
|
"amount": {
|
|
639
826
|
"type": "number",
|
|
640
827
|
"format": "double",
|
|
828
|
+
"description": "The allocation quantity that is currently set. The quantity unit matches the product unit.",
|
|
829
|
+
"example": 100,
|
|
641
830
|
"minimum": 0
|
|
642
831
|
},
|
|
643
832
|
"resetDate": {
|
|
644
833
|
"type": "string",
|
|
645
|
-
"format": "date-time"
|
|
834
|
+
"format": "date-time",
|
|
835
|
+
"description": "The date the allocation quantity was initialized or reset.",
|
|
836
|
+
"example": "2024-01-15T10:00:00Z"
|
|
646
837
|
}
|
|
647
838
|
}
|
|
648
839
|
},
|
|
649
840
|
"PreorderBackorderHandling": {
|
|
650
841
|
"type": "string",
|
|
842
|
+
"description": "The enum holding the records' configuration before backorder handling. Possible values are:\n- `none` - No pre-order or backorder handling\n- `preorder` - Product available for pre-order\n- `backorder` - Product available for backorder\n",
|
|
651
843
|
"enum": [
|
|
652
844
|
"none",
|
|
653
845
|
"preorder",
|
|
654
846
|
"backorder"
|
|
655
|
-
]
|
|
847
|
+
],
|
|
848
|
+
"example": "none"
|
|
656
849
|
},
|
|
657
850
|
"ProductInventoryRecord": {
|
|
658
851
|
"type": "object",
|
|
659
|
-
"additionalProperties": {
|
|
852
|
+
"additionalProperties": {
|
|
853
|
+
"description": "This type supports additional properties passed along with the defined properties of this API.\nTo indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`.\nThe type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix.",
|
|
854
|
+
"example": "c_trackingId",
|
|
855
|
+
"title": "Additional Property Support"
|
|
856
|
+
},
|
|
857
|
+
"description": "Product inventory record",
|
|
660
858
|
"properties": {
|
|
661
859
|
"productId": {
|
|
662
860
|
"$ref": "#/components/schemas/ProductId"
|
|
663
861
|
},
|
|
664
862
|
"productName": {
|
|
665
863
|
"type": "string",
|
|
864
|
+
"description": "The name of the product",
|
|
865
|
+
"example": "Sample Product",
|
|
666
866
|
"maxLength": 256
|
|
667
867
|
},
|
|
668
868
|
"inventoryListId": {
|
|
669
869
|
"type": "string",
|
|
870
|
+
"description": "The user-supplied ID of the inventory list.",
|
|
871
|
+
"example": "inventory-list-001",
|
|
670
872
|
"maxLength": 256
|
|
671
873
|
},
|
|
672
874
|
"perpetualFlag": {
|
|
673
|
-
"type": "boolean"
|
|
875
|
+
"type": "boolean",
|
|
876
|
+
"description": "The flag that determines if the product is perpetually in stock.",
|
|
877
|
+
"example": false
|
|
674
878
|
},
|
|
675
879
|
"allocation": {
|
|
676
880
|
"$ref": "#/components/schemas/ProductInventoryRecordAllocation"
|
|
677
881
|
},
|
|
678
882
|
"inStockDate": {
|
|
679
883
|
"type": "string",
|
|
680
|
-
"format": "date-time"
|
|
884
|
+
"format": "date-time",
|
|
885
|
+
"description": "The date that the item is expected to be in stock.",
|
|
886
|
+
"example": "2024-02-01T00:00:00Z"
|
|
681
887
|
},
|
|
682
888
|
"ats": {
|
|
683
889
|
"type": "number",
|
|
684
890
|
"format": "double",
|
|
891
|
+
"description": "The quantity of items available to sell (ATS). This is calculated as the allocation plus the preorderBackorderAllocation minus the turnover.",
|
|
892
|
+
"example": 95,
|
|
685
893
|
"readOnly": true
|
|
686
894
|
},
|
|
687
895
|
"stockLevel": {
|
|
688
896
|
"type": "number",
|
|
689
897
|
"format": "double",
|
|
898
|
+
"description": "The current stock level. This is calculated as the allocation minus the turnover.",
|
|
899
|
+
"example": 95,
|
|
690
900
|
"readOnly": true
|
|
691
901
|
},
|
|
692
902
|
"quantityOnOrder": {
|
|
693
903
|
"type": "number",
|
|
694
904
|
"format": "double",
|
|
905
|
+
"description": "The on order quantity, which is the quantity of all transactions for this record since the allocation reset date.",
|
|
906
|
+
"example": 5,
|
|
695
907
|
"readOnly": true
|
|
696
908
|
},
|
|
697
909
|
"inventoryTurnover": {
|
|
698
910
|
"type": "number",
|
|
699
911
|
"format": "double",
|
|
912
|
+
"description": "The sum of all inventory transactions (decrements and increments) that have been recorded subsequent to the allocation reset date. The value can be negative in the case of a higher quantity of inventory decrements than increments.",
|
|
913
|
+
"example": 5,
|
|
700
914
|
"readOnly": true
|
|
701
915
|
},
|
|
702
916
|
"preOrderBackOrderHandling": {
|
|
@@ -704,7 +918,9 @@
|
|
|
704
918
|
},
|
|
705
919
|
"preOrderBackOrderAllocation": {
|
|
706
920
|
"type": "number",
|
|
707
|
-
"format": "double"
|
|
921
|
+
"format": "double",
|
|
922
|
+
"description": "The quantity of items that are allocated for sale, beyond the initial stock allocation.",
|
|
923
|
+
"example": 0
|
|
708
924
|
}
|
|
709
925
|
},
|
|
710
926
|
"required": [
|
|
@@ -717,17 +933,25 @@
|
|
|
717
933
|
"properties": {
|
|
718
934
|
"title": {
|
|
719
935
|
"type": "string",
|
|
936
|
+
"description": "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n",
|
|
937
|
+
"example": "You do not have enough credit",
|
|
720
938
|
"maxLength": 256
|
|
721
939
|
},
|
|
722
940
|
"type": {
|
|
723
941
|
"type": "string",
|
|
942
|
+
"description": "A URI reference [RFC3986] that identifies the\nproblem type. This specification encourages that, when\ndereferenced, it provide human-readable documentation for the\nproblem type (e.g., using HTML [W3C.REC-html5-20141028]). When\nthis member is not present, its value is assumed to be\n\"about:blank\". It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
|
|
943
|
+
"example": "NotEnoughMoney",
|
|
724
944
|
"maxLength": 2048
|
|
725
945
|
},
|
|
726
946
|
"detail": {
|
|
727
|
-
"type": "string"
|
|
947
|
+
"type": "string",
|
|
948
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
949
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
728
950
|
},
|
|
729
951
|
"instance": {
|
|
730
952
|
"type": "string",
|
|
953
|
+
"description": "A URI reference that identifies the specific\noccurrence of the problem. It may or may not yield further\ninformation if dereferenced. It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
|
|
954
|
+
"example": "/account/12345/msgs/abc",
|
|
731
955
|
"maxLength": 2048
|
|
732
956
|
}
|
|
733
957
|
},
|
|
@@ -739,38 +963,59 @@
|
|
|
739
963
|
},
|
|
740
964
|
"InventoryList": {
|
|
741
965
|
"type": "object",
|
|
966
|
+
"description": "Inventory list resource",
|
|
742
967
|
"properties": {
|
|
743
968
|
"id": {
|
|
744
969
|
"type": "string",
|
|
970
|
+
"description": "The user-supplied ID of the inventory list.",
|
|
971
|
+
"example": "inventory-list-001",
|
|
745
972
|
"maxLength": 256
|
|
746
973
|
},
|
|
747
974
|
"description": {
|
|
748
975
|
"type": "string",
|
|
976
|
+
"description": "The user-supplied description of this inventory list.",
|
|
977
|
+
"example": "Main inventory list for warehouse A",
|
|
749
978
|
"maxLength": 4000
|
|
750
979
|
},
|
|
751
980
|
"defaultInStock": {
|
|
752
|
-
"type": "boolean"
|
|
981
|
+
"type": "boolean",
|
|
982
|
+
"description": "True if the default for products in the inventory list is to be in stock. The default value is false if not specified.",
|
|
983
|
+
"example": false
|
|
753
984
|
},
|
|
754
985
|
"useBundleInventoryOnly": {
|
|
755
|
-
"type": "boolean"
|
|
986
|
+
"type": "boolean",
|
|
987
|
+
"description": "True if the inventory list is used in bundle inventory only. The default value is false if not specified.",
|
|
988
|
+
"example": false
|
|
756
989
|
},
|
|
757
990
|
"onOrderInventoryEnabled": {
|
|
758
|
-
"type": "boolean"
|
|
991
|
+
"type": "boolean",
|
|
992
|
+
"description": "True if the on-order flag is enabled. The default value is false if not specified.",
|
|
993
|
+
"example": false
|
|
759
994
|
},
|
|
760
995
|
"creationDate": {
|
|
761
996
|
"type": "string",
|
|
762
997
|
"format": "date-time",
|
|
998
|
+
"description": "The date and time the inventory list was created.",
|
|
999
|
+
"example": "2024-01-10T08:00:00Z",
|
|
763
1000
|
"readOnly": true
|
|
764
1001
|
},
|
|
765
1002
|
"lastModified": {
|
|
766
1003
|
"type": "string",
|
|
767
1004
|
"format": "date-time",
|
|
1005
|
+
"description": "The date and time the inventory list was last modified.",
|
|
1006
|
+
"example": "2024-01-15T10:30:00Z",
|
|
768
1007
|
"readOnly": true
|
|
769
1008
|
},
|
|
770
1009
|
"assignedSites": {
|
|
771
1010
|
"type": "array",
|
|
1011
|
+
"description": "The list of site display names or site Ids this inventory list is assigned to. This is a computed attribute and cannot be directly modified.",
|
|
1012
|
+
"example": [
|
|
1013
|
+
"SiteGenesis",
|
|
1014
|
+
"SiteGenesis US"
|
|
1015
|
+
],
|
|
772
1016
|
"items": {
|
|
773
1017
|
"type": "string",
|
|
1018
|
+
"example": "SiteGenesis",
|
|
774
1019
|
"maxLength": 256
|
|
775
1020
|
},
|
|
776
1021
|
"readOnly": true
|
|
@@ -788,6 +1033,11 @@
|
|
|
788
1033
|
"application/problem+json": {
|
|
789
1034
|
"schema": {
|
|
790
1035
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1036
|
+
},
|
|
1037
|
+
"examples": {
|
|
1038
|
+
"UnauthorizedExample": {
|
|
1039
|
+
"$ref": "#/components/examples/UnauthorizedExample"
|
|
1040
|
+
}
|
|
791
1041
|
}
|
|
792
1042
|
}
|
|
793
1043
|
}
|
|
@@ -798,6 +1048,11 @@
|
|
|
798
1048
|
"application/problem+json": {
|
|
799
1049
|
"schema": {
|
|
800
1050
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1051
|
+
},
|
|
1052
|
+
"examples": {
|
|
1053
|
+
"ForbiddenExample": {
|
|
1054
|
+
"$ref": "#/components/examples/ForbiddenExample"
|
|
1055
|
+
}
|
|
801
1056
|
}
|
|
802
1057
|
}
|
|
803
1058
|
}
|
|
@@ -807,21 +1062,25 @@
|
|
|
807
1062
|
"organizationId": {
|
|
808
1063
|
"name": "organizationId",
|
|
809
1064
|
"in": "path",
|
|
1065
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
810
1066
|
"required": true,
|
|
811
1067
|
"style": "simple",
|
|
812
1068
|
"explode": false,
|
|
813
1069
|
"schema": {
|
|
814
1070
|
"$ref": "#/components/schemas/OrganizationId"
|
|
815
|
-
}
|
|
1071
|
+
},
|
|
1072
|
+
"example": "f_ecom_zzxy_prd"
|
|
816
1073
|
},
|
|
817
1074
|
"inventoryListId": {
|
|
818
1075
|
"name": "inventoryListId",
|
|
819
1076
|
"in": "path",
|
|
1077
|
+
"description": "The inventory list ID",
|
|
820
1078
|
"required": true,
|
|
821
1079
|
"style": "simple",
|
|
822
1080
|
"explode": false,
|
|
823
1081
|
"schema": {
|
|
824
1082
|
"type": "string",
|
|
1083
|
+
"example": "inventory-list-001",
|
|
825
1084
|
"maxLength": 256,
|
|
826
1085
|
"minLength": 1
|
|
827
1086
|
}
|
|
@@ -829,6 +1088,7 @@
|
|
|
829
1088
|
"productId": {
|
|
830
1089
|
"name": "productId",
|
|
831
1090
|
"in": "path",
|
|
1091
|
+
"description": "The product ID",
|
|
832
1092
|
"required": true,
|
|
833
1093
|
"style": "simple",
|
|
834
1094
|
"explode": false,
|
|
@@ -844,12 +1104,253 @@
|
|
|
844
1104
|
"explode": true,
|
|
845
1105
|
"schema": {
|
|
846
1106
|
"$ref": "#/components/schemas/Select"
|
|
1107
|
+
},
|
|
1108
|
+
"examples": {
|
|
1109
|
+
"select": {
|
|
1110
|
+
"value": "(**)"
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
},
|
|
1115
|
+
"examples": {
|
|
1116
|
+
"ProductInventoryRecordResponse": {
|
|
1117
|
+
"summary": "Product inventory record retrieved successfully.",
|
|
1118
|
+
"description": "Example of a successful product inventory record retrieval",
|
|
1119
|
+
"value": {
|
|
1120
|
+
"productId": "P1234567890",
|
|
1121
|
+
"productName": "Sample Product",
|
|
1122
|
+
"inventoryListId": "inventory-list-001",
|
|
1123
|
+
"perpetualFlag": false,
|
|
1124
|
+
"allocation": {
|
|
1125
|
+
"amount": 100,
|
|
1126
|
+
"resetDate": "2024-01-15T10:00:00.000Z"
|
|
1127
|
+
},
|
|
1128
|
+
"inStockDate": "2024-02-01T00:00:00.000Z",
|
|
1129
|
+
"ats": 95,
|
|
1130
|
+
"stockLevel": 95,
|
|
1131
|
+
"quantityOnOrder": 5,
|
|
1132
|
+
"inventoryTurnover": 5,
|
|
1133
|
+
"preOrderBackOrderHandling": "none",
|
|
1134
|
+
"preOrderBackOrderAllocation": 0,
|
|
1135
|
+
"c_customField": "custom value"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
"ProductInventoryRecordPerpetual": {
|
|
1139
|
+
"summary": "Product inventory record with perpetual stock",
|
|
1140
|
+
"description": "Example of a product inventory record set to always be in stock",
|
|
1141
|
+
"value": {
|
|
1142
|
+
"productId": "P9999999999",
|
|
1143
|
+
"productName": "Always Available Product",
|
|
1144
|
+
"inventoryListId": "inventory-list-001",
|
|
1145
|
+
"perpetualFlag": true,
|
|
1146
|
+
"ats": 999999,
|
|
1147
|
+
"stockLevel": 999999,
|
|
1148
|
+
"quantityOnOrder": 0,
|
|
1149
|
+
"inventoryTurnover": 0,
|
|
1150
|
+
"preOrderBackOrderHandling": "none",
|
|
1151
|
+
"preOrderBackOrderAllocation": 0
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"UnauthorizedExample": {
|
|
1155
|
+
"value": {
|
|
1156
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized",
|
|
1157
|
+
"title": "Unauthorized",
|
|
1158
|
+
"detail": "Your access token is invalid or expired and can’t be used to identify a user."
|
|
1159
|
+
}
|
|
1160
|
+
},
|
|
1161
|
+
"ForbiddenExample": {
|
|
1162
|
+
"value": {
|
|
1163
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden",
|
|
1164
|
+
"title": "Forbidden",
|
|
1165
|
+
"detail": "Your access token is valid, but you don’t have the required permissions to access the resource."
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
"ProductInventoryRecordNotFound": {
|
|
1169
|
+
"summary": "Product Inventory Record Not Found",
|
|
1170
|
+
"description": "The specified product inventory record does not exist.",
|
|
1171
|
+
"value": {
|
|
1172
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-inventory-record-not-found",
|
|
1173
|
+
"title": "Product Inventory Record Not Found",
|
|
1174
|
+
"detail": "Product inventory record with product ID 'P1234567890' in inventory list 'inventory-list-001' was not found.",
|
|
1175
|
+
"productId": "P1234567890",
|
|
1176
|
+
"inventoryListId": "inventory-list-001"
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
"InventoryListNotFound": {
|
|
1180
|
+
"summary": "Inventory List Not Found",
|
|
1181
|
+
"description": "The specified inventory list does not exist.",
|
|
1182
|
+
"value": {
|
|
1183
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/inventory-list-not-found",
|
|
1184
|
+
"title": "Inventory List Not Found",
|
|
1185
|
+
"detail": "Inventory list with ID 'inventory-list-001' was not found.",
|
|
1186
|
+
"inventoryListId": "inventory-list-001"
|
|
1187
|
+
}
|
|
1188
|
+
},
|
|
1189
|
+
"CreateProductInventoryRecordRequest": {
|
|
1190
|
+
"summary": "Create a new product inventory record.",
|
|
1191
|
+
"description": "Example of creating a new product inventory record with allocation",
|
|
1192
|
+
"value": {
|
|
1193
|
+
"productId": "P1234567890",
|
|
1194
|
+
"inventoryListId": "inventory-list-001",
|
|
1195
|
+
"perpetualFlag": false,
|
|
1196
|
+
"allocation": {
|
|
1197
|
+
"amount": 100,
|
|
1198
|
+
"resetDate": "2024-01-15T10:00:00.000Z"
|
|
1199
|
+
},
|
|
1200
|
+
"inStockDate": "2024-02-01T00:00:00.000Z",
|
|
1201
|
+
"preOrderBackOrderHandling": "none",
|
|
1202
|
+
"preOrderBackOrderAllocation": 0
|
|
1203
|
+
}
|
|
1204
|
+
},
|
|
1205
|
+
"EnablePerpetualStock": {
|
|
1206
|
+
"summary": "Enable perpetual stock.",
|
|
1207
|
+
"description": "Example of setting a product to always be in stock",
|
|
1208
|
+
"value": {
|
|
1209
|
+
"productId": "P1234567890",
|
|
1210
|
+
"perpetualFlag": true
|
|
1211
|
+
}
|
|
1212
|
+
},
|
|
1213
|
+
"ProductInventoryRecordUpdated": {
|
|
1214
|
+
"summary": "Product inventory record updated successfully.",
|
|
1215
|
+
"description": "Example of a successfully updated product inventory record",
|
|
1216
|
+
"value": {
|
|
1217
|
+
"productId": "P1234567890",
|
|
1218
|
+
"productName": "Sample Product",
|
|
1219
|
+
"inventoryListId": "inventory-list-001",
|
|
1220
|
+
"perpetualFlag": false,
|
|
1221
|
+
"allocation": {
|
|
1222
|
+
"amount": 150,
|
|
1223
|
+
"resetDate": "2024-01-20T10:00:00.000Z"
|
|
1224
|
+
},
|
|
1225
|
+
"inStockDate": "2024-02-15T00:00:00.000Z",
|
|
1226
|
+
"ats": 145,
|
|
1227
|
+
"stockLevel": 145,
|
|
1228
|
+
"quantityOnOrder": 5,
|
|
1229
|
+
"inventoryTurnover": 5,
|
|
1230
|
+
"preOrderBackOrderHandling": "preorder",
|
|
1231
|
+
"preOrderBackOrderAllocation": 50
|
|
1232
|
+
}
|
|
1233
|
+
},
|
|
1234
|
+
"ProductInventoryRecordCreated": {
|
|
1235
|
+
"summary": "Product inventory record created successfully.",
|
|
1236
|
+
"description": "Example of a successfully created product inventory record",
|
|
1237
|
+
"value": {
|
|
1238
|
+
"productId": "P1234567890",
|
|
1239
|
+
"productName": "New Product",
|
|
1240
|
+
"inventoryListId": "inventory-list-001",
|
|
1241
|
+
"perpetualFlag": false,
|
|
1242
|
+
"allocation": {
|
|
1243
|
+
"amount": 100,
|
|
1244
|
+
"resetDate": "2024-01-15T10:00:00.000Z"
|
|
1245
|
+
},
|
|
1246
|
+
"inStockDate": "2024-02-01T00:00:00.000Z",
|
|
1247
|
+
"ats": 100,
|
|
1248
|
+
"stockLevel": 100,
|
|
1249
|
+
"quantityOnOrder": 0,
|
|
1250
|
+
"inventoryTurnover": 0,
|
|
1251
|
+
"preOrderBackOrderHandling": "none",
|
|
1252
|
+
"preOrderBackOrderAllocation": 0
|
|
1253
|
+
}
|
|
1254
|
+
},
|
|
1255
|
+
"UpdateProductInventoryRecordRequest": {
|
|
1256
|
+
"summary": "Update an existing product inventory record.",
|
|
1257
|
+
"description": "Example of updating allocation and stock information",
|
|
1258
|
+
"value": {
|
|
1259
|
+
"productId": "P1234567890",
|
|
1260
|
+
"allocation": {
|
|
1261
|
+
"amount": 150,
|
|
1262
|
+
"resetDate": "2024-01-20T10:00:00.000Z"
|
|
1263
|
+
},
|
|
1264
|
+
"perpetualFlag": false,
|
|
1265
|
+
"inStockDate": "2024-02-15T00:00:00.000Z",
|
|
1266
|
+
"preOrderBackOrderHandling": "preorder",
|
|
1267
|
+
"preOrderBackOrderAllocation": 50
|
|
1268
|
+
}
|
|
1269
|
+
},
|
|
1270
|
+
"UpdateAllocationOnly": {
|
|
1271
|
+
"summary": "Update only the allocation information.",
|
|
1272
|
+
"description": "Example of updating only the allocation amount",
|
|
1273
|
+
"value": {
|
|
1274
|
+
"productId": "P1234567890",
|
|
1275
|
+
"allocation": {
|
|
1276
|
+
"amount": 200
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
},
|
|
1280
|
+
"InventoryListResponse": {
|
|
1281
|
+
"summary": "Inventory list retrieved successfully.",
|
|
1282
|
+
"description": "Example of a successful inventory list retrieval",
|
|
1283
|
+
"value": {
|
|
1284
|
+
"id": "inventory-list-001",
|
|
1285
|
+
"description": "Main inventory list for warehouse A",
|
|
1286
|
+
"defaultInStock": false,
|
|
1287
|
+
"useBundleInventoryOnly": false,
|
|
1288
|
+
"onOrderInventoryEnabled": false,
|
|
1289
|
+
"creationDate": "2024-01-10T08:00:00.000Z",
|
|
1290
|
+
"lastModified": "2024-01-15T10:30:00.000Z",
|
|
1291
|
+
"assignedSites": [
|
|
1292
|
+
"SiteGenesis",
|
|
1293
|
+
"SiteGenesis US"
|
|
1294
|
+
]
|
|
1295
|
+
}
|
|
1296
|
+
},
|
|
1297
|
+
"CreateInventoryListRequest": {
|
|
1298
|
+
"summary": "Create a new inventory list.",
|
|
1299
|
+
"description": "Example of creating a new inventory list with configuration",
|
|
1300
|
+
"value": {
|
|
1301
|
+
"id": "inventory-list-001",
|
|
1302
|
+
"description": "Main inventory list for warehouse A",
|
|
1303
|
+
"defaultInStock": false,
|
|
1304
|
+
"useBundleInventoryOnly": false,
|
|
1305
|
+
"onOrderInventoryEnabled": false
|
|
1306
|
+
}
|
|
1307
|
+
},
|
|
1308
|
+
"InventoryListUpdated": {
|
|
1309
|
+
"summary": "Inventory list updated successfully.",
|
|
1310
|
+
"description": "Example of a successfully updated inventory list",
|
|
1311
|
+
"value": {
|
|
1312
|
+
"id": "inventory-list-001",
|
|
1313
|
+
"description": "Updated inventory list for warehouse A",
|
|
1314
|
+
"defaultInStock": true,
|
|
1315
|
+
"useBundleInventoryOnly": false,
|
|
1316
|
+
"onOrderInventoryEnabled": true,
|
|
1317
|
+
"creationDate": "2024-01-10T08:00:00.000Z",
|
|
1318
|
+
"lastModified": "2024-02-01T14:00:00.000Z",
|
|
1319
|
+
"assignedSites": [
|
|
1320
|
+
"SiteGenesis",
|
|
1321
|
+
"SiteGenesis US"
|
|
1322
|
+
]
|
|
1323
|
+
}
|
|
1324
|
+
},
|
|
1325
|
+
"InventoryListCreated": {
|
|
1326
|
+
"summary": "Inventory list created successfully.",
|
|
1327
|
+
"description": "Example of a successfully created inventory list",
|
|
1328
|
+
"value": {
|
|
1329
|
+
"id": "inventory-list-001",
|
|
1330
|
+
"description": "Main inventory list for warehouse A",
|
|
1331
|
+
"defaultInStock": false,
|
|
1332
|
+
"useBundleInventoryOnly": false,
|
|
1333
|
+
"onOrderInventoryEnabled": false,
|
|
1334
|
+
"creationDate": "2024-01-10T08:00:00.000Z",
|
|
1335
|
+
"lastModified": "2024-01-10T08:00:00.000Z",
|
|
1336
|
+
"assignedSites": []
|
|
1337
|
+
}
|
|
1338
|
+
},
|
|
1339
|
+
"UpdateInventoryListRequest": {
|
|
1340
|
+
"summary": "Update an existing inventory list.",
|
|
1341
|
+
"description": "Example of updating inventory list configuration",
|
|
1342
|
+
"value": {
|
|
1343
|
+
"id": "inventory-list-001",
|
|
1344
|
+
"description": "Updated inventory list for warehouse A",
|
|
1345
|
+
"defaultInStock": true,
|
|
1346
|
+
"onOrderInventoryEnabled": true
|
|
847
1347
|
}
|
|
848
1348
|
}
|
|
849
1349
|
},
|
|
850
1350
|
"securitySchemes": {
|
|
851
1351
|
"AmOAuth2": {
|
|
852
1352
|
"type": "oauth2",
|
|
1353
|
+
"description": "Account Manager OAuth 2.0 security scheme for admin APIs.\n\nUse the Account Manager to obtain access tokens for making API calls.\nThe scope determines the level of access to inventory list resources.\n",
|
|
853
1354
|
"flows": {
|
|
854
1355
|
"clientCredentials": {
|
|
855
1356
|
"tokenUrl": "https://account.demandware.com/dw/oauth2/access_token",
|