@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": "Users",
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/users/users-oas-v1-public.yaml)\n\n# API Overview\n\nThe Users API provides endpoints for managing Business Manager users and their access keys within Salesforce Commerce Cloud.\n\n## Overview\n\nThis API allows administrators to create, retrieve, update, and delete users. It also supports managing access keys for users, retrieving password expiration information, and changing user passwords.\n\n## Key Features\n\n- **User Management**: Create, retrieve, update, and delete Business Manager users\n- **Access Key Management**: Create, retrieve, enable/disable, and delete access keys for users\n- **Password Management**: Retrieve password expiration information and change passwords\n- **User Listing**: Retrieve all users with no filtering\n\n## Access Key Scopes\n\nAccess keys can be created for the following scopes:\n- `WEBDAV_AND_STUDIO`: Access for WebDAV and Studio operations\n- `AGENT_USER_AND_OCAPI`: Access for Agent User and OCAPI operations\n- `STOREFRONT`: Access for storefront operations\n\n## Use Cases\n\n- **Provisioning**: Create and configure Business Manager users programmatically\n- **Key Rotation**: Manage access keys for automated integrations\n- **Security Auditing**: Review user accounts and their access configurations\n- **Password Policies**: Monitor password expiration and enforce password changes\n\n## Authentication\n\nThis API requires OAuth 2.0 authentication with the appropriate scopes:\n- `sfcc.users` - Read access to user resources\n- `sfcc.users.rw` - Read and write access to user resources\n\n## Best Practices\n\n1. Use access keys instead of passwords for automated integrations\n2. Regularly rotate access keys for security\n3. Monitor password expiration dates and enforce timely password changes\n4. Use the PATCH endpoint for partial updates instead of PUT for full overwrites\n5. Only externally managed users can have access keys",
|
|
5
6
|
"version": "1.0.0",
|
|
6
7
|
"x-api-type": "Admin",
|
|
7
8
|
"x-api-family": "Merchant"
|
|
@@ -19,17 +20,21 @@
|
|
|
19
20
|
"paths": {
|
|
20
21
|
"/organizations/{organizationId}/users": {
|
|
21
22
|
"get": {
|
|
23
|
+
"summary": "Get Users",
|
|
24
|
+
"description": "Retrieves all users with no filtering.\n",
|
|
22
25
|
"operationId": "getUsers",
|
|
23
26
|
"parameters": [
|
|
24
27
|
{
|
|
25
28
|
"name": "organizationId",
|
|
26
29
|
"in": "path",
|
|
30
|
+
"description": "An identifier for the organization the request is being made by",
|
|
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": "select",
|
|
@@ -39,11 +44,17 @@
|
|
|
39
44
|
"explode": true,
|
|
40
45
|
"schema": {
|
|
41
46
|
"$ref": "#/components/schemas/Select"
|
|
47
|
+
},
|
|
48
|
+
"examples": {
|
|
49
|
+
"select": {
|
|
50
|
+
"value": "(**)"
|
|
51
|
+
}
|
|
42
52
|
}
|
|
43
53
|
},
|
|
44
54
|
{
|
|
45
55
|
"name": "limit",
|
|
46
56
|
"in": "query",
|
|
57
|
+
"description": "Number of records to retrieve per request. Must be between 1 (minimum) and 200 (maximum). Defaults to 25.",
|
|
47
58
|
"required": false,
|
|
48
59
|
"style": "form",
|
|
49
60
|
"explode": true,
|
|
@@ -58,6 +69,7 @@
|
|
|
58
69
|
{
|
|
59
70
|
"name": "offset",
|
|
60
71
|
"in": "query",
|
|
72
|
+
"description": "Used to retrieve the results based on a particular resource offset.",
|
|
61
73
|
"required": false,
|
|
62
74
|
"style": "form",
|
|
63
75
|
"explode": true,
|
|
@@ -76,6 +88,11 @@
|
|
|
76
88
|
"application/json": {
|
|
77
89
|
"schema": {
|
|
78
90
|
"$ref": "#/components/schemas/UserSearch"
|
|
91
|
+
},
|
|
92
|
+
"examples": {
|
|
93
|
+
"UserSearchResponse": {
|
|
94
|
+
"$ref": "#/components/examples/UserSearchResponse"
|
|
95
|
+
}
|
|
79
96
|
}
|
|
80
97
|
}
|
|
81
98
|
}
|
|
@@ -93,26 +110,32 @@
|
|
|
93
110
|
},
|
|
94
111
|
"/organizations/{organizationId}/users/{login}": {
|
|
95
112
|
"get": {
|
|
113
|
+
"summary": "Get User",
|
|
114
|
+
"description": "Retrieves a single user by their login.\n",
|
|
96
115
|
"operationId": "getUser",
|
|
97
116
|
"parameters": [
|
|
98
117
|
{
|
|
99
118
|
"name": "organizationId",
|
|
100
119
|
"in": "path",
|
|
120
|
+
"description": "An identifier for the organization the request is being made by",
|
|
101
121
|
"required": true,
|
|
102
122
|
"style": "simple",
|
|
103
123
|
"explode": false,
|
|
104
124
|
"schema": {
|
|
105
125
|
"$ref": "#/components/schemas/OrganizationId"
|
|
106
|
-
}
|
|
126
|
+
},
|
|
127
|
+
"example": "f_ecom_zzxy_prd"
|
|
107
128
|
},
|
|
108
129
|
{
|
|
109
130
|
"name": "login",
|
|
110
131
|
"in": "path",
|
|
132
|
+
"description": "The login of the user.",
|
|
111
133
|
"required": true,
|
|
112
134
|
"style": "simple",
|
|
113
135
|
"explode": false,
|
|
114
136
|
"schema": {
|
|
115
137
|
"type": "string",
|
|
138
|
+
"example": "admin-user",
|
|
116
139
|
"maxLength": 256,
|
|
117
140
|
"minLength": 1
|
|
118
141
|
}
|
|
@@ -125,6 +148,11 @@
|
|
|
125
148
|
"application/json": {
|
|
126
149
|
"schema": {
|
|
127
150
|
"$ref": "#/components/schemas/User"
|
|
151
|
+
},
|
|
152
|
+
"examples": {
|
|
153
|
+
"UserDetails": {
|
|
154
|
+
"$ref": "#/components/examples/UserDetails"
|
|
155
|
+
}
|
|
128
156
|
}
|
|
129
157
|
}
|
|
130
158
|
}
|
|
@@ -135,6 +163,11 @@
|
|
|
135
163
|
"application/problem+json": {
|
|
136
164
|
"schema": {
|
|
137
165
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
166
|
+
},
|
|
167
|
+
"examples": {
|
|
168
|
+
"UserNotFound": {
|
|
169
|
+
"$ref": "#/components/examples/UserNotFound"
|
|
170
|
+
}
|
|
138
171
|
}
|
|
139
172
|
}
|
|
140
173
|
}
|
|
@@ -150,36 +183,48 @@
|
|
|
150
183
|
]
|
|
151
184
|
},
|
|
152
185
|
"put": {
|
|
186
|
+
"summary": "Create or Replace User",
|
|
187
|
+
"description": "Creates or overwrites a user. If a user with the given login already exists, the existing\nuser will be overwritten. If no such login exists, a new user is created.\n",
|
|
153
188
|
"operationId": "createOrReplaceUser",
|
|
154
189
|
"parameters": [
|
|
155
190
|
{
|
|
156
191
|
"name": "organizationId",
|
|
157
192
|
"in": "path",
|
|
193
|
+
"description": "An identifier for the organization the request is being made by",
|
|
158
194
|
"required": true,
|
|
159
195
|
"style": "simple",
|
|
160
196
|
"explode": false,
|
|
161
197
|
"schema": {
|
|
162
198
|
"$ref": "#/components/schemas/OrganizationId"
|
|
163
|
-
}
|
|
199
|
+
},
|
|
200
|
+
"example": "f_ecom_zzxy_prd"
|
|
164
201
|
},
|
|
165
202
|
{
|
|
166
203
|
"name": "login",
|
|
167
204
|
"in": "path",
|
|
205
|
+
"description": "The login of the user.",
|
|
168
206
|
"required": true,
|
|
169
207
|
"style": "simple",
|
|
170
208
|
"explode": false,
|
|
171
209
|
"schema": {
|
|
172
210
|
"type": "string",
|
|
211
|
+
"example": "admin-user",
|
|
173
212
|
"maxLength": 256,
|
|
174
213
|
"minLength": 1
|
|
175
214
|
}
|
|
176
215
|
}
|
|
177
216
|
],
|
|
178
217
|
"requestBody": {
|
|
218
|
+
"description": "The user to create or replace",
|
|
179
219
|
"content": {
|
|
180
220
|
"application/json": {
|
|
181
221
|
"schema": {
|
|
182
222
|
"$ref": "#/components/schemas/User"
|
|
223
|
+
},
|
|
224
|
+
"examples": {
|
|
225
|
+
"CreateUser": {
|
|
226
|
+
"$ref": "#/components/examples/CreateUser"
|
|
227
|
+
}
|
|
183
228
|
}
|
|
184
229
|
}
|
|
185
230
|
},
|
|
@@ -192,6 +237,11 @@
|
|
|
192
237
|
"application/json": {
|
|
193
238
|
"schema": {
|
|
194
239
|
"$ref": "#/components/schemas/User"
|
|
240
|
+
},
|
|
241
|
+
"examples": {
|
|
242
|
+
"UserCreated": {
|
|
243
|
+
"$ref": "#/components/examples/UserCreated"
|
|
244
|
+
}
|
|
195
245
|
}
|
|
196
246
|
}
|
|
197
247
|
}
|
|
@@ -202,6 +252,11 @@
|
|
|
202
252
|
"application/json": {
|
|
203
253
|
"schema": {
|
|
204
254
|
"$ref": "#/components/schemas/User"
|
|
255
|
+
},
|
|
256
|
+
"examples": {
|
|
257
|
+
"UserCreated": {
|
|
258
|
+
"$ref": "#/components/examples/UserCreated"
|
|
259
|
+
}
|
|
205
260
|
}
|
|
206
261
|
}
|
|
207
262
|
}
|
|
@@ -212,6 +267,20 @@
|
|
|
212
267
|
"application/problem+json": {
|
|
213
268
|
"schema": {
|
|
214
269
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
270
|
+
},
|
|
271
|
+
"examples": {
|
|
272
|
+
"BadRequest": {
|
|
273
|
+
"$ref": "#/components/examples/BadRequest"
|
|
274
|
+
},
|
|
275
|
+
"IdConflict": {
|
|
276
|
+
"$ref": "#/components/examples/IdConflict"
|
|
277
|
+
},
|
|
278
|
+
"LocalUserCreation": {
|
|
279
|
+
"$ref": "#/components/examples/LocalUserCreation"
|
|
280
|
+
},
|
|
281
|
+
"PasswordPolicyViolation": {
|
|
282
|
+
"$ref": "#/components/examples/PasswordPolicyViolation"
|
|
283
|
+
}
|
|
215
284
|
}
|
|
216
285
|
}
|
|
217
286
|
}
|
|
@@ -226,26 +295,32 @@
|
|
|
226
295
|
]
|
|
227
296
|
},
|
|
228
297
|
"delete": {
|
|
298
|
+
"summary": "Delete User",
|
|
299
|
+
"description": "Deletes a single user.\n",
|
|
229
300
|
"operationId": "deleteUser",
|
|
230
301
|
"parameters": [
|
|
231
302
|
{
|
|
232
303
|
"name": "organizationId",
|
|
233
304
|
"in": "path",
|
|
305
|
+
"description": "An identifier for the organization the request is being made by",
|
|
234
306
|
"required": true,
|
|
235
307
|
"style": "simple",
|
|
236
308
|
"explode": false,
|
|
237
309
|
"schema": {
|
|
238
310
|
"$ref": "#/components/schemas/OrganizationId"
|
|
239
|
-
}
|
|
311
|
+
},
|
|
312
|
+
"example": "f_ecom_zzxy_prd"
|
|
240
313
|
},
|
|
241
314
|
{
|
|
242
315
|
"name": "login",
|
|
243
316
|
"in": "path",
|
|
317
|
+
"description": "The login of the user.",
|
|
244
318
|
"required": true,
|
|
245
319
|
"style": "simple",
|
|
246
320
|
"explode": false,
|
|
247
321
|
"schema": {
|
|
248
322
|
"type": "string",
|
|
323
|
+
"example": "admin-user",
|
|
249
324
|
"maxLength": 256,
|
|
250
325
|
"minLength": 1
|
|
251
326
|
}
|
|
@@ -261,6 +336,11 @@
|
|
|
261
336
|
"application/problem+json": {
|
|
262
337
|
"schema": {
|
|
263
338
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
339
|
+
},
|
|
340
|
+
"examples": {
|
|
341
|
+
"UserNotFound": {
|
|
342
|
+
"$ref": "#/components/examples/UserNotFound"
|
|
343
|
+
}
|
|
264
344
|
}
|
|
265
345
|
}
|
|
266
346
|
}
|
|
@@ -275,36 +355,48 @@
|
|
|
275
355
|
]
|
|
276
356
|
},
|
|
277
357
|
"patch": {
|
|
358
|
+
"summary": "Update User",
|
|
359
|
+
"description": "Updates a user. The locked flag and the user password cannot be updated with this resource.\n",
|
|
278
360
|
"operationId": "updateUser",
|
|
279
361
|
"parameters": [
|
|
280
362
|
{
|
|
281
363
|
"name": "organizationId",
|
|
282
364
|
"in": "path",
|
|
365
|
+
"description": "An identifier for the organization the request is being made by",
|
|
283
366
|
"required": true,
|
|
284
367
|
"style": "simple",
|
|
285
368
|
"explode": false,
|
|
286
369
|
"schema": {
|
|
287
370
|
"$ref": "#/components/schemas/OrganizationId"
|
|
288
|
-
}
|
|
371
|
+
},
|
|
372
|
+
"example": "f_ecom_zzxy_prd"
|
|
289
373
|
},
|
|
290
374
|
{
|
|
291
375
|
"name": "login",
|
|
292
376
|
"in": "path",
|
|
377
|
+
"description": "The login of the user.",
|
|
293
378
|
"required": true,
|
|
294
379
|
"style": "simple",
|
|
295
380
|
"explode": false,
|
|
296
381
|
"schema": {
|
|
297
382
|
"type": "string",
|
|
383
|
+
"example": "admin-user",
|
|
298
384
|
"maxLength": 256,
|
|
299
385
|
"minLength": 1
|
|
300
386
|
}
|
|
301
387
|
}
|
|
302
388
|
],
|
|
303
389
|
"requestBody": {
|
|
390
|
+
"description": "The user fields to update",
|
|
304
391
|
"content": {
|
|
305
392
|
"application/json": {
|
|
306
393
|
"schema": {
|
|
307
394
|
"$ref": "#/components/schemas/UserUpdateRequest"
|
|
395
|
+
},
|
|
396
|
+
"examples": {
|
|
397
|
+
"UpdateUser": {
|
|
398
|
+
"$ref": "#/components/examples/UpdateUser"
|
|
399
|
+
}
|
|
308
400
|
}
|
|
309
401
|
}
|
|
310
402
|
},
|
|
@@ -317,6 +409,11 @@
|
|
|
317
409
|
"application/json": {
|
|
318
410
|
"schema": {
|
|
319
411
|
"$ref": "#/components/schemas/User"
|
|
412
|
+
},
|
|
413
|
+
"examples": {
|
|
414
|
+
"UserUpdated": {
|
|
415
|
+
"$ref": "#/components/examples/UserUpdated"
|
|
416
|
+
}
|
|
320
417
|
}
|
|
321
418
|
}
|
|
322
419
|
}
|
|
@@ -327,6 +424,14 @@
|
|
|
327
424
|
"application/problem+json": {
|
|
328
425
|
"schema": {
|
|
329
426
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
427
|
+
},
|
|
428
|
+
"examples": {
|
|
429
|
+
"BadRequest": {
|
|
430
|
+
"$ref": "#/components/examples/BadRequest"
|
|
431
|
+
},
|
|
432
|
+
"IdConflict": {
|
|
433
|
+
"$ref": "#/components/examples/IdConflict"
|
|
434
|
+
}
|
|
330
435
|
}
|
|
331
436
|
}
|
|
332
437
|
}
|
|
@@ -337,6 +442,11 @@
|
|
|
337
442
|
"application/problem+json": {
|
|
338
443
|
"schema": {
|
|
339
444
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
445
|
+
},
|
|
446
|
+
"examples": {
|
|
447
|
+
"UserNotFound": {
|
|
448
|
+
"$ref": "#/components/examples/UserNotFound"
|
|
449
|
+
}
|
|
340
450
|
}
|
|
341
451
|
}
|
|
342
452
|
}
|
|
@@ -356,11 +466,15 @@
|
|
|
356
466
|
"schemas": {
|
|
357
467
|
"OrganizationId": {
|
|
358
468
|
"type": "string",
|
|
469
|
+
"description": "An identifier for the organization the request is being made by",
|
|
470
|
+
"example": "f_ecom_zzxy_prd",
|
|
359
471
|
"maxLength": 32,
|
|
360
472
|
"minLength": 1
|
|
361
473
|
},
|
|
362
474
|
"Select": {
|
|
363
475
|
"type": "string",
|
|
476
|
+
"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).",
|
|
477
|
+
"example": "(name,id,variationAttributes.(**))",
|
|
364
478
|
"minLength": 1,
|
|
365
479
|
"pattern": "^[(].*[)]$"
|
|
366
480
|
},
|
|
@@ -368,14 +482,19 @@
|
|
|
368
482
|
"type": "integer",
|
|
369
483
|
"format": "int32",
|
|
370
484
|
"default": 0,
|
|
485
|
+
"description": "The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated.",
|
|
486
|
+
"example": 10,
|
|
371
487
|
"minimum": 0
|
|
372
488
|
},
|
|
373
489
|
"ResultBase": {
|
|
374
490
|
"type": "object",
|
|
491
|
+
"description": "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned.",
|
|
375
492
|
"properties": {
|
|
376
493
|
"limit": {
|
|
377
494
|
"type": "integer",
|
|
378
|
-
"format": "int32"
|
|
495
|
+
"format": "int32",
|
|
496
|
+
"description": "Maximum records to retrieve per request. The limit with its constraints (minimum, maximum, default) is defined by the request parameter `limit` of the endpoint returning this schema.",
|
|
497
|
+
"example": 10
|
|
379
498
|
},
|
|
380
499
|
"total": {
|
|
381
500
|
"$ref": "#/components/schemas/Total"
|
|
@@ -390,6 +509,8 @@
|
|
|
390
509
|
"type": "integer",
|
|
391
510
|
"format": "int32",
|
|
392
511
|
"default": 0,
|
|
512
|
+
"description": "The zero-based index of the first hit/data to include in the result.",
|
|
513
|
+
"example": 0,
|
|
393
514
|
"minimum": 0
|
|
394
515
|
},
|
|
395
516
|
"PaginatedResultBase": {
|
|
@@ -398,6 +519,7 @@
|
|
|
398
519
|
"$ref": "#/components/schemas/ResultBase"
|
|
399
520
|
}
|
|
400
521
|
],
|
|
522
|
+
"description": "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`.",
|
|
401
523
|
"properties": {
|
|
402
524
|
"offset": {
|
|
403
525
|
"$ref": "#/components/schemas/Offset"
|
|
@@ -411,18 +533,25 @@
|
|
|
411
533
|
},
|
|
412
534
|
"LanguageCountry": {
|
|
413
535
|
"type": "string",
|
|
536
|
+
"description": "A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'.",
|
|
537
|
+
"example": "en-US",
|
|
414
538
|
"pattern": "^[a-z][a-z]-[A-Z][A-Z]$"
|
|
415
539
|
},
|
|
416
540
|
"LanguageCode": {
|
|
417
541
|
"type": "string",
|
|
542
|
+
"description": "A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766).",
|
|
543
|
+
"example": "en",
|
|
418
544
|
"pattern": "^[a-z][a-z]$"
|
|
419
545
|
},
|
|
420
546
|
"DefaultFallback": {
|
|
421
547
|
"type": "string",
|
|
422
548
|
"default": "default",
|
|
549
|
+
"description": "A specialized value indicating the system default values for locales.",
|
|
550
|
+
"example": "default",
|
|
423
551
|
"pattern": "^default$"
|
|
424
552
|
},
|
|
425
553
|
"LocaleCode": {
|
|
554
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
426
555
|
"oneOf": [
|
|
427
556
|
{
|
|
428
557
|
"$ref": "#/components/schemas/LanguageCountry"
|
|
@@ -437,68 +566,95 @@
|
|
|
437
566
|
},
|
|
438
567
|
"User": {
|
|
439
568
|
"type": "object",
|
|
569
|
+
"description": "Document representing a user.",
|
|
440
570
|
"properties": {
|
|
441
571
|
"login": {
|
|
442
572
|
"type": "string",
|
|
573
|
+
"description": "The login of the user.",
|
|
574
|
+
"example": "admin-user",
|
|
443
575
|
"maxLength": 256,
|
|
444
576
|
"minLength": 1
|
|
445
577
|
},
|
|
446
578
|
"password": {
|
|
447
579
|
"type": "string",
|
|
580
|
+
"description": "The password of the user.",
|
|
581
|
+
"example": "password",
|
|
448
582
|
"maxLength": 256
|
|
449
583
|
},
|
|
450
584
|
"email": {
|
|
451
585
|
"type": "string",
|
|
586
|
+
"description": "The email address of the user.",
|
|
587
|
+
"example": "admin@example.com",
|
|
452
588
|
"maxLength": 256
|
|
453
589
|
},
|
|
454
590
|
"firstName": {
|
|
455
591
|
"type": "string",
|
|
592
|
+
"description": "The first name of the user.",
|
|
593
|
+
"example": "John",
|
|
456
594
|
"maxLength": 256
|
|
457
595
|
},
|
|
458
596
|
"lastName": {
|
|
459
597
|
"type": "string",
|
|
598
|
+
"description": "The last name of the user.",
|
|
599
|
+
"example": "Doe",
|
|
460
600
|
"maxLength": 256
|
|
461
601
|
},
|
|
462
602
|
"externalId": {
|
|
463
603
|
"type": "string",
|
|
604
|
+
"description": "The external identifier for the user.",
|
|
605
|
+
"example": "ext-12345",
|
|
464
606
|
"maxLength": 256
|
|
465
607
|
},
|
|
466
608
|
"disabled": {
|
|
467
|
-
"type": "boolean"
|
|
609
|
+
"type": "boolean",
|
|
610
|
+
"description": "Indicates whether the user is disabled.",
|
|
611
|
+
"example": false
|
|
468
612
|
},
|
|
469
613
|
"locked": {
|
|
470
|
-
"type": "boolean"
|
|
614
|
+
"type": "boolean",
|
|
615
|
+
"description": "Indicates whether the user is locked.",
|
|
616
|
+
"example": false
|
|
471
617
|
},
|
|
472
618
|
"lastLoginDate": {
|
|
473
619
|
"type": "string",
|
|
474
|
-
"format": "date"
|
|
620
|
+
"format": "date",
|
|
621
|
+
"description": "The date of the user's last login.",
|
|
622
|
+
"example": "2024-10-14"
|
|
475
623
|
},
|
|
476
624
|
"passwordExpirationDate": {
|
|
477
625
|
"type": "string",
|
|
478
|
-
"format": "date-time"
|
|
626
|
+
"format": "date-time",
|
|
627
|
+
"description": "The date and time when the user's password expires.",
|
|
628
|
+
"example": "2025-01-14T00:00:00Z"
|
|
479
629
|
},
|
|
480
630
|
"passwordModificationDate": {
|
|
481
631
|
"type": "string",
|
|
482
|
-
"format": "date-time"
|
|
632
|
+
"format": "date-time",
|
|
633
|
+
"description": "The date and time when the user's password was last modified.",
|
|
634
|
+
"example": "2024-10-14T10:00:00Z"
|
|
483
635
|
},
|
|
484
636
|
"preferredDataLocale": {
|
|
485
637
|
"allOf": [
|
|
486
638
|
{
|
|
487
639
|
"$ref": "#/components/schemas/LocaleCode"
|
|
488
640
|
}
|
|
489
|
-
]
|
|
641
|
+
],
|
|
642
|
+
"description": "The preferred data locale for the user."
|
|
490
643
|
},
|
|
491
644
|
"preferredUiLocale": {
|
|
492
645
|
"allOf": [
|
|
493
646
|
{
|
|
494
647
|
"$ref": "#/components/schemas/LocaleCode"
|
|
495
648
|
}
|
|
496
|
-
]
|
|
649
|
+
],
|
|
650
|
+
"description": "The preferred UI locale for the user."
|
|
497
651
|
},
|
|
498
652
|
"roles": {
|
|
499
653
|
"type": "array",
|
|
654
|
+
"description": "The list of role identifiers assigned to the user.",
|
|
500
655
|
"items": {
|
|
501
656
|
"type": "string",
|
|
657
|
+
"example": "Administrator",
|
|
502
658
|
"maxLength": 256
|
|
503
659
|
}
|
|
504
660
|
}
|
|
@@ -514,9 +670,11 @@
|
|
|
514
670
|
"$ref": "#/components/schemas/PaginatedResultBase"
|
|
515
671
|
}
|
|
516
672
|
],
|
|
673
|
+
"description": "Document representing a collection of users.",
|
|
517
674
|
"properties": {
|
|
518
675
|
"data": {
|
|
519
676
|
"type": "array",
|
|
677
|
+
"description": "The collection of users.",
|
|
520
678
|
"items": {
|
|
521
679
|
"$ref": "#/components/schemas/User"
|
|
522
680
|
}
|
|
@@ -532,17 +690,25 @@
|
|
|
532
690
|
"properties": {
|
|
533
691
|
"title": {
|
|
534
692
|
"type": "string",
|
|
693
|
+
"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",
|
|
694
|
+
"example": "You do not have enough credit",
|
|
535
695
|
"maxLength": 256
|
|
536
696
|
},
|
|
537
697
|
"type": {
|
|
538
698
|
"type": "string",
|
|
699
|
+
"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",
|
|
700
|
+
"example": "NotEnoughMoney",
|
|
539
701
|
"maxLength": 2048
|
|
540
702
|
},
|
|
541
703
|
"detail": {
|
|
542
|
-
"type": "string"
|
|
704
|
+
"type": "string",
|
|
705
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
706
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
543
707
|
},
|
|
544
708
|
"instance": {
|
|
545
709
|
"type": "string",
|
|
710
|
+
"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",
|
|
711
|
+
"example": "/account/12345/msgs/abc",
|
|
546
712
|
"maxLength": 2048
|
|
547
713
|
}
|
|
548
714
|
},
|
|
@@ -554,21 +720,30 @@
|
|
|
554
720
|
},
|
|
555
721
|
"UserUpdateRequest": {
|
|
556
722
|
"type": "object",
|
|
723
|
+
"description": "Document representing a request to update a user. The locked flag and user password cannot be updated with this resource.",
|
|
557
724
|
"properties": {
|
|
558
725
|
"email": {
|
|
559
726
|
"type": "string",
|
|
727
|
+
"description": "The email address of the user.",
|
|
728
|
+
"example": "updated@example.com",
|
|
560
729
|
"maxLength": 256
|
|
561
730
|
},
|
|
562
731
|
"firstName": {
|
|
563
732
|
"type": "string",
|
|
733
|
+
"description": "The first name of the user.",
|
|
734
|
+
"example": "Jane",
|
|
564
735
|
"maxLength": 256
|
|
565
736
|
},
|
|
566
737
|
"lastName": {
|
|
567
738
|
"type": "string",
|
|
739
|
+
"description": "The last name of the user.",
|
|
740
|
+
"example": "Smith-Updated",
|
|
568
741
|
"maxLength": 256
|
|
569
742
|
},
|
|
570
743
|
"externalId": {
|
|
571
744
|
"type": "string",
|
|
745
|
+
"description": "The external identifier for the user.",
|
|
746
|
+
"example": "ext-updated",
|
|
572
747
|
"maxLength": 256
|
|
573
748
|
},
|
|
574
749
|
"preferredDataLocale": {
|
|
@@ -576,14 +751,16 @@
|
|
|
576
751
|
{
|
|
577
752
|
"$ref": "#/components/schemas/LocaleCode"
|
|
578
753
|
}
|
|
579
|
-
]
|
|
754
|
+
],
|
|
755
|
+
"description": "The preferred data locale for the user."
|
|
580
756
|
},
|
|
581
757
|
"preferredUiLocale": {
|
|
582
758
|
"allOf": [
|
|
583
759
|
{
|
|
584
760
|
"$ref": "#/components/schemas/LocaleCode"
|
|
585
761
|
}
|
|
586
|
-
]
|
|
762
|
+
],
|
|
763
|
+
"description": "The preferred UI locale for the user."
|
|
587
764
|
}
|
|
588
765
|
}
|
|
589
766
|
}
|
|
@@ -592,12 +769,14 @@
|
|
|
592
769
|
"organizationId": {
|
|
593
770
|
"name": "organizationId",
|
|
594
771
|
"in": "path",
|
|
772
|
+
"description": "An identifier for the organization the request is being made by",
|
|
595
773
|
"required": true,
|
|
596
774
|
"style": "simple",
|
|
597
775
|
"explode": false,
|
|
598
776
|
"schema": {
|
|
599
777
|
"$ref": "#/components/schemas/OrganizationId"
|
|
600
|
-
}
|
|
778
|
+
},
|
|
779
|
+
"example": "f_ecom_zzxy_prd"
|
|
601
780
|
},
|
|
602
781
|
"select": {
|
|
603
782
|
"name": "select",
|
|
@@ -607,24 +786,225 @@
|
|
|
607
786
|
"explode": true,
|
|
608
787
|
"schema": {
|
|
609
788
|
"$ref": "#/components/schemas/Select"
|
|
789
|
+
},
|
|
790
|
+
"examples": {
|
|
791
|
+
"select": {
|
|
792
|
+
"value": "(**)"
|
|
793
|
+
}
|
|
610
794
|
}
|
|
611
795
|
},
|
|
612
796
|
"login": {
|
|
613
797
|
"name": "login",
|
|
614
798
|
"in": "path",
|
|
799
|
+
"description": "The login of the user.",
|
|
615
800
|
"required": true,
|
|
616
801
|
"style": "simple",
|
|
617
802
|
"explode": false,
|
|
618
803
|
"schema": {
|
|
619
804
|
"type": "string",
|
|
805
|
+
"example": "admin-user",
|
|
620
806
|
"maxLength": 256,
|
|
621
807
|
"minLength": 1
|
|
622
808
|
}
|
|
623
809
|
}
|
|
624
810
|
},
|
|
811
|
+
"examples": {
|
|
812
|
+
"UserSearchResponse": {
|
|
813
|
+
"summary": "User collection",
|
|
814
|
+
"description": "Example of a user search response with `select=(**)`.",
|
|
815
|
+
"value": {
|
|
816
|
+
"limit": 3,
|
|
817
|
+
"offset": 0,
|
|
818
|
+
"total": 3,
|
|
819
|
+
"data": [
|
|
820
|
+
{
|
|
821
|
+
"login": "admin-user",
|
|
822
|
+
"email": "admin@example.com",
|
|
823
|
+
"firstName": "John",
|
|
824
|
+
"lastName": "Doe",
|
|
825
|
+
"externalId": "ext-12345",
|
|
826
|
+
"disabled": false,
|
|
827
|
+
"locked": false,
|
|
828
|
+
"lastLoginDate": "2024-10-14",
|
|
829
|
+
"passwordExpirationDate": "2025-01-14T00:00:00.000Z",
|
|
830
|
+
"passwordModificationDate": "2024-10-14T10:00:00.000Z",
|
|
831
|
+
"preferredDataLocale": "en-US",
|
|
832
|
+
"preferredUiLocale": "en-US",
|
|
833
|
+
"roles": [
|
|
834
|
+
"Administrator"
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"login": "editor-user",
|
|
839
|
+
"email": "editor@example.com",
|
|
840
|
+
"firstName": "Jane",
|
|
841
|
+
"lastName": "Smith",
|
|
842
|
+
"externalId": "ext-67890",
|
|
843
|
+
"disabled": false,
|
|
844
|
+
"locked": false,
|
|
845
|
+
"lastLoginDate": "2024-10-13",
|
|
846
|
+
"passwordExpirationDate": "2025-01-13T00:00:00.000Z",
|
|
847
|
+
"passwordModificationDate": "2024-10-13T08:00:00.000Z",
|
|
848
|
+
"preferredDataLocale": "en-US",
|
|
849
|
+
"preferredUiLocale": "en-US",
|
|
850
|
+
"roles": [
|
|
851
|
+
"ContentEditor"
|
|
852
|
+
]
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
"login": "manager-user",
|
|
856
|
+
"email": "manager@example.com",
|
|
857
|
+
"firstName": "Bob",
|
|
858
|
+
"lastName": "Wilson",
|
|
859
|
+
"externalId": "ext-11111",
|
|
860
|
+
"disabled": true,
|
|
861
|
+
"locked": false,
|
|
862
|
+
"lastLoginDate": "2024-09-01",
|
|
863
|
+
"passwordExpirationDate": "2024-12-01T00:00:00.000Z",
|
|
864
|
+
"passwordModificationDate": "2024-09-01T07:00:00.000Z",
|
|
865
|
+
"preferredDataLocale": "default",
|
|
866
|
+
"preferredUiLocale": "default",
|
|
867
|
+
"roles": [
|
|
868
|
+
"CustomManager"
|
|
869
|
+
]
|
|
870
|
+
}
|
|
871
|
+
]
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
"UserDetails": {
|
|
875
|
+
"summary": "Single user details",
|
|
876
|
+
"description": "Example of a successful retrieval of a single user",
|
|
877
|
+
"value": {
|
|
878
|
+
"login": "admin-user",
|
|
879
|
+
"email": "admin@example.com",
|
|
880
|
+
"firstName": "John",
|
|
881
|
+
"lastName": "Doe",
|
|
882
|
+
"externalId": "ext-12345",
|
|
883
|
+
"disabled": false,
|
|
884
|
+
"locked": false,
|
|
885
|
+
"lastLoginDate": "2024-10-14",
|
|
886
|
+
"passwordExpirationDate": "2025-01-14T00:00:00.000Z",
|
|
887
|
+
"passwordModificationDate": "2024-10-14T10:00:00.000Z",
|
|
888
|
+
"preferredDataLocale": "en-US",
|
|
889
|
+
"preferredUiLocale": "en-US",
|
|
890
|
+
"roles": [
|
|
891
|
+
"Administrator"
|
|
892
|
+
]
|
|
893
|
+
}
|
|
894
|
+
},
|
|
895
|
+
"UserNotFound": {
|
|
896
|
+
"summary": "User not found",
|
|
897
|
+
"description": "Example of an error when the specified user does not exist",
|
|
898
|
+
"value": {
|
|
899
|
+
"title": "User Not Found",
|
|
900
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/user-not-found",
|
|
901
|
+
"detail": "No user with login 'nonexistent-user' could be found."
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
"CreateUser": {
|
|
905
|
+
"summary": "Create a user",
|
|
906
|
+
"description": "Example of creating a new Business Manager user",
|
|
907
|
+
"value": {
|
|
908
|
+
"login": "new-user",
|
|
909
|
+
"email": "newuser@example.com",
|
|
910
|
+
"firstName": "Jane",
|
|
911
|
+
"lastName": "Smith",
|
|
912
|
+
"externalId": "ext-67890",
|
|
913
|
+
"password": "SecurePassword123!",
|
|
914
|
+
"preferredDataLocale": "en-US",
|
|
915
|
+
"preferredUiLocale": "en-US"
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
"UserCreated": {
|
|
919
|
+
"summary": "Newly created user",
|
|
920
|
+
"description": "Example of a successfully created user",
|
|
921
|
+
"value": {
|
|
922
|
+
"login": "new-user",
|
|
923
|
+
"email": "newuser@example.com",
|
|
924
|
+
"firstName": "Jane",
|
|
925
|
+
"lastName": "Smith",
|
|
926
|
+
"externalId": "ext-67890",
|
|
927
|
+
"disabled": false,
|
|
928
|
+
"locked": false,
|
|
929
|
+
"passwordExpirationDate": "2025-06-01T00:00:00.000Z",
|
|
930
|
+
"passwordModificationDate": "2025-03-01T12:00:00.000Z",
|
|
931
|
+
"preferredDataLocale": "en-US",
|
|
932
|
+
"preferredUiLocale": "en-US",
|
|
933
|
+
"roles": []
|
|
934
|
+
}
|
|
935
|
+
},
|
|
936
|
+
"BadRequest": {
|
|
937
|
+
"summary": "Bad request",
|
|
938
|
+
"description": "Example of an error when a required field constraint is violated",
|
|
939
|
+
"value": {
|
|
940
|
+
"title": "Bad Request",
|
|
941
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
942
|
+
"detail": "An error occurred while decoding the request. There's a value constraint violation of property '$.email' in document 'User'."
|
|
943
|
+
}
|
|
944
|
+
},
|
|
945
|
+
"IdConflict": {
|
|
946
|
+
"summary": "ID conflict",
|
|
947
|
+
"description": "Example of an error when the ID in the request body does not match the ID in the URL",
|
|
948
|
+
"value": {
|
|
949
|
+
"title": "Id Conflict",
|
|
950
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict",
|
|
951
|
+
"detail": "The ID in the request body ('different-login') doesn't match the ID in the URL ('scapi-id-conflict-test')."
|
|
952
|
+
}
|
|
953
|
+
},
|
|
954
|
+
"LocalUserCreation": {
|
|
955
|
+
"summary": "Local user creation not allowed",
|
|
956
|
+
"description": "Example of an error when creating a local user is not allowed with the current server settings",
|
|
957
|
+
"value": {
|
|
958
|
+
"title": "Local User Creation",
|
|
959
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/local-user-creation",
|
|
960
|
+
"detail": "The creation of a local Business Manager user isn't allowed with the current server settings."
|
|
961
|
+
}
|
|
962
|
+
},
|
|
963
|
+
"PasswordPolicyViolation": {
|
|
964
|
+
"summary": "Password policy violation",
|
|
965
|
+
"description": "Example of an error when the password does not meet policy requirements",
|
|
966
|
+
"value": {
|
|
967
|
+
"title": "Password Policy Violation",
|
|
968
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/password-policy-violation",
|
|
969
|
+
"detail": "The provided new password doesn't meet the requirements."
|
|
970
|
+
}
|
|
971
|
+
},
|
|
972
|
+
"UpdateUser": {
|
|
973
|
+
"summary": "Update a user",
|
|
974
|
+
"description": "Example of updating an existing user",
|
|
975
|
+
"value": {
|
|
976
|
+
"email": "updated@example.com",
|
|
977
|
+
"firstName": "Jane",
|
|
978
|
+
"lastName": "Smith-Updated",
|
|
979
|
+
"preferredDataLocale": "de-DE"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"UserUpdated": {
|
|
983
|
+
"summary": "Updated user",
|
|
984
|
+
"description": "Example of a successfully updated user",
|
|
985
|
+
"value": {
|
|
986
|
+
"login": "admin-user",
|
|
987
|
+
"email": "updated@example.com",
|
|
988
|
+
"firstName": "Jane",
|
|
989
|
+
"lastName": "Smith-Updated",
|
|
990
|
+
"externalId": "ext-12345",
|
|
991
|
+
"disabled": false,
|
|
992
|
+
"locked": false,
|
|
993
|
+
"lastLoginDate": "2024-10-14",
|
|
994
|
+
"passwordExpirationDate": "2025-01-14T00:00:00.000Z",
|
|
995
|
+
"passwordModificationDate": "2024-10-14T10:00:00.000Z",
|
|
996
|
+
"preferredDataLocale": "de-DE",
|
|
997
|
+
"preferredUiLocale": "en-US",
|
|
998
|
+
"roles": [
|
|
999
|
+
"Administrator"
|
|
1000
|
+
]
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
625
1004
|
"securitySchemes": {
|
|
626
1005
|
"AmOAuth2": {
|
|
627
1006
|
"type": "oauth2",
|
|
1007
|
+
"description": "OAuth 2.0 security scheme for Admin API access using Account Manager.\nRequires appropriate scopes for user management operations.\n",
|
|
628
1008
|
"flows": {
|
|
629
1009
|
"clientCredentials": {
|
|
630
1010
|
"tokenUrl": "https://account.demandware.com/dw/oauth2/access_token",
|