@salesforce/b2c-tooling-sdk 2.3.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/guides/enrichment.json +291 -0
- package/data/guides/index.json +426 -37
- package/data/schemas/dw.schema.json +590 -0
- package/data/tooling/index.json +18 -9
- package/dist/esm/cli/base-command.d.ts +20 -1
- package/dist/esm/cli/base-command.js +61 -11
- 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/command-search.d.ts +85 -0
- package/dist/esm/cli/command-search.js +147 -0
- package/dist/esm/cli/command-search.js.map +1 -0
- package/dist/esm/cli/config.d.ts +10 -1
- package/dist/esm/cli/config.js +18 -9
- 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/index.d.ts +2 -0
- package/dist/esm/cli/index.js +2 -0
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +3 -2
- package/dist/esm/cli/mrt-command.js +4 -4
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/custom-apis.d.ts +36 -2
- package/dist/esm/clients/custom-apis.js +57 -4
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.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.d.ts +14 -0
- package/dist/esm/config/dw-json-schema.js +269 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -0
- 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 +13 -4
- package/dist/esm/config/index.js +8 -3
- 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.d.ts +5 -0
- package/dist/esm/config/mapping.js +20 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/project-environment.d.ts +62 -0
- package/dist/esm/config/project-environment.js +113 -0
- package/dist/esm/config/project-environment.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +106 -37
- 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 +59 -23
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +70 -9
- package/dist/esm/config/sources/env-source.js +205 -47
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -1
- package/dist/esm/config/sources/index.js +1 -1
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/types.d.ts +53 -3
- package/dist/esm/docs/search.js +3 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +3 -1
- package/dist/esm/guidance/bundle.d.ts +33 -0
- package/dist/esm/guidance/bundle.js +268 -0
- package/dist/esm/guidance/bundle.js.map +1 -0
- package/dist/esm/guidance/catalog.d.ts +8 -1
- package/dist/esm/guidance/catalog.js +48 -6
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/index.d.ts +1 -0
- package/dist/esm/guidance/index.js +1 -0
- package/dist/esm/guidance/index.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +17 -1
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- 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/catalog.d.ts +5 -2
- package/dist/esm/scapi/catalog.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +6 -2
- package/dist/esm/scapi/index.js +4 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +14 -3
- package/dist/esm/scapi/live.js +33 -5
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +26 -0
- package/dist/esm/scapi/local.js +143 -0
- package/dist/esm/scapi/local.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +4 -2
- 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 +31 -7
- package/dist/esm/scapi/worker-source.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +1 -0
- package/dist/esm/telemetry/telemetry.js +18 -1
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +9 -0
- package/dist/esm/test-utils/config-isolation.js +21 -15
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/ux/agent-context.d.ts +69 -0
- package/dist/esm/ux/agent-context.js +133 -0
- package/dist/esm/ux/agent-context.js.map +1 -0
- package/dist/esm/ux/confirm.d.ts +27 -0
- package/dist/esm/ux/confirm.js +32 -0
- package/dist/esm/ux/confirm.js.map +1 -1
- package/dist/esm/ux/index.d.ts +2 -1
- package/dist/esm/ux/index.js +2 -1
- package/dist/esm/ux/index.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 +5 -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": "Jobs",
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/jobs/jobs-oas-v1-public.yaml)\n\n# API Overview\n\nThe Jobs API provides endpoints for managing and monitoring job executions within Salesforce Commerce Cloud.\n\n## Overview\n\nThis API allows administrators to search for job executions, trigger new job runs, retrieve execution details, and abort running jobs. Jobs represent scheduled or on-demand tasks that perform operations such as data import/export, indexing, and cleanup.\n\n## Key Features\n\n- **Job Execution Search**: Use complex queries to search for job executions by various attributes\n- **Job Triggering**: Create new job executions to run jobs on demand\n- **Execution Monitoring**: Retrieve detailed information about job executions including step-level details\n- **Job Abort**: Delete or abort running job executions\n\n## Searchable Attributes\n\nThe following attributes can be used in search queries:\n\n- `id`: The unique identifier of the job execution (String)\n- `jobId`: The identifier of the job (String)\n- `status`: The execution status (String)\n- `startTime`: The start time of the execution (DateTime)\n- `endTime`: The end time of the execution (DateTime)\n\n## Sortable Attributes\n\nSearch results can be sorted by:\n\n- `id`: Sort by execution identifier\n- `jobId`: Sort by job identifier\n- `status`: Sort by execution status\n- `startTime`: Sort by start time\n- `endTime`: Sort by end time\n\n## Use Cases\n\n- **Monitoring**: Track job execution status and progress\n- **Troubleshooting**: Investigate failed job executions and review step details\n- **Automation**: Trigger job executions programmatically\n- **Reporting**: Generate reports on job execution history and performance\n\n## Authentication\n\nThis API requires OAuth 2.0 authentication with the appropriate scopes:\n- `sfcc.jobs` - Read access to job resources\n- `sfcc.jobs.rw` - Read and write access to job resources\n\n## Best Practices\n\n1. Use specific search queries to find job executions efficiently\n2. Monitor long-running jobs by polling the get execution endpoint\n3. Use pagination for large result sets when searching executions\n4. Check execution status before attempting to abort a job\n5. Review step execution details for debugging failed jobs",
|
|
5
6
|
"version": "1.0.0",
|
|
6
7
|
"x-api-type": "Admin",
|
|
7
8
|
"x-api-family": "Operation"
|
|
@@ -19,24 +20,40 @@
|
|
|
19
20
|
"paths": {
|
|
20
21
|
"/organizations/{organizationId}/job-execution-search": {
|
|
21
22
|
"post": {
|
|
23
|
+
"summary": "Search Job Executions",
|
|
24
|
+
"description": "Searches for job executions.\n\nThe query attribute specifies a complex query that can be used to narrow down the search. This is the list of\nsearchable attributes:\n\n- id - String\n- jobId - String\n- status - String\n- startTime - DateTime\n- endTime - DateTime\n\nThe output of the query can also be sorted. These are the list of sortable attributes:\n\n- id - String\n- jobId - String\n- status - String\n- startTime - DateTime\n- endTime - DateTime\n",
|
|
22
25
|
"operationId": "searchJobExecutions",
|
|
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
|
"requestBody": {
|
|
41
|
+
"description": "The search request document for job executions",
|
|
36
42
|
"content": {
|
|
37
43
|
"application/json": {
|
|
38
44
|
"schema": {
|
|
39
45
|
"$ref": "#/components/schemas/JobExecutionSearchRequest"
|
|
46
|
+
},
|
|
47
|
+
"examples": {
|
|
48
|
+
"SearchByJobId": {
|
|
49
|
+
"$ref": "#/components/examples/SearchByJobId"
|
|
50
|
+
},
|
|
51
|
+
"SearchByStatus": {
|
|
52
|
+
"$ref": "#/components/examples/SearchByStatus"
|
|
53
|
+
},
|
|
54
|
+
"SearchByStartTime": {
|
|
55
|
+
"$ref": "#/components/examples/SearchByStartTime"
|
|
56
|
+
}
|
|
40
57
|
}
|
|
41
58
|
}
|
|
42
59
|
},
|
|
@@ -49,6 +66,11 @@
|
|
|
49
66
|
"application/json": {
|
|
50
67
|
"schema": {
|
|
51
68
|
"$ref": "#/components/schemas/JobExecutionSearchResult"
|
|
69
|
+
},
|
|
70
|
+
"examples": {
|
|
71
|
+
"JobExecutionSearchResultSuccess": {
|
|
72
|
+
"$ref": "#/components/examples/JobExecutionSearchResultSuccess"
|
|
73
|
+
}
|
|
52
74
|
}
|
|
53
75
|
}
|
|
54
76
|
}
|
|
@@ -59,6 +81,14 @@
|
|
|
59
81
|
"application/problem+json": {
|
|
60
82
|
"schema": {
|
|
61
83
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
84
|
+
},
|
|
85
|
+
"examples": {
|
|
86
|
+
"MalformedSearchParameter": {
|
|
87
|
+
"$ref": "#/components/examples/MalformedSearchParameter"
|
|
88
|
+
},
|
|
89
|
+
"UnqueryableField": {
|
|
90
|
+
"$ref": "#/components/examples/UnqueryableField"
|
|
91
|
+
}
|
|
62
92
|
}
|
|
63
93
|
}
|
|
64
94
|
}
|
|
@@ -82,36 +112,48 @@
|
|
|
82
112
|
},
|
|
83
113
|
"/organizations/{organizationId}/jobs/{jobId}/executions": {
|
|
84
114
|
"post": {
|
|
115
|
+
"summary": "Create Job Execution",
|
|
116
|
+
"description": "Creates a new execution for the specified job. This effectively triggers the job to run.\nThe response contains the details of the newly created job execution.\n",
|
|
85
117
|
"operationId": "createJobExecution",
|
|
86
118
|
"parameters": [
|
|
87
119
|
{
|
|
88
120
|
"name": "organizationId",
|
|
89
121
|
"in": "path",
|
|
122
|
+
"description": "An identifier for the organization the request is being made by",
|
|
90
123
|
"required": true,
|
|
91
124
|
"style": "simple",
|
|
92
125
|
"explode": false,
|
|
93
126
|
"schema": {
|
|
94
127
|
"$ref": "#/components/schemas/OrganizationId"
|
|
95
|
-
}
|
|
128
|
+
},
|
|
129
|
+
"example": "f_ecom_zzxy_prd"
|
|
96
130
|
},
|
|
97
131
|
{
|
|
98
132
|
"name": "jobId",
|
|
99
133
|
"in": "path",
|
|
134
|
+
"description": "The identifier of the job.",
|
|
100
135
|
"required": true,
|
|
101
136
|
"style": "simple",
|
|
102
137
|
"explode": false,
|
|
103
138
|
"schema": {
|
|
104
139
|
"type": "string",
|
|
140
|
+
"example": "my-custom-job",
|
|
105
141
|
"maxLength": 256,
|
|
106
142
|
"minLength": 1
|
|
107
143
|
}
|
|
108
144
|
}
|
|
109
145
|
],
|
|
110
146
|
"requestBody": {
|
|
147
|
+
"description": "Optional request body to provide execution parameters",
|
|
111
148
|
"content": {
|
|
112
149
|
"application/json": {
|
|
113
150
|
"schema": {
|
|
114
151
|
"$ref": "#/components/schemas/JobExecutionRequest"
|
|
152
|
+
},
|
|
153
|
+
"examples": {
|
|
154
|
+
"CreateJobExecution": {
|
|
155
|
+
"$ref": "#/components/examples/CreateJobExecution"
|
|
156
|
+
}
|
|
115
157
|
}
|
|
116
158
|
}
|
|
117
159
|
},
|
|
@@ -124,6 +166,11 @@
|
|
|
124
166
|
"application/json": {
|
|
125
167
|
"schema": {
|
|
126
168
|
"$ref": "#/components/schemas/JobExecution"
|
|
169
|
+
},
|
|
170
|
+
"examples": {
|
|
171
|
+
"JobExecutionCreated": {
|
|
172
|
+
"$ref": "#/components/examples/JobExecutionCreated"
|
|
173
|
+
}
|
|
127
174
|
}
|
|
128
175
|
}
|
|
129
176
|
}
|
|
@@ -134,6 +181,11 @@
|
|
|
134
181
|
"application/problem+json": {
|
|
135
182
|
"schema": {
|
|
136
183
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
184
|
+
},
|
|
185
|
+
"examples": {
|
|
186
|
+
"InvalidJobExecutionRequest": {
|
|
187
|
+
"$ref": "#/components/examples/InvalidJobExecutionRequest"
|
|
188
|
+
}
|
|
137
189
|
}
|
|
138
190
|
}
|
|
139
191
|
}
|
|
@@ -150,6 +202,11 @@
|
|
|
150
202
|
"application/problem+json": {
|
|
151
203
|
"schema": {
|
|
152
204
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
205
|
+
},
|
|
206
|
+
"examples": {
|
|
207
|
+
"JobNotFound": {
|
|
208
|
+
"$ref": "#/components/examples/JobNotFound"
|
|
209
|
+
}
|
|
153
210
|
}
|
|
154
211
|
}
|
|
155
212
|
}
|
|
@@ -166,26 +223,32 @@
|
|
|
166
223
|
},
|
|
167
224
|
"/organizations/{organizationId}/jobs/{jobId}/executions/{executionId}": {
|
|
168
225
|
"get": {
|
|
226
|
+
"summary": "Get Job Execution",
|
|
227
|
+
"description": "Retrieves the details of a specific job execution identified by its execution ID.\n",
|
|
169
228
|
"operationId": "getJobExecution",
|
|
170
229
|
"parameters": [
|
|
171
230
|
{
|
|
172
231
|
"name": "organizationId",
|
|
173
232
|
"in": "path",
|
|
233
|
+
"description": "An identifier for the organization the request is being made by",
|
|
174
234
|
"required": true,
|
|
175
235
|
"style": "simple",
|
|
176
236
|
"explode": false,
|
|
177
237
|
"schema": {
|
|
178
238
|
"$ref": "#/components/schemas/OrganizationId"
|
|
179
|
-
}
|
|
239
|
+
},
|
|
240
|
+
"example": "f_ecom_zzxy_prd"
|
|
180
241
|
},
|
|
181
242
|
{
|
|
182
243
|
"name": "jobId",
|
|
183
244
|
"in": "path",
|
|
245
|
+
"description": "The identifier of the job.",
|
|
184
246
|
"required": true,
|
|
185
247
|
"style": "simple",
|
|
186
248
|
"explode": false,
|
|
187
249
|
"schema": {
|
|
188
250
|
"type": "string",
|
|
251
|
+
"example": "my-custom-job",
|
|
189
252
|
"maxLength": 256,
|
|
190
253
|
"minLength": 1
|
|
191
254
|
}
|
|
@@ -193,11 +256,13 @@
|
|
|
193
256
|
{
|
|
194
257
|
"name": "executionId",
|
|
195
258
|
"in": "path",
|
|
259
|
+
"description": "The identifier of the job execution.",
|
|
196
260
|
"required": true,
|
|
197
261
|
"style": "simple",
|
|
198
262
|
"explode": false,
|
|
199
263
|
"schema": {
|
|
200
264
|
"type": "string",
|
|
265
|
+
"example": "exec-001",
|
|
201
266
|
"maxLength": 256,
|
|
202
267
|
"minLength": 1
|
|
203
268
|
}
|
|
@@ -210,6 +275,11 @@
|
|
|
210
275
|
"application/json": {
|
|
211
276
|
"schema": {
|
|
212
277
|
"$ref": "#/components/schemas/JobExecution"
|
|
278
|
+
},
|
|
279
|
+
"examples": {
|
|
280
|
+
"JobExecutionDetails": {
|
|
281
|
+
"$ref": "#/components/examples/JobExecutionDetails"
|
|
282
|
+
}
|
|
213
283
|
}
|
|
214
284
|
}
|
|
215
285
|
}
|
|
@@ -226,6 +296,11 @@
|
|
|
226
296
|
"application/problem+json": {
|
|
227
297
|
"schema": {
|
|
228
298
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
299
|
+
},
|
|
300
|
+
"examples": {
|
|
301
|
+
"JobExecutionNotFound": {
|
|
302
|
+
"$ref": "#/components/examples/JobExecutionNotFound"
|
|
303
|
+
}
|
|
229
304
|
}
|
|
230
305
|
}
|
|
231
306
|
}
|
|
@@ -241,26 +316,32 @@
|
|
|
241
316
|
]
|
|
242
317
|
},
|
|
243
318
|
"delete": {
|
|
319
|
+
"summary": "Delete Job Execution",
|
|
320
|
+
"description": "Aborts and deletes a specific job execution. This operation can only be performed on\nexecutions that are currently in a running or pending state.\n",
|
|
244
321
|
"operationId": "deleteJobExecution",
|
|
245
322
|
"parameters": [
|
|
246
323
|
{
|
|
247
324
|
"name": "organizationId",
|
|
248
325
|
"in": "path",
|
|
326
|
+
"description": "An identifier for the organization the request is being made by",
|
|
249
327
|
"required": true,
|
|
250
328
|
"style": "simple",
|
|
251
329
|
"explode": false,
|
|
252
330
|
"schema": {
|
|
253
331
|
"$ref": "#/components/schemas/OrganizationId"
|
|
254
|
-
}
|
|
332
|
+
},
|
|
333
|
+
"example": "f_ecom_zzxy_prd"
|
|
255
334
|
},
|
|
256
335
|
{
|
|
257
336
|
"name": "jobId",
|
|
258
337
|
"in": "path",
|
|
338
|
+
"description": "The identifier of the job.",
|
|
259
339
|
"required": true,
|
|
260
340
|
"style": "simple",
|
|
261
341
|
"explode": false,
|
|
262
342
|
"schema": {
|
|
263
343
|
"type": "string",
|
|
344
|
+
"example": "my-custom-job",
|
|
264
345
|
"maxLength": 256,
|
|
265
346
|
"minLength": 1
|
|
266
347
|
}
|
|
@@ -268,11 +349,13 @@
|
|
|
268
349
|
{
|
|
269
350
|
"name": "executionId",
|
|
270
351
|
"in": "path",
|
|
352
|
+
"description": "The identifier of the job execution.",
|
|
271
353
|
"required": true,
|
|
272
354
|
"style": "simple",
|
|
273
355
|
"explode": false,
|
|
274
356
|
"schema": {
|
|
275
357
|
"type": "string",
|
|
358
|
+
"example": "exec-001",
|
|
276
359
|
"maxLength": 256,
|
|
277
360
|
"minLength": 1
|
|
278
361
|
}
|
|
@@ -294,6 +377,11 @@
|
|
|
294
377
|
"application/problem+json": {
|
|
295
378
|
"schema": {
|
|
296
379
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
380
|
+
},
|
|
381
|
+
"examples": {
|
|
382
|
+
"JobExecutionNotFound": {
|
|
383
|
+
"$ref": "#/components/examples/JobExecutionNotFound"
|
|
384
|
+
}
|
|
297
385
|
}
|
|
298
386
|
}
|
|
299
387
|
}
|
|
@@ -313,12 +401,36 @@
|
|
|
313
401
|
"schemas": {
|
|
314
402
|
"OrganizationId": {
|
|
315
403
|
"type": "string",
|
|
404
|
+
"description": "An identifier for the organization the request is being made by",
|
|
405
|
+
"example": "f_ecom_zzxy_prd",
|
|
316
406
|
"maxLength": 32,
|
|
317
407
|
"minLength": 1
|
|
318
408
|
},
|
|
319
409
|
"Query": {
|
|
320
410
|
"type": "object",
|
|
321
411
|
"additionalProperties": false,
|
|
412
|
+
"description": "A set of objects that define criteria used to select records. A query can contain one of the following:\n* `MatchAllQuery`\n - Matches all documents.\n* `TermQuery`\n - Matches one or more documents against one or more document fields.\n* `TextQuery`\n - Matches text against one or more fields.\n* `BoolQuery`\n - Allows construction of a logical expression of multiple queries.\n* `FilteredQuery`\n - Allows a filter to be applied to a query.\n* `NestedQuery`\n - Allows you to query on nested documents.\n - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._",
|
|
413
|
+
"example": {
|
|
414
|
+
"filteredQuery": {
|
|
415
|
+
"query": {
|
|
416
|
+
"textQuery": {
|
|
417
|
+
"fields": [
|
|
418
|
+
"couponId"
|
|
419
|
+
],
|
|
420
|
+
"searchPhrase": "disabled"
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
"filter": {
|
|
424
|
+
"termFilter": {
|
|
425
|
+
"field": "enabled",
|
|
426
|
+
"operator": "is",
|
|
427
|
+
"values": [
|
|
428
|
+
false
|
|
429
|
+
]
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
},
|
|
322
434
|
"maxProperties": 1,
|
|
323
435
|
"minProperties": 1,
|
|
324
436
|
"properties": {
|
|
@@ -345,21 +457,60 @@
|
|
|
345
457
|
"BoolQuery": {
|
|
346
458
|
"type": "object",
|
|
347
459
|
"additionalProperties": false,
|
|
460
|
+
"description": "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n",
|
|
461
|
+
"example": {
|
|
462
|
+
"value": {
|
|
463
|
+
"must": [
|
|
464
|
+
{
|
|
465
|
+
"textQuery": {
|
|
466
|
+
"fields": [
|
|
467
|
+
"couponId"
|
|
468
|
+
],
|
|
469
|
+
"searchPhrase": "DEAL"
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"textQuery": {
|
|
474
|
+
"fields": [
|
|
475
|
+
"description"
|
|
476
|
+
],
|
|
477
|
+
"searchPhrase": "Big bargain deal"
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"mustNot": [
|
|
482
|
+
{
|
|
483
|
+
"termQuery": {
|
|
484
|
+
"fields": [
|
|
485
|
+
"enabled"
|
|
486
|
+
],
|
|
487
|
+
"operator": "is",
|
|
488
|
+
"values": [
|
|
489
|
+
false
|
|
490
|
+
]
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
}
|
|
495
|
+
},
|
|
348
496
|
"properties": {
|
|
349
497
|
"must": {
|
|
350
498
|
"type": "array",
|
|
499
|
+
"description": "List of queries to be evaluated as an `AND` operator.",
|
|
351
500
|
"items": {
|
|
352
501
|
"$ref": "#/components/schemas/Query"
|
|
353
502
|
}
|
|
354
503
|
},
|
|
355
504
|
"mustNot": {
|
|
356
505
|
"type": "array",
|
|
506
|
+
"description": "List of queries to be evaluated as a `NOT` operator.",
|
|
357
507
|
"items": {
|
|
358
508
|
"$ref": "#/components/schemas/Query"
|
|
359
509
|
}
|
|
360
510
|
},
|
|
361
511
|
"should": {
|
|
362
512
|
"type": "array",
|
|
513
|
+
"description": "List of queries to be evaluated as an `OR` operator.",
|
|
363
514
|
"items": {
|
|
364
515
|
"$ref": "#/components/schemas/Query"
|
|
365
516
|
}
|
|
@@ -369,6 +520,7 @@
|
|
|
369
520
|
"Filter": {
|
|
370
521
|
"type": "object",
|
|
371
522
|
"additionalProperties": false,
|
|
523
|
+
"description": "Contains a set of objects that define criteria used to select records. A filter can contain one of the following:\n * `TermFilter`\n - Matches records where a field (or fields) exactly matches some simple value (including `null`).\n * `RangeFilter`\n - Matches records where a field value lies within a specified range.\n * `Range2Filter`\n - Matches records in a specified range across fields.\n * `QueryFilter`\n - Matches records based on a query.\n * `BoolFilter`\n - Provides filtering of records using a set of filters combined using a logical operator.",
|
|
372
524
|
"maxProperties": 1,
|
|
373
525
|
"minProperties": 1,
|
|
374
526
|
"properties": {
|
|
@@ -392,20 +544,49 @@
|
|
|
392
544
|
"BoolFilter": {
|
|
393
545
|
"type": "object",
|
|
394
546
|
"additionalProperties": false,
|
|
547
|
+
"description": "Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator.",
|
|
548
|
+
"example": {
|
|
549
|
+
"value": {
|
|
550
|
+
"operator": "and",
|
|
551
|
+
"filters": [
|
|
552
|
+
{
|
|
553
|
+
"termFilter": {
|
|
554
|
+
"field": "id",
|
|
555
|
+
"operator": "is",
|
|
556
|
+
"values": [
|
|
557
|
+
"myId"
|
|
558
|
+
]
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"termFilter": {
|
|
563
|
+
"field": "couponId",
|
|
564
|
+
"operator": "is",
|
|
565
|
+
"values": [
|
|
566
|
+
"couponOne"
|
|
567
|
+
]
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
}
|
|
572
|
+
},
|
|
395
573
|
"properties": {
|
|
396
574
|
"filters": {
|
|
397
575
|
"type": "array",
|
|
576
|
+
"description": "A list of filters that are logically combined by an operator.",
|
|
398
577
|
"items": {
|
|
399
578
|
"$ref": "#/components/schemas/Filter"
|
|
400
579
|
}
|
|
401
580
|
},
|
|
402
581
|
"operator": {
|
|
403
582
|
"type": "string",
|
|
583
|
+
"description": "The logical operator that is used to combine the filters.",
|
|
404
584
|
"enum": [
|
|
405
585
|
"and",
|
|
406
586
|
"or",
|
|
407
587
|
"not"
|
|
408
|
-
]
|
|
588
|
+
],
|
|
589
|
+
"example": "and"
|
|
409
590
|
}
|
|
410
591
|
},
|
|
411
592
|
"required": [
|
|
@@ -414,6 +595,7 @@
|
|
|
414
595
|
},
|
|
415
596
|
"QueryFilter": {
|
|
416
597
|
"type": "object",
|
|
598
|
+
"description": "Wraps any query and allows it to be used as a filter.",
|
|
417
599
|
"properties": {
|
|
418
600
|
"query": {
|
|
419
601
|
"$ref": "#/components/schemas/Query"
|
|
@@ -425,45 +607,71 @@
|
|
|
425
607
|
},
|
|
426
608
|
"Field": {
|
|
427
609
|
"type": "string",
|
|
610
|
+
"description": "Name of the field. Might be a custom field name prefixed with c_.",
|
|
611
|
+
"example": "couponId",
|
|
428
612
|
"maxLength": 260
|
|
429
613
|
},
|
|
430
614
|
"Range2Filter": {
|
|
431
615
|
"type": "object",
|
|
432
616
|
"additionalProperties": false,
|
|
617
|
+
"description": "Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.\n\nThe first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`.\n\nThe second range (R2) is defined by `fromValue` and `toValue`.\n\nThe filter mode specifies the method used to compare the two ranges:\n\n* `overlap`: R1 overlaps fully or partially with R2.\n* `containing`: R1 contains R2.\n* `contained`: R1 is contained in R2.\n\nThe range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive.\n\nA range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default.",
|
|
618
|
+
"example": {
|
|
619
|
+
"fromField": "validFrom",
|
|
620
|
+
"toField": "validTo",
|
|
621
|
+
"filterMode": "overlap",
|
|
622
|
+
"fromValue": "2007-01-01T00:00:00.000Z",
|
|
623
|
+
"toValue": "2017-01-01T00:00:00.000Z"
|
|
624
|
+
},
|
|
433
625
|
"properties": {
|
|
434
626
|
"filterMode": {
|
|
435
627
|
"type": "string",
|
|
436
628
|
"default": "overlap",
|
|
629
|
+
"description": "Compare mode: overlap, containing, or contained.",
|
|
437
630
|
"enum": [
|
|
438
631
|
"overlap",
|
|
439
632
|
"containing",
|
|
440
633
|
"contained"
|
|
441
|
-
]
|
|
634
|
+
],
|
|
635
|
+
"example": "overlap"
|
|
442
636
|
},
|
|
443
637
|
"fromField": {
|
|
444
638
|
"allOf": [
|
|
445
639
|
{
|
|
446
640
|
"$ref": "#/components/schemas/Field"
|
|
447
641
|
}
|
|
448
|
-
]
|
|
642
|
+
],
|
|
643
|
+
"description": "The field name of the field that starts the first range.",
|
|
644
|
+
"example": "validFrom"
|
|
449
645
|
},
|
|
450
646
|
"fromInclusive": {
|
|
451
647
|
"type": "boolean",
|
|
452
|
-
"default": true
|
|
648
|
+
"default": true,
|
|
649
|
+
"description": "A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
650
|
+
"example": true
|
|
651
|
+
},
|
|
652
|
+
"fromValue": {
|
|
653
|
+
"description": "The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.",
|
|
654
|
+
"example": "2007-01-01T00:00:00.000Z"
|
|
453
655
|
},
|
|
454
|
-
"fromValue": {},
|
|
455
656
|
"toField": {
|
|
456
657
|
"allOf": [
|
|
457
658
|
{
|
|
458
659
|
"$ref": "#/components/schemas/Field"
|
|
459
660
|
}
|
|
460
|
-
]
|
|
661
|
+
],
|
|
662
|
+
"description": "The field name of the field that ends the first range.",
|
|
663
|
+
"example": "validTo"
|
|
461
664
|
},
|
|
462
665
|
"toInclusive": {
|
|
463
666
|
"type": "boolean",
|
|
464
|
-
"default": true
|
|
667
|
+
"default": true,
|
|
668
|
+
"description": "A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
669
|
+
"example": true
|
|
465
670
|
},
|
|
466
|
-
"toValue": {
|
|
671
|
+
"toValue": {
|
|
672
|
+
"description": "The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.",
|
|
673
|
+
"example": "2017-01-01T00:00:00.000Z"
|
|
674
|
+
}
|
|
467
675
|
},
|
|
468
676
|
"required": [
|
|
469
677
|
"fromField",
|
|
@@ -472,49 +680,64 @@
|
|
|
472
680
|
},
|
|
473
681
|
"RangeFilter": {
|
|
474
682
|
"type": "object",
|
|
683
|
+
"description": "Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive.\n\nA range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default.",
|
|
475
684
|
"properties": {
|
|
476
685
|
"field": {
|
|
477
686
|
"allOf": [
|
|
478
687
|
{
|
|
479
688
|
"$ref": "#/components/schemas/Field"
|
|
480
689
|
}
|
|
481
|
-
]
|
|
690
|
+
],
|
|
691
|
+
"description": "The search field.",
|
|
692
|
+
"example": "validFrom"
|
|
482
693
|
},
|
|
483
694
|
"from": {
|
|
695
|
+
"description": "The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.",
|
|
484
696
|
"oneOf": [
|
|
485
697
|
{
|
|
486
698
|
"type": "string",
|
|
487
|
-
"format": "date-time"
|
|
699
|
+
"format": "date-time",
|
|
700
|
+
"example": "2007-01-01T00:00:00Z"
|
|
488
701
|
},
|
|
489
702
|
{
|
|
490
|
-
"type": "integer"
|
|
703
|
+
"type": "integer",
|
|
704
|
+
"example": 1
|
|
491
705
|
},
|
|
492
706
|
{
|
|
493
|
-
"type": "number"
|
|
707
|
+
"type": "number",
|
|
708
|
+
"example": 1
|
|
494
709
|
}
|
|
495
710
|
]
|
|
496
711
|
},
|
|
497
712
|
"fromInclusive": {
|
|
498
713
|
"type": "boolean",
|
|
499
|
-
"default": true
|
|
714
|
+
"default": true,
|
|
715
|
+
"description": "A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
716
|
+
"example": true
|
|
500
717
|
},
|
|
501
718
|
"to": {
|
|
719
|
+
"description": "The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.",
|
|
502
720
|
"oneOf": [
|
|
503
721
|
{
|
|
504
722
|
"type": "string",
|
|
505
|
-
"format": "date-time"
|
|
723
|
+
"format": "date-time",
|
|
724
|
+
"example": "2007-01-02T00:00:00Z"
|
|
506
725
|
},
|
|
507
726
|
{
|
|
508
|
-
"type": "integer"
|
|
727
|
+
"type": "integer",
|
|
728
|
+
"example": 2
|
|
509
729
|
},
|
|
510
730
|
{
|
|
511
|
-
"type": "number"
|
|
731
|
+
"type": "number",
|
|
732
|
+
"example": 2
|
|
512
733
|
}
|
|
513
734
|
]
|
|
514
735
|
},
|
|
515
736
|
"toInclusive": {
|
|
516
737
|
"type": "boolean",
|
|
517
|
-
"default": true
|
|
738
|
+
"default": true,
|
|
739
|
+
"description": "A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`.",
|
|
740
|
+
"example": true
|
|
518
741
|
}
|
|
519
742
|
},
|
|
520
743
|
"required": [
|
|
@@ -524,16 +747,26 @@
|
|
|
524
747
|
"TermFilter": {
|
|
525
748
|
"type": "object",
|
|
526
749
|
"additionalProperties": false,
|
|
750
|
+
"description": "Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only.",
|
|
751
|
+
"example": {
|
|
752
|
+
"field": "id",
|
|
753
|
+
"operator": "is",
|
|
754
|
+
"values": [
|
|
755
|
+
"myId"
|
|
756
|
+
]
|
|
757
|
+
},
|
|
527
758
|
"properties": {
|
|
528
759
|
"field": {
|
|
529
760
|
"allOf": [
|
|
530
761
|
{
|
|
531
762
|
"$ref": "#/components/schemas/Field"
|
|
532
763
|
}
|
|
533
|
-
]
|
|
764
|
+
],
|
|
765
|
+
"description": "The filter field."
|
|
534
766
|
},
|
|
535
767
|
"operator": {
|
|
536
768
|
"type": "string",
|
|
769
|
+
"description": "The operator used to compare the field's values with the given values.",
|
|
537
770
|
"enum": [
|
|
538
771
|
"is",
|
|
539
772
|
"one_of",
|
|
@@ -543,12 +776,15 @@
|
|
|
543
776
|
"greater",
|
|
544
777
|
"not_in",
|
|
545
778
|
"neq"
|
|
546
|
-
]
|
|
779
|
+
],
|
|
780
|
+
"example": "is"
|
|
547
781
|
},
|
|
548
782
|
"values": {
|
|
549
783
|
"type": "array",
|
|
784
|
+
"description": "The filter values.",
|
|
550
785
|
"items": {
|
|
551
|
-
"type": "string"
|
|
786
|
+
"type": "string",
|
|
787
|
+
"example": "myId"
|
|
552
788
|
}
|
|
553
789
|
}
|
|
554
790
|
},
|
|
@@ -560,6 +796,26 @@
|
|
|
560
796
|
"FilteredQuery": {
|
|
561
797
|
"type": "object",
|
|
562
798
|
"additionalProperties": false,
|
|
799
|
+
"description": "Allows to filter the result of a possibly complex query using a possibly complex filter.",
|
|
800
|
+
"example": {
|
|
801
|
+
"query": {
|
|
802
|
+
"textQuery": {
|
|
803
|
+
"fields": [
|
|
804
|
+
"couponId"
|
|
805
|
+
],
|
|
806
|
+
"searchPhrase": "disabled"
|
|
807
|
+
}
|
|
808
|
+
},
|
|
809
|
+
"filter": {
|
|
810
|
+
"termFilter": {
|
|
811
|
+
"field": "enabled",
|
|
812
|
+
"operator": "is",
|
|
813
|
+
"values": [
|
|
814
|
+
false
|
|
815
|
+
]
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
},
|
|
563
819
|
"properties": {
|
|
564
820
|
"filter": {
|
|
565
821
|
"$ref": "#/components/schemas/Filter"
|
|
@@ -574,14 +830,62 @@
|
|
|
574
830
|
]
|
|
575
831
|
},
|
|
576
832
|
"MatchAllQuery": {
|
|
577
|
-
"type": "object"
|
|
833
|
+
"type": "object",
|
|
834
|
+
"description": "Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints."
|
|
578
835
|
},
|
|
579
836
|
"NestedQuery": {
|
|
580
837
|
"type": "object",
|
|
581
838
|
"additionalProperties": false,
|
|
839
|
+
"description": "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n",
|
|
840
|
+
"example": {
|
|
841
|
+
"path": "order.shippingAddresses",
|
|
842
|
+
"query": {
|
|
843
|
+
"boolQuery": {
|
|
844
|
+
"must": [
|
|
845
|
+
{
|
|
846
|
+
"boolQuery": {
|
|
847
|
+
"must": [
|
|
848
|
+
{
|
|
849
|
+
"termQuery": {
|
|
850
|
+
"fields": [
|
|
851
|
+
"order.shippingAddresses.firstName"
|
|
852
|
+
],
|
|
853
|
+
"operator": "is",
|
|
854
|
+
"values": [
|
|
855
|
+
"John"
|
|
856
|
+
]
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
]
|
|
860
|
+
}
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
"boolQuery": {
|
|
864
|
+
"must": [
|
|
865
|
+
{
|
|
866
|
+
"termQuery": {
|
|
867
|
+
"fields": [
|
|
868
|
+
"order.shippingAddresses.lastName"
|
|
869
|
+
],
|
|
870
|
+
"operator": "is",
|
|
871
|
+
"values": [
|
|
872
|
+
"Doe"
|
|
873
|
+
]
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
]
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
]
|
|
880
|
+
}
|
|
881
|
+
},
|
|
882
|
+
"scoreMode": "avg"
|
|
883
|
+
},
|
|
582
884
|
"properties": {
|
|
583
885
|
"path": {
|
|
584
886
|
"type": "string",
|
|
887
|
+
"description": "The path to the nested document.",
|
|
888
|
+
"example": "order.shippingAddresses",
|
|
585
889
|
"maxLength": 2048
|
|
586
890
|
},
|
|
587
891
|
"query": {
|
|
@@ -589,12 +893,14 @@
|
|
|
589
893
|
},
|
|
590
894
|
"scoreMode": {
|
|
591
895
|
"type": "string",
|
|
896
|
+
"description": "Indicates how scores for matching child objects affect the root parent document’s relevance score.",
|
|
592
897
|
"enum": [
|
|
593
898
|
"avg",
|
|
594
899
|
"total",
|
|
595
900
|
"max",
|
|
596
901
|
"none"
|
|
597
|
-
]
|
|
902
|
+
],
|
|
903
|
+
"example": "avg"
|
|
598
904
|
}
|
|
599
905
|
},
|
|
600
906
|
"required": [
|
|
@@ -604,9 +910,11 @@
|
|
|
604
910
|
},
|
|
605
911
|
"TermQuery": {
|
|
606
912
|
"type": "object",
|
|
913
|
+
"description": "A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator.\n\n**Limitations:**\n\n* The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise.\n* A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields.",
|
|
607
914
|
"properties": {
|
|
608
915
|
"fields": {
|
|
609
916
|
"type": "array",
|
|
917
|
+
"description": "The document fields that the values are matched against, combined with the operator.",
|
|
610
918
|
"items": {
|
|
611
919
|
"$ref": "#/components/schemas/Field"
|
|
612
920
|
},
|
|
@@ -614,6 +922,7 @@
|
|
|
614
922
|
},
|
|
615
923
|
"operator": {
|
|
616
924
|
"type": "string",
|
|
925
|
+
"description": "Returns the operator to use for the term query.",
|
|
617
926
|
"enum": [
|
|
618
927
|
"is",
|
|
619
928
|
"one_of",
|
|
@@ -623,23 +932,30 @@
|
|
|
623
932
|
"greater",
|
|
624
933
|
"not_in",
|
|
625
934
|
"neq"
|
|
626
|
-
]
|
|
935
|
+
],
|
|
936
|
+
"example": "is"
|
|
627
937
|
},
|
|
628
938
|
"values": {
|
|
629
939
|
"type": "array",
|
|
940
|
+
"description": "The values that the fields are compared against, combined with the operator.",
|
|
630
941
|
"items": {
|
|
942
|
+
"example": "myCouponId",
|
|
631
943
|
"oneOf": [
|
|
632
944
|
{
|
|
633
|
-
"type": "string"
|
|
945
|
+
"type": "string",
|
|
946
|
+
"example": "myCouponId"
|
|
634
947
|
},
|
|
635
948
|
{
|
|
636
|
-
"type": "number"
|
|
949
|
+
"type": "number",
|
|
950
|
+
"example": 1
|
|
637
951
|
},
|
|
638
952
|
{
|
|
639
|
-
"type": "boolean"
|
|
953
|
+
"type": "boolean",
|
|
954
|
+
"example": true
|
|
640
955
|
},
|
|
641
956
|
{
|
|
642
|
-
"type": "integer"
|
|
957
|
+
"type": "integer",
|
|
958
|
+
"example": 1
|
|
643
959
|
}
|
|
644
960
|
]
|
|
645
961
|
}
|
|
@@ -653,16 +969,26 @@
|
|
|
653
969
|
"TextQuery": {
|
|
654
970
|
"type": "object",
|
|
655
971
|
"additionalProperties": false,
|
|
972
|
+
"description": "A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields.",
|
|
973
|
+
"example": {
|
|
974
|
+
"fields": [
|
|
975
|
+
"couponId"
|
|
976
|
+
],
|
|
977
|
+
"searchPhrase": "limit"
|
|
978
|
+
},
|
|
656
979
|
"properties": {
|
|
657
980
|
"fields": {
|
|
658
981
|
"type": "array",
|
|
982
|
+
"description": "The document fields that the search phrase matches against.",
|
|
659
983
|
"items": {
|
|
660
984
|
"$ref": "#/components/schemas/Field"
|
|
661
985
|
},
|
|
662
986
|
"minItems": 1
|
|
663
987
|
},
|
|
664
988
|
"searchPhrase": {
|
|
665
|
-
"type": "string"
|
|
989
|
+
"type": "string",
|
|
990
|
+
"description": "A search phrase, which can include multiple terms separated by spaces.",
|
|
991
|
+
"example": "campaign summer"
|
|
666
992
|
}
|
|
667
993
|
},
|
|
668
994
|
"required": [
|
|
@@ -673,18 +999,27 @@
|
|
|
673
999
|
"Sort": {
|
|
674
1000
|
"type": "object",
|
|
675
1001
|
"additionalProperties": false,
|
|
1002
|
+
"description": "Document representing a sort request. Each API has a different default sort configuration that can be modified in the request.",
|
|
1003
|
+
"example": {
|
|
1004
|
+
"field": "couponId",
|
|
1005
|
+
"sortOrder": "desc"
|
|
1006
|
+
},
|
|
676
1007
|
"properties": {
|
|
677
1008
|
"field": {
|
|
678
1009
|
"type": "string",
|
|
1010
|
+
"description": "The name of the field to sort on.",
|
|
1011
|
+
"example": "couponId",
|
|
679
1012
|
"maxLength": 256
|
|
680
1013
|
},
|
|
681
1014
|
"sortOrder": {
|
|
682
1015
|
"type": "string",
|
|
683
1016
|
"default": "asc",
|
|
1017
|
+
"description": "The sort order to be applied when sorting. When omitted, the default sort order (asc) is used.",
|
|
684
1018
|
"enum": [
|
|
685
1019
|
"asc",
|
|
686
1020
|
"desc"
|
|
687
|
-
]
|
|
1021
|
+
],
|
|
1022
|
+
"example": "asc"
|
|
688
1023
|
}
|
|
689
1024
|
},
|
|
690
1025
|
"required": [
|
|
@@ -695,14 +1030,19 @@
|
|
|
695
1030
|
"type": "integer",
|
|
696
1031
|
"format": "int32",
|
|
697
1032
|
"default": 0,
|
|
1033
|
+
"description": "The zero-based index of the first hit/data to include in the result.",
|
|
1034
|
+
"example": 0,
|
|
698
1035
|
"minimum": 0
|
|
699
1036
|
},
|
|
700
1037
|
"SearchRequest": {
|
|
701
1038
|
"type": "object",
|
|
1039
|
+
"description": "Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource.",
|
|
702
1040
|
"properties": {
|
|
703
1041
|
"limit": {
|
|
704
1042
|
"type": "integer",
|
|
705
1043
|
"format": "int32",
|
|
1044
|
+
"description": "Maximum records to retrieve per request, not to exceed 200.",
|
|
1045
|
+
"example": 10,
|
|
706
1046
|
"maximum": 200,
|
|
707
1047
|
"minimum": 1
|
|
708
1048
|
},
|
|
@@ -711,6 +1051,7 @@
|
|
|
711
1051
|
},
|
|
712
1052
|
"sorts": {
|
|
713
1053
|
"type": "array",
|
|
1054
|
+
"description": "The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed.",
|
|
714
1055
|
"items": {
|
|
715
1056
|
"$ref": "#/components/schemas/Sort"
|
|
716
1057
|
}
|
|
@@ -728,20 +1069,26 @@
|
|
|
728
1069
|
{
|
|
729
1070
|
"$ref": "#/components/schemas/SearchRequest"
|
|
730
1071
|
}
|
|
731
|
-
]
|
|
1072
|
+
],
|
|
1073
|
+
"description": "Document representing a search request for retrieving job executions. The query is a potentially complex set of expressions.\n\nSearchable attributes:\n- id - String\n- jobId - String\n- status - String\n- startTime - DateTime\n- endTime - DateTime\n\nSortable attributes:\n- id - String\n- jobId - String\n- status - String\n- startTime - DateTime\n- endTime - DateTime\n"
|
|
732
1074
|
},
|
|
733
1075
|
"Total": {
|
|
734
1076
|
"type": "integer",
|
|
735
1077
|
"format": "int32",
|
|
736
1078
|
"default": 0,
|
|
1079
|
+
"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.",
|
|
1080
|
+
"example": 10,
|
|
737
1081
|
"minimum": 0
|
|
738
1082
|
},
|
|
739
1083
|
"ResultBase": {
|
|
740
1084
|
"type": "object",
|
|
1085
|
+
"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.",
|
|
741
1086
|
"properties": {
|
|
742
1087
|
"limit": {
|
|
743
1088
|
"type": "integer",
|
|
744
|
-
"format": "int32"
|
|
1089
|
+
"format": "int32",
|
|
1090
|
+
"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.",
|
|
1091
|
+
"example": 10
|
|
745
1092
|
},
|
|
746
1093
|
"total": {
|
|
747
1094
|
"$ref": "#/components/schemas/Total"
|
|
@@ -758,6 +1105,7 @@
|
|
|
758
1105
|
"$ref": "#/components/schemas/ResultBase"
|
|
759
1106
|
}
|
|
760
1107
|
],
|
|
1108
|
+
"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`.",
|
|
761
1109
|
"properties": {
|
|
762
1110
|
"offset": {
|
|
763
1111
|
"$ref": "#/components/schemas/Offset"
|
|
@@ -776,18 +1124,67 @@
|
|
|
776
1124
|
"$ref": "#/components/schemas/PaginatedResultBase"
|
|
777
1125
|
}
|
|
778
1126
|
],
|
|
1127
|
+
"description": "Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`.",
|
|
1128
|
+
"example": {
|
|
1129
|
+
"limit": 1,
|
|
1130
|
+
"hits": [
|
|
1131
|
+
{
|
|
1132
|
+
"couponId": "coupon1",
|
|
1133
|
+
"creationDate": "2019-10-20T12:00:00Z",
|
|
1134
|
+
"description": "This coupon is used to give 10% off stuff.",
|
|
1135
|
+
"enabled": false,
|
|
1136
|
+
"exportedCodeCount": 0,
|
|
1137
|
+
"lastModified": "2019-10-30T04:23:59Z",
|
|
1138
|
+
"redemptionCount": 3,
|
|
1139
|
+
"redemptionLimits": {
|
|
1140
|
+
"limitPerCode": 1,
|
|
1141
|
+
"limitPerCustomer": 1,
|
|
1142
|
+
"limitPerTimeFrame": {
|
|
1143
|
+
"limit": 2,
|
|
1144
|
+
"redemptionTimeFrame": 24
|
|
1145
|
+
}
|
|
1146
|
+
},
|
|
1147
|
+
"singleCode": "MyCode",
|
|
1148
|
+
"systemCodesConfig": {
|
|
1149
|
+
"codePrefix": "SG",
|
|
1150
|
+
"numberOfCodes": 500000
|
|
1151
|
+
},
|
|
1152
|
+
"totalCodesCount": 50,
|
|
1153
|
+
"type": "single_code"
|
|
1154
|
+
}
|
|
1155
|
+
],
|
|
1156
|
+
"query": {
|
|
1157
|
+
"textQuery": {
|
|
1158
|
+
"fields": [
|
|
1159
|
+
"id",
|
|
1160
|
+
"description"
|
|
1161
|
+
],
|
|
1162
|
+
"searchPhrase": "stuff"
|
|
1163
|
+
}
|
|
1164
|
+
},
|
|
1165
|
+
"sorts": [
|
|
1166
|
+
{
|
|
1167
|
+
"field": "couponId",
|
|
1168
|
+
"sortOrder": "desc"
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
"offset": 2,
|
|
1172
|
+
"total": 8
|
|
1173
|
+
},
|
|
779
1174
|
"properties": {
|
|
780
1175
|
"query": {
|
|
781
1176
|
"$ref": "#/components/schemas/Query"
|
|
782
1177
|
},
|
|
783
1178
|
"sorts": {
|
|
784
1179
|
"type": "array",
|
|
1180
|
+
"description": "The sorting that was applied to the result.",
|
|
785
1181
|
"items": {
|
|
786
1182
|
"$ref": "#/components/schemas/Sort"
|
|
787
1183
|
}
|
|
788
1184
|
},
|
|
789
1185
|
"hits": {
|
|
790
1186
|
"type": "array",
|
|
1187
|
+
"description": "The sorted array of search hits. Can be empty.",
|
|
791
1188
|
"items": {
|
|
792
1189
|
"type": "object"
|
|
793
1190
|
}
|
|
@@ -799,6 +1196,7 @@
|
|
|
799
1196
|
},
|
|
800
1197
|
"ExecutionStatus": {
|
|
801
1198
|
"type": "string",
|
|
1199
|
+
"description": "The execution lifecycle status of a job or step execution.",
|
|
802
1200
|
"enum": [
|
|
803
1201
|
"pending",
|
|
804
1202
|
"running",
|
|
@@ -814,56 +1212,76 @@
|
|
|
814
1212
|
"aborted",
|
|
815
1213
|
"finished",
|
|
816
1214
|
"unknown"
|
|
817
|
-
]
|
|
1215
|
+
],
|
|
1216
|
+
"example": "finished"
|
|
818
1217
|
},
|
|
819
1218
|
"ExitStatus": {
|
|
820
1219
|
"type": "object",
|
|
1220
|
+
"description": "Document representing the exit status of a job or step execution.",
|
|
821
1221
|
"properties": {
|
|
822
1222
|
"code": {
|
|
823
1223
|
"type": "string",
|
|
1224
|
+
"description": "The exit status code.",
|
|
1225
|
+
"example": "OK",
|
|
824
1226
|
"maxLength": 256
|
|
825
1227
|
},
|
|
826
1228
|
"message": {
|
|
827
1229
|
"type": "string",
|
|
1230
|
+
"description": "The exit status message providing additional details.",
|
|
1231
|
+
"example": "Job completed successfully",
|
|
828
1232
|
"maxLength": 4000
|
|
829
1233
|
},
|
|
830
1234
|
"status": {
|
|
831
1235
|
"type": "string",
|
|
1236
|
+
"description": "The exit status value.",
|
|
832
1237
|
"enum": [
|
|
833
1238
|
"ok",
|
|
834
1239
|
"error"
|
|
835
|
-
]
|
|
1240
|
+
],
|
|
1241
|
+
"example": "ok"
|
|
836
1242
|
}
|
|
837
1243
|
}
|
|
838
1244
|
},
|
|
839
1245
|
"StatusMetadata": {
|
|
840
1246
|
"type": "object",
|
|
1247
|
+
"description": "Document representing metadata associated with the status of a job execution.",
|
|
841
1248
|
"properties": {
|
|
842
1249
|
"clientId": {
|
|
843
1250
|
"type": "string",
|
|
1251
|
+
"description": "The client ID responsible for the status.",
|
|
1252
|
+
"example": "scapi",
|
|
844
1253
|
"maxLength": 256
|
|
845
1254
|
},
|
|
846
1255
|
"reason": {
|
|
847
1256
|
"type": "string",
|
|
1257
|
+
"description": "The reason for the status.",
|
|
1258
|
+
"example": "Job aborted by user",
|
|
848
1259
|
"maxLength": 4000
|
|
849
1260
|
},
|
|
850
1261
|
"userLogin": {
|
|
851
1262
|
"type": "string",
|
|
1263
|
+
"description": "The user login responsible for the status.",
|
|
1264
|
+
"example": "admin",
|
|
852
1265
|
"maxLength": 256
|
|
853
1266
|
}
|
|
854
1267
|
}
|
|
855
1268
|
},
|
|
856
1269
|
"JobParameter": {
|
|
857
1270
|
"type": "object",
|
|
1271
|
+
"description": "Document representing a single job parameter as a name-value pair.",
|
|
858
1272
|
"properties": {
|
|
859
1273
|
"name": {
|
|
860
1274
|
"type": "string",
|
|
1275
|
+
"description": "The name of the job parameter.",
|
|
1276
|
+
"example": "param1",
|
|
861
1277
|
"maxLength": 256,
|
|
862
1278
|
"minLength": 1,
|
|
863
1279
|
"pattern": "\\S|(\\S(.*)\\S)"
|
|
864
1280
|
},
|
|
865
1281
|
"value": {
|
|
866
1282
|
"type": "string",
|
|
1283
|
+
"description": "The value of the job parameter.",
|
|
1284
|
+
"example": "value1",
|
|
867
1285
|
"maxLength": 1000,
|
|
868
1286
|
"minLength": 0,
|
|
869
1287
|
"pattern": "\\S|(\\S(.*)\\S)"
|
|
@@ -876,56 +1294,79 @@
|
|
|
876
1294
|
},
|
|
877
1295
|
"JobExecutionRetryInformation": {
|
|
878
1296
|
"type": "object",
|
|
1297
|
+
"description": "Document representing retry information for a previous failed job execution.",
|
|
879
1298
|
"properties": {
|
|
880
1299
|
"currentRetryAttempt": {
|
|
881
1300
|
"type": "integer",
|
|
882
|
-
"format": "int32"
|
|
1301
|
+
"format": "int32",
|
|
1302
|
+
"description": "The current attempt to retry the previous failed job execution.",
|
|
1303
|
+
"example": 1
|
|
883
1304
|
},
|
|
884
1305
|
"maxRetries": {
|
|
885
1306
|
"type": "integer",
|
|
886
|
-
"format": "int32"
|
|
1307
|
+
"format": "int32",
|
|
1308
|
+
"description": "The maximum number of retries.",
|
|
1309
|
+
"example": 3
|
|
887
1310
|
}
|
|
888
1311
|
}
|
|
889
1312
|
},
|
|
890
1313
|
"JobExecutionContinueInformation": {
|
|
891
1314
|
"type": "object",
|
|
1315
|
+
"description": "Document representing continuation information for a job execution.",
|
|
892
1316
|
"properties": {
|
|
893
1317
|
"isPending": {
|
|
894
|
-
"type": "boolean"
|
|
1318
|
+
"type": "boolean",
|
|
1319
|
+
"description": "True if the continuation of this job execution is pending and will be started soon, false otherwise.",
|
|
1320
|
+
"example": true
|
|
895
1321
|
},
|
|
896
1322
|
"continueStatus": {
|
|
897
1323
|
"type": "string",
|
|
1324
|
+
"description": "The status this job execution will get on continuation if continuation is pending.",
|
|
1325
|
+
"example": "OK",
|
|
898
1326
|
"maxLength": 256
|
|
899
1327
|
}
|
|
900
1328
|
}
|
|
901
1329
|
},
|
|
902
1330
|
"JobStepExecution": {
|
|
903
1331
|
"type": "object",
|
|
1332
|
+
"description": "Document representing a step execution within a job execution.",
|
|
904
1333
|
"properties": {
|
|
905
1334
|
"id": {
|
|
906
1335
|
"type": "string",
|
|
1336
|
+
"description": "The ID of the step execution.",
|
|
1337
|
+
"example": "4",
|
|
907
1338
|
"maxLength": 256,
|
|
908
1339
|
"minLength": 1
|
|
909
1340
|
},
|
|
910
1341
|
"stepId": {
|
|
911
1342
|
"type": "string",
|
|
1343
|
+
"description": "The ID of the step.",
|
|
1344
|
+
"example": "Step1",
|
|
912
1345
|
"maxLength": 256,
|
|
913
1346
|
"minLength": 1
|
|
914
1347
|
},
|
|
915
1348
|
"stepDescription": {
|
|
916
1349
|
"type": "string",
|
|
1350
|
+
"description": "The description of the step.",
|
|
1351
|
+
"example": "A step that executes a pipeline that can be configured via a parameter",
|
|
917
1352
|
"maxLength": 4000
|
|
918
1353
|
},
|
|
919
1354
|
"stepTypeId": {
|
|
920
1355
|
"type": "string",
|
|
1356
|
+
"description": "The type identifier of the step.",
|
|
1357
|
+
"example": "ExecutePipeline",
|
|
921
1358
|
"maxLength": 256
|
|
922
1359
|
},
|
|
923
1360
|
"stepTypeInfo": {
|
|
924
1361
|
"type": "string",
|
|
1362
|
+
"description": "Additional type information about the step.",
|
|
1363
|
+
"example": "TestWAPIJobPipeline-StartEnd",
|
|
925
1364
|
"maxLength": 4000
|
|
926
1365
|
},
|
|
927
1366
|
"executionScope": {
|
|
928
1367
|
"type": "string",
|
|
1368
|
+
"description": "The execution scope of the step.",
|
|
1369
|
+
"example": "Organization",
|
|
929
1370
|
"maxLength": 256
|
|
930
1371
|
},
|
|
931
1372
|
"executionStatus": {
|
|
@@ -933,90 +1374,126 @@
|
|
|
933
1374
|
{
|
|
934
1375
|
"$ref": "#/components/schemas/ExecutionStatus"
|
|
935
1376
|
}
|
|
936
|
-
]
|
|
1377
|
+
],
|
|
1378
|
+
"description": "The execution lifecycle status of the step."
|
|
937
1379
|
},
|
|
938
1380
|
"status": {
|
|
939
1381
|
"type": "string",
|
|
1382
|
+
"description": "The exit status of the step execution.",
|
|
1383
|
+
"example": "OK",
|
|
940
1384
|
"maxLength": 256
|
|
941
1385
|
},
|
|
942
1386
|
"startTime": {
|
|
943
1387
|
"type": "string",
|
|
944
|
-
"format": "date-time"
|
|
1388
|
+
"format": "date-time",
|
|
1389
|
+
"description": "The timestamp when the step execution started.",
|
|
1390
|
+
"example": "2024-10-14T10:00:00Z"
|
|
945
1391
|
},
|
|
946
1392
|
"endTime": {
|
|
947
1393
|
"type": "string",
|
|
948
|
-
"format": "date-time"
|
|
1394
|
+
"format": "date-time",
|
|
1395
|
+
"description": "The timestamp when the step execution ended.",
|
|
1396
|
+
"example": "2024-10-14T10:05:00Z"
|
|
949
1397
|
},
|
|
950
1398
|
"duration": {
|
|
951
1399
|
"type": "integer",
|
|
952
|
-
"format": "int64"
|
|
1400
|
+
"format": "int64",
|
|
1401
|
+
"description": "The duration of the step execution in milliseconds.",
|
|
1402
|
+
"example": 21
|
|
953
1403
|
},
|
|
954
1404
|
"modificationTime": {
|
|
955
1405
|
"type": "string",
|
|
956
|
-
"format": "date-time"
|
|
1406
|
+
"format": "date-time",
|
|
1407
|
+
"description": "The timestamp when the step execution was last modified.",
|
|
1408
|
+
"example": "2024-10-14T10:05:00Z"
|
|
957
1409
|
},
|
|
958
1410
|
"statusMetadata": {
|
|
959
1411
|
"allOf": [
|
|
960
1412
|
{
|
|
961
1413
|
"$ref": "#/components/schemas/StatusMetadata"
|
|
962
1414
|
}
|
|
963
|
-
]
|
|
1415
|
+
],
|
|
1416
|
+
"description": "Metadata associated with the current status of the step execution."
|
|
964
1417
|
},
|
|
965
1418
|
"exitStatus": {
|
|
966
1419
|
"allOf": [
|
|
967
1420
|
{
|
|
968
1421
|
"$ref": "#/components/schemas/ExitStatus"
|
|
969
1422
|
}
|
|
970
|
-
]
|
|
1423
|
+
],
|
|
1424
|
+
"description": "The exit status of the step execution."
|
|
971
1425
|
},
|
|
972
1426
|
"includeStepsFromJobId": {
|
|
973
1427
|
"type": "string",
|
|
1428
|
+
"description": "The ID of the job whose steps are included in this step execution.",
|
|
1429
|
+
"example": "JobExecutionTestJob2",
|
|
974
1430
|
"maxLength": 256
|
|
975
1431
|
},
|
|
976
1432
|
"isChunkOriented": {
|
|
977
|
-
"type": "boolean"
|
|
1433
|
+
"type": "boolean",
|
|
1434
|
+
"description": "Indicates whether the step execution is chunk-oriented.",
|
|
1435
|
+
"example": false
|
|
978
1436
|
},
|
|
979
1437
|
"chunkSize": {
|
|
980
1438
|
"type": "integer",
|
|
981
|
-
"format": "int32"
|
|
1439
|
+
"format": "int32",
|
|
1440
|
+
"description": "The chunk size used during step execution.",
|
|
1441
|
+
"example": 100
|
|
982
1442
|
},
|
|
983
1443
|
"itemFilterCount": {
|
|
984
1444
|
"type": "integer",
|
|
985
|
-
"format": "int32"
|
|
1445
|
+
"format": "int32",
|
|
1446
|
+
"description": "The number of items filtered during step execution.",
|
|
1447
|
+
"example": 0
|
|
986
1448
|
},
|
|
987
1449
|
"itemWriteCount": {
|
|
988
1450
|
"type": "integer",
|
|
989
|
-
"format": "int32"
|
|
1451
|
+
"format": "int32",
|
|
1452
|
+
"description": "The number of items written during step execution.",
|
|
1453
|
+
"example": 500
|
|
990
1454
|
},
|
|
991
1455
|
"totalItemCount": {
|
|
992
1456
|
"type": "integer",
|
|
993
|
-
"format": "int64"
|
|
1457
|
+
"format": "int64",
|
|
1458
|
+
"description": "The total number of items to process during step execution.",
|
|
1459
|
+
"example": 500
|
|
994
1460
|
}
|
|
995
1461
|
}
|
|
996
1462
|
},
|
|
997
1463
|
"JobExecution": {
|
|
998
1464
|
"type": "object",
|
|
1465
|
+
"description": "Document representing a job execution.",
|
|
999
1466
|
"properties": {
|
|
1000
1467
|
"id": {
|
|
1001
1468
|
"type": "string",
|
|
1469
|
+
"description": "The ID of the job execution.",
|
|
1470
|
+
"example": "1",
|
|
1002
1471
|
"maxLength": 256,
|
|
1003
1472
|
"minLength": 1
|
|
1004
1473
|
},
|
|
1005
1474
|
"jobId": {
|
|
1006
1475
|
"type": "string",
|
|
1476
|
+
"description": "The ID of the job.",
|
|
1477
|
+
"example": "JobExecutionTestJob1",
|
|
1007
1478
|
"maxLength": 256,
|
|
1008
1479
|
"minLength": 1
|
|
1009
1480
|
},
|
|
1010
1481
|
"jobDescription": {
|
|
1011
1482
|
"type": "string",
|
|
1483
|
+
"description": "The description of the job.",
|
|
1484
|
+
"example": "Test job for WAPI",
|
|
1012
1485
|
"maxLength": 4000
|
|
1013
1486
|
},
|
|
1014
1487
|
"clientId": {
|
|
1015
1488
|
"type": "string",
|
|
1489
|
+
"description": "The client ID that triggered the job execution.",
|
|
1490
|
+
"example": "scapi",
|
|
1016
1491
|
"maxLength": 256
|
|
1017
1492
|
},
|
|
1018
1493
|
"userLogin": {
|
|
1019
1494
|
"type": "string",
|
|
1495
|
+
"description": "The login of the user who started the job execution, if started by a registered user.",
|
|
1496
|
+
"example": "admin",
|
|
1020
1497
|
"maxLength": 256
|
|
1021
1498
|
},
|
|
1022
1499
|
"executionStatus": {
|
|
@@ -1024,42 +1501,61 @@
|
|
|
1024
1501
|
{
|
|
1025
1502
|
"$ref": "#/components/schemas/ExecutionStatus"
|
|
1026
1503
|
}
|
|
1027
|
-
]
|
|
1504
|
+
],
|
|
1505
|
+
"description": "The execution lifecycle status of the job."
|
|
1028
1506
|
},
|
|
1029
1507
|
"status": {
|
|
1030
1508
|
"type": "string",
|
|
1509
|
+
"description": "The exit status of the job execution.",
|
|
1510
|
+
"example": "OK",
|
|
1031
1511
|
"maxLength": 256
|
|
1032
1512
|
},
|
|
1033
1513
|
"startTime": {
|
|
1034
1514
|
"type": "string",
|
|
1035
|
-
"format": "date-time"
|
|
1515
|
+
"format": "date-time",
|
|
1516
|
+
"description": "The timestamp when the job execution started.",
|
|
1517
|
+
"example": "2024-10-14T10:00:00Z"
|
|
1036
1518
|
},
|
|
1037
1519
|
"endTime": {
|
|
1038
1520
|
"type": "string",
|
|
1039
|
-
"format": "date-time"
|
|
1521
|
+
"format": "date-time",
|
|
1522
|
+
"description": "The timestamp when the job execution ended.",
|
|
1523
|
+
"example": "2024-10-14T10:10:00Z"
|
|
1040
1524
|
},
|
|
1041
1525
|
"creationDate": {
|
|
1042
1526
|
"type": "string",
|
|
1043
|
-
"format": "date-time"
|
|
1527
|
+
"format": "date-time",
|
|
1528
|
+
"description": "The timestamp when the job execution was created.",
|
|
1529
|
+
"example": "2024-10-14T10:00:00Z"
|
|
1044
1530
|
},
|
|
1045
1531
|
"duration": {
|
|
1046
1532
|
"type": "integer",
|
|
1047
|
-
"format": "int64"
|
|
1533
|
+
"format": "int64",
|
|
1534
|
+
"description": "The duration of the job execution in milliseconds.",
|
|
1535
|
+
"example": 171
|
|
1048
1536
|
},
|
|
1049
1537
|
"effectiveDuration": {
|
|
1050
1538
|
"type": "integer",
|
|
1051
|
-
"format": "int64"
|
|
1539
|
+
"format": "int64",
|
|
1540
|
+
"description": "The effective duration of the job execution in milliseconds, excluding any paused time.",
|
|
1541
|
+
"example": 92
|
|
1052
1542
|
},
|
|
1053
1543
|
"modificationTime": {
|
|
1054
1544
|
"type": "string",
|
|
1055
|
-
"format": "date-time"
|
|
1545
|
+
"format": "date-time",
|
|
1546
|
+
"description": "The timestamp when the job execution was last modified.",
|
|
1547
|
+
"example": "2024-10-14T10:10:00Z"
|
|
1056
1548
|
},
|
|
1057
1549
|
"lastModified": {
|
|
1058
1550
|
"type": "string",
|
|
1059
|
-
"format": "date-time"
|
|
1551
|
+
"format": "date-time",
|
|
1552
|
+
"description": "The timestamp when the job execution was last modified (alias).",
|
|
1553
|
+
"example": "2024-10-14T10:10:00Z"
|
|
1060
1554
|
},
|
|
1061
1555
|
"executedServerId": {
|
|
1062
1556
|
"type": "string",
|
|
1557
|
+
"description": "The ID of the server that executed the job.",
|
|
1558
|
+
"example": "192.168.1.2-0",
|
|
1063
1559
|
"maxLength": 256
|
|
1064
1560
|
},
|
|
1065
1561
|
"exitStatus": {
|
|
@@ -1067,35 +1563,46 @@
|
|
|
1067
1563
|
{
|
|
1068
1564
|
"$ref": "#/components/schemas/ExitStatus"
|
|
1069
1565
|
}
|
|
1070
|
-
]
|
|
1566
|
+
],
|
|
1567
|
+
"description": "The exit status of the job execution."
|
|
1071
1568
|
},
|
|
1072
1569
|
"statusMetadata": {
|
|
1073
1570
|
"allOf": [
|
|
1074
1571
|
{
|
|
1075
1572
|
"$ref": "#/components/schemas/StatusMetadata"
|
|
1076
1573
|
}
|
|
1077
|
-
]
|
|
1574
|
+
],
|
|
1575
|
+
"description": "Metadata associated with the current status of the job execution."
|
|
1078
1576
|
},
|
|
1079
1577
|
"isLogFileExisting": {
|
|
1080
|
-
"type": "boolean"
|
|
1578
|
+
"type": "boolean",
|
|
1579
|
+
"description": "Indicates whether a log file exists for the job execution.",
|
|
1580
|
+
"example": true
|
|
1081
1581
|
},
|
|
1082
1582
|
"isRestart": {
|
|
1083
|
-
"type": "boolean"
|
|
1583
|
+
"type": "boolean",
|
|
1584
|
+
"description": "Indicates whether the job execution is a restart of a previous execution.",
|
|
1585
|
+
"example": false
|
|
1084
1586
|
},
|
|
1085
1587
|
"logFilePath": {
|
|
1086
1588
|
"type": "string",
|
|
1589
|
+
"description": "The full WebDAV path of the log file associated with the job execution.",
|
|
1590
|
+
"example": "/Sites/LOGS/jobs/JobExecutionTestJob1/Job-JobExecutionTestJob1-02c585c2a242c8eee74bd1ba51.log",
|
|
1087
1591
|
"maxLength": 4000
|
|
1088
1592
|
},
|
|
1089
1593
|
"parameters": {
|
|
1090
1594
|
"type": "array",
|
|
1595
|
+
"description": "The parameters used for the job execution.",
|
|
1091
1596
|
"items": {
|
|
1092
1597
|
"$ref": "#/components/schemas/JobParameter"
|
|
1093
1598
|
}
|
|
1094
1599
|
},
|
|
1095
1600
|
"executionScopes": {
|
|
1096
1601
|
"type": "array",
|
|
1602
|
+
"description": "The scopes for which the job was executed.",
|
|
1097
1603
|
"items": {
|
|
1098
1604
|
"type": "string",
|
|
1605
|
+
"example": "Organization",
|
|
1099
1606
|
"maxLength": 256
|
|
1100
1607
|
}
|
|
1101
1608
|
},
|
|
@@ -1104,17 +1611,20 @@
|
|
|
1104
1611
|
{
|
|
1105
1612
|
"$ref": "#/components/schemas/JobExecutionRetryInformation"
|
|
1106
1613
|
}
|
|
1107
|
-
]
|
|
1614
|
+
],
|
|
1615
|
+
"description": "The retry information of this execution if available."
|
|
1108
1616
|
},
|
|
1109
1617
|
"continueInformation": {
|
|
1110
1618
|
"allOf": [
|
|
1111
1619
|
{
|
|
1112
1620
|
"$ref": "#/components/schemas/JobExecutionContinueInformation"
|
|
1113
1621
|
}
|
|
1114
|
-
]
|
|
1622
|
+
],
|
|
1623
|
+
"description": "The continuation information of this execution if available."
|
|
1115
1624
|
},
|
|
1116
1625
|
"stepExecutions": {
|
|
1117
1626
|
"type": "array",
|
|
1627
|
+
"description": "The step executions that are part of this job execution.",
|
|
1118
1628
|
"items": {
|
|
1119
1629
|
"$ref": "#/components/schemas/JobStepExecution"
|
|
1120
1630
|
}
|
|
@@ -1132,9 +1642,11 @@
|
|
|
1132
1642
|
"$ref": "#/components/schemas/PaginatedSearchResult"
|
|
1133
1643
|
}
|
|
1134
1644
|
],
|
|
1645
|
+
"description": "Document representing a job execution search result. This includes the query, hits (array of JobExecution objects), and pagination information.",
|
|
1135
1646
|
"properties": {
|
|
1136
1647
|
"hits": {
|
|
1137
1648
|
"type": "array",
|
|
1649
|
+
"description": "The sorted array of search hits (JobExecution objects). Can be empty.",
|
|
1138
1650
|
"items": {
|
|
1139
1651
|
"$ref": "#/components/schemas/JobExecution"
|
|
1140
1652
|
}
|
|
@@ -1151,17 +1663,25 @@
|
|
|
1151
1663
|
"properties": {
|
|
1152
1664
|
"title": {
|
|
1153
1665
|
"type": "string",
|
|
1666
|
+
"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",
|
|
1667
|
+
"example": "You do not have enough credit",
|
|
1154
1668
|
"maxLength": 256
|
|
1155
1669
|
},
|
|
1156
1670
|
"type": {
|
|
1157
1671
|
"type": "string",
|
|
1672
|
+
"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",
|
|
1673
|
+
"example": "NotEnoughMoney",
|
|
1158
1674
|
"maxLength": 2048
|
|
1159
1675
|
},
|
|
1160
1676
|
"detail": {
|
|
1161
|
-
"type": "string"
|
|
1677
|
+
"type": "string",
|
|
1678
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
1679
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
1162
1680
|
},
|
|
1163
1681
|
"instance": {
|
|
1164
1682
|
"type": "string",
|
|
1683
|
+
"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",
|
|
1684
|
+
"example": "/account/12345/msgs/abc",
|
|
1165
1685
|
"maxLength": 2048
|
|
1166
1686
|
}
|
|
1167
1687
|
},
|
|
@@ -1173,9 +1693,11 @@
|
|
|
1173
1693
|
},
|
|
1174
1694
|
"JobExecutionRequest": {
|
|
1175
1695
|
"type": "object",
|
|
1696
|
+
"description": "Document representing a request to create a job execution. Optional parameters\ncan be provided to configure the execution.\n",
|
|
1176
1697
|
"properties": {
|
|
1177
1698
|
"parameters": {
|
|
1178
1699
|
"type": "array",
|
|
1700
|
+
"description": "The parameters for the job execution.",
|
|
1179
1701
|
"items": {
|
|
1180
1702
|
"$ref": "#/components/schemas/JobParameter"
|
|
1181
1703
|
}
|
|
@@ -1190,6 +1712,11 @@
|
|
|
1190
1712
|
"application/problem+json": {
|
|
1191
1713
|
"schema": {
|
|
1192
1714
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1715
|
+
},
|
|
1716
|
+
"examples": {
|
|
1717
|
+
"UnauthorizedExample": {
|
|
1718
|
+
"$ref": "#/components/examples/UnauthorizedExample"
|
|
1719
|
+
}
|
|
1193
1720
|
}
|
|
1194
1721
|
}
|
|
1195
1722
|
}
|
|
@@ -1200,6 +1727,11 @@
|
|
|
1200
1727
|
"application/problem+json": {
|
|
1201
1728
|
"schema": {
|
|
1202
1729
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1730
|
+
},
|
|
1731
|
+
"examples": {
|
|
1732
|
+
"ForbiddenExample": {
|
|
1733
|
+
"$ref": "#/components/examples/ForbiddenExample"
|
|
1734
|
+
}
|
|
1203
1735
|
}
|
|
1204
1736
|
}
|
|
1205
1737
|
}
|
|
@@ -1209,21 +1741,25 @@
|
|
|
1209
1741
|
"organizationId": {
|
|
1210
1742
|
"name": "organizationId",
|
|
1211
1743
|
"in": "path",
|
|
1744
|
+
"description": "An identifier for the organization the request is being made by",
|
|
1212
1745
|
"required": true,
|
|
1213
1746
|
"style": "simple",
|
|
1214
1747
|
"explode": false,
|
|
1215
1748
|
"schema": {
|
|
1216
1749
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1217
|
-
}
|
|
1750
|
+
},
|
|
1751
|
+
"example": "f_ecom_zzxy_prd"
|
|
1218
1752
|
},
|
|
1219
1753
|
"jobId": {
|
|
1220
1754
|
"name": "jobId",
|
|
1221
1755
|
"in": "path",
|
|
1756
|
+
"description": "The identifier of the job.",
|
|
1222
1757
|
"required": true,
|
|
1223
1758
|
"style": "simple",
|
|
1224
1759
|
"explode": false,
|
|
1225
1760
|
"schema": {
|
|
1226
1761
|
"type": "string",
|
|
1762
|
+
"example": "my-custom-job",
|
|
1227
1763
|
"maxLength": 256,
|
|
1228
1764
|
"minLength": 1
|
|
1229
1765
|
}
|
|
@@ -1231,19 +1767,484 @@
|
|
|
1231
1767
|
"executionId": {
|
|
1232
1768
|
"name": "executionId",
|
|
1233
1769
|
"in": "path",
|
|
1770
|
+
"description": "The identifier of the job execution.",
|
|
1234
1771
|
"required": true,
|
|
1235
1772
|
"style": "simple",
|
|
1236
1773
|
"explode": false,
|
|
1237
1774
|
"schema": {
|
|
1238
1775
|
"type": "string",
|
|
1776
|
+
"example": "exec-001",
|
|
1239
1777
|
"maxLength": 256,
|
|
1240
1778
|
"minLength": 1
|
|
1241
1779
|
}
|
|
1242
1780
|
}
|
|
1243
1781
|
},
|
|
1782
|
+
"examples": {
|
|
1783
|
+
"SearchByJobId": {
|
|
1784
|
+
"summary": "Search job executions by job ID",
|
|
1785
|
+
"description": "Example of searching for job executions by their job ID using a term query",
|
|
1786
|
+
"value": {
|
|
1787
|
+
"query": {
|
|
1788
|
+
"termQuery": {
|
|
1789
|
+
"fields": [
|
|
1790
|
+
"jobId"
|
|
1791
|
+
],
|
|
1792
|
+
"operator": "is",
|
|
1793
|
+
"values": [
|
|
1794
|
+
"my-custom-job"
|
|
1795
|
+
]
|
|
1796
|
+
}
|
|
1797
|
+
},
|
|
1798
|
+
"limit": 10,
|
|
1799
|
+
"offset": 0
|
|
1800
|
+
}
|
|
1801
|
+
},
|
|
1802
|
+
"SearchByStatus": {
|
|
1803
|
+
"summary": "Search job executions by status",
|
|
1804
|
+
"description": "Example of searching for job executions by their execution status",
|
|
1805
|
+
"value": {
|
|
1806
|
+
"query": {
|
|
1807
|
+
"termQuery": {
|
|
1808
|
+
"fields": [
|
|
1809
|
+
"status"
|
|
1810
|
+
],
|
|
1811
|
+
"operator": "is",
|
|
1812
|
+
"values": [
|
|
1813
|
+
"running"
|
|
1814
|
+
]
|
|
1815
|
+
}
|
|
1816
|
+
},
|
|
1817
|
+
"limit": 25,
|
|
1818
|
+
"offset": 0,
|
|
1819
|
+
"sorts": [
|
|
1820
|
+
{
|
|
1821
|
+
"field": "startTime",
|
|
1822
|
+
"sortOrder": "desc"
|
|
1823
|
+
}
|
|
1824
|
+
]
|
|
1825
|
+
}
|
|
1826
|
+
},
|
|
1827
|
+
"SearchByStartTime": {
|
|
1828
|
+
"summary": "Search job executions by start time range",
|
|
1829
|
+
"description": "Example of searching for job executions within a specific start time range using a bool query",
|
|
1830
|
+
"value": {
|
|
1831
|
+
"query": {
|
|
1832
|
+
"boolQuery": {
|
|
1833
|
+
"must": [
|
|
1834
|
+
{
|
|
1835
|
+
"termQuery": {
|
|
1836
|
+
"fields": [
|
|
1837
|
+
"status"
|
|
1838
|
+
],
|
|
1839
|
+
"operator": "is",
|
|
1840
|
+
"values": [
|
|
1841
|
+
"finished"
|
|
1842
|
+
]
|
|
1843
|
+
}
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"textQuery": {
|
|
1847
|
+
"fields": [
|
|
1848
|
+
"jobId"
|
|
1849
|
+
],
|
|
1850
|
+
"searchPhrase": "export"
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
]
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1856
|
+
"limit": 20,
|
|
1857
|
+
"offset": 0,
|
|
1858
|
+
"sorts": [
|
|
1859
|
+
{
|
|
1860
|
+
"field": "startTime",
|
|
1861
|
+
"sortOrder": "desc"
|
|
1862
|
+
}
|
|
1863
|
+
]
|
|
1864
|
+
}
|
|
1865
|
+
},
|
|
1866
|
+
"JobExecutionSearchResultSuccess": {
|
|
1867
|
+
"summary": "Successful job execution search result",
|
|
1868
|
+
"description": "Example of a successful job execution search returning multiple results",
|
|
1869
|
+
"value": {
|
|
1870
|
+
"limit": 2,
|
|
1871
|
+
"offset": 0,
|
|
1872
|
+
"total": 2,
|
|
1873
|
+
"query": {
|
|
1874
|
+
"textQuery": {
|
|
1875
|
+
"fields": [
|
|
1876
|
+
"jobId"
|
|
1877
|
+
],
|
|
1878
|
+
"searchPhrase": "JobExecutionTestJob1"
|
|
1879
|
+
}
|
|
1880
|
+
},
|
|
1881
|
+
"hits": [
|
|
1882
|
+
{
|
|
1883
|
+
"id": "1",
|
|
1884
|
+
"jobId": "JobExecutionTestJob1",
|
|
1885
|
+
"jobDescription": "Test job for WAPI",
|
|
1886
|
+
"clientId": "scapi",
|
|
1887
|
+
"status": "OK",
|
|
1888
|
+
"executionStatus": "finished",
|
|
1889
|
+
"startTime": "2026-02-24T13:47:23.249Z",
|
|
1890
|
+
"endTime": "2026-02-24T13:47:23.420Z",
|
|
1891
|
+
"creationDate": "2026-02-24T13:47:23.000Z",
|
|
1892
|
+
"duration": 171,
|
|
1893
|
+
"effectiveDuration": 92,
|
|
1894
|
+
"modificationTime": "2026-02-24T13:47:23.433Z",
|
|
1895
|
+
"executedServerId": "192.168.1.2-0",
|
|
1896
|
+
"executionScopes": [
|
|
1897
|
+
"Organization",
|
|
1898
|
+
"TestWapi-Customization"
|
|
1899
|
+
],
|
|
1900
|
+
"exitStatus": {
|
|
1901
|
+
"code": "OK",
|
|
1902
|
+
"status": "ok"
|
|
1903
|
+
},
|
|
1904
|
+
"statusMetadata": {
|
|
1905
|
+
"clientId": "scapi",
|
|
1906
|
+
"reason": "Completed successfully",
|
|
1907
|
+
"userLogin": "admin"
|
|
1908
|
+
},
|
|
1909
|
+
"isLogFileExisting": true,
|
|
1910
|
+
"isRestart": false,
|
|
1911
|
+
"logFilePath": "/Sites/LOGS/jobs/JobExecutionTestJob1/Job-JobExecutionTestJob1-02c585c2a242c8eee74bd1ba51.log",
|
|
1912
|
+
"parameters": [
|
|
1913
|
+
{
|
|
1914
|
+
"name": "SiteScope",
|
|
1915
|
+
"value": "{\"all_storefront_sites\":true}"
|
|
1916
|
+
}
|
|
1917
|
+
],
|
|
1918
|
+
"stepExecutions": [
|
|
1919
|
+
{
|
|
1920
|
+
"id": "4",
|
|
1921
|
+
"stepId": "Step1",
|
|
1922
|
+
"stepDescription": "A step that executes a pipeline that can be configured via a parameter",
|
|
1923
|
+
"stepTypeId": "ExecutePipeline",
|
|
1924
|
+
"stepTypeInfo": "TestWAPIJobPipeline-StartEnd",
|
|
1925
|
+
"executionScope": "Organization",
|
|
1926
|
+
"executionStatus": "finished",
|
|
1927
|
+
"status": "OK",
|
|
1928
|
+
"startTime": "2026-02-24T13:47:23.311Z",
|
|
1929
|
+
"endTime": "2026-02-24T13:47:23.332Z",
|
|
1930
|
+
"duration": 21,
|
|
1931
|
+
"modificationTime": "2026-02-24T13:47:23.332Z",
|
|
1932
|
+
"isChunkOriented": false,
|
|
1933
|
+
"exitStatus": {
|
|
1934
|
+
"code": "OK",
|
|
1935
|
+
"message": "",
|
|
1936
|
+
"status": "ok"
|
|
1937
|
+
}
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
"id": "5",
|
|
1941
|
+
"stepId": "Step2",
|
|
1942
|
+
"stepDescription": "A step that executes a script module function that can be configured via a parameter",
|
|
1943
|
+
"stepTypeId": "ExecuteScriptModule",
|
|
1944
|
+
"stepTypeInfo": "test_bc_wapi/cartridge/scripts/test/schedulejob/testScriptModuleStep.ds#execute",
|
|
1945
|
+
"executionScope": "Organization",
|
|
1946
|
+
"executionStatus": "finished",
|
|
1947
|
+
"status": "OK",
|
|
1948
|
+
"startTime": "2026-02-24T13:47:23.337Z",
|
|
1949
|
+
"endTime": "2026-02-24T13:47:23.359Z",
|
|
1950
|
+
"duration": 22,
|
|
1951
|
+
"modificationTime": "2026-02-24T13:47:23.359Z",
|
|
1952
|
+
"isChunkOriented": false,
|
|
1953
|
+
"exitStatus": {
|
|
1954
|
+
"code": "OK",
|
|
1955
|
+
"message": "",
|
|
1956
|
+
"status": "ok"
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
]
|
|
1960
|
+
},
|
|
1961
|
+
{
|
|
1962
|
+
"id": "0",
|
|
1963
|
+
"jobId": "JobExecutionTestJob1",
|
|
1964
|
+
"jobDescription": "Test job for WAPI",
|
|
1965
|
+
"clientId": "scapi",
|
|
1966
|
+
"status": "ERROR",
|
|
1967
|
+
"executionStatus": "finished",
|
|
1968
|
+
"startTime": "2026-02-24T13:46:24.316Z",
|
|
1969
|
+
"endTime": "2026-02-24T13:46:25.084Z",
|
|
1970
|
+
"creationDate": "2026-02-24T13:46:24.000Z",
|
|
1971
|
+
"duration": 768,
|
|
1972
|
+
"effectiveDuration": 143,
|
|
1973
|
+
"modificationTime": "2026-02-24T13:46:25.101Z",
|
|
1974
|
+
"executedServerId": "192.168.1.2-0",
|
|
1975
|
+
"executionScopes": [
|
|
1976
|
+
"Organization"
|
|
1977
|
+
],
|
|
1978
|
+
"exitStatus": {
|
|
1979
|
+
"code": "ERROR",
|
|
1980
|
+
"message": "Job failed due to an import error.",
|
|
1981
|
+
"status": "error"
|
|
1982
|
+
},
|
|
1983
|
+
"isLogFileExisting": true,
|
|
1984
|
+
"isRestart": false,
|
|
1985
|
+
"logFilePath": "/Sites/LOGS/jobs/JobExecutionTestJob1/Job-JobExecutionTestJob1-21a391164b090c6c12957a292e.log",
|
|
1986
|
+
"retryInformation": {
|
|
1987
|
+
"currentRetryAttempt": 1,
|
|
1988
|
+
"maxRetries": 3
|
|
1989
|
+
},
|
|
1990
|
+
"stepExecutions": [
|
|
1991
|
+
{
|
|
1992
|
+
"id": "0",
|
|
1993
|
+
"stepId": "Step1",
|
|
1994
|
+
"stepDescription": "A step that executes a pipeline that can be configured via a parameter",
|
|
1995
|
+
"stepTypeId": "ExecutePipeline",
|
|
1996
|
+
"stepTypeInfo": "TestWAPIJobPipeline-StartEnd",
|
|
1997
|
+
"executionScope": "Organization",
|
|
1998
|
+
"executionStatus": "finished",
|
|
1999
|
+
"status": "ERROR",
|
|
2000
|
+
"startTime": "2026-02-24T13:46:24.920Z",
|
|
2001
|
+
"endTime": "2026-02-24T13:46:25.084Z",
|
|
2002
|
+
"duration": 164,
|
|
2003
|
+
"modificationTime": "2026-02-24T13:46:25.084Z",
|
|
2004
|
+
"isChunkOriented": true,
|
|
2005
|
+
"chunkSize": 100,
|
|
2006
|
+
"itemWriteCount": 42,
|
|
2007
|
+
"itemFilterCount": 3,
|
|
2008
|
+
"totalItemCount": 500,
|
|
2009
|
+
"statusMetadata": {
|
|
2010
|
+
"clientId": "scapi",
|
|
2011
|
+
"reason": "Import file not found",
|
|
2012
|
+
"userLogin": "admin"
|
|
2013
|
+
},
|
|
2014
|
+
"exitStatus": {
|
|
2015
|
+
"code": "ERROR",
|
|
2016
|
+
"message": "Import file not found",
|
|
2017
|
+
"status": "error"
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
]
|
|
2021
|
+
}
|
|
2022
|
+
]
|
|
2023
|
+
}
|
|
2024
|
+
},
|
|
2025
|
+
"MalformedSearchParameter": {
|
|
2026
|
+
"summary": "Malformed search query",
|
|
2027
|
+
"description": "Example of an error when the search query is malformed or invalid",
|
|
2028
|
+
"value": {
|
|
2029
|
+
"title": "Malformed Search Parameter",
|
|
2030
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-search-parameter",
|
|
2031
|
+
"detail": "The search query contains invalid syntax. Please check the query structure and try again."
|
|
2032
|
+
}
|
|
2033
|
+
},
|
|
2034
|
+
"UnqueryableField": {
|
|
2035
|
+
"summary": "Unqueryable Field",
|
|
2036
|
+
"description": "Example of an error when an invalid field name is used in the search query",
|
|
2037
|
+
"value": {
|
|
2038
|
+
"title": "Unqueryable Field",
|
|
2039
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field",
|
|
2040
|
+
"detail": "The field 'invalid_field' is not a searchable attribute for job executions. Valid fields are: id, jobId, status, startTime, endTime."
|
|
2041
|
+
}
|
|
2042
|
+
},
|
|
2043
|
+
"UnauthorizedExample": {
|
|
2044
|
+
"value": {
|
|
2045
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized",
|
|
2046
|
+
"title": "Unauthorized",
|
|
2047
|
+
"detail": "Your access token is invalid or expired and can’t be used to identify a user."
|
|
2048
|
+
}
|
|
2049
|
+
},
|
|
2050
|
+
"ForbiddenExample": {
|
|
2051
|
+
"value": {
|
|
2052
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden",
|
|
2053
|
+
"title": "Forbidden",
|
|
2054
|
+
"detail": "Your access token is valid, but you don’t have the required permissions to access the resource."
|
|
2055
|
+
}
|
|
2056
|
+
},
|
|
2057
|
+
"CreateJobExecution": {
|
|
2058
|
+
"summary": "Create a job execution with parameters",
|
|
2059
|
+
"description": "Example of creating a new job execution with custom parameters",
|
|
2060
|
+
"value": {
|
|
2061
|
+
"parameters": [
|
|
2062
|
+
{
|
|
2063
|
+
"name": "exportFormat",
|
|
2064
|
+
"value": "XML"
|
|
2065
|
+
},
|
|
2066
|
+
{
|
|
2067
|
+
"name": "targetFolder",
|
|
2068
|
+
"value": "/export/catalog"
|
|
2069
|
+
}
|
|
2070
|
+
]
|
|
2071
|
+
}
|
|
2072
|
+
},
|
|
2073
|
+
"JobExecutionCreated": {
|
|
2074
|
+
"summary": "Newly created job execution",
|
|
2075
|
+
"description": "Example of a successfully created job execution (response from POST)",
|
|
2076
|
+
"value": {
|
|
2077
|
+
"id": "3",
|
|
2078
|
+
"jobId": "ScapiParamTest",
|
|
2079
|
+
"jobDescription": "SCAPI parameter test job",
|
|
2080
|
+
"clientId": "scapi",
|
|
2081
|
+
"status": "pending",
|
|
2082
|
+
"executionStatus": "pending",
|
|
2083
|
+
"isLogFileExisting": false,
|
|
2084
|
+
"isRestart": false,
|
|
2085
|
+
"duration": 0,
|
|
2086
|
+
"modificationTime": "2026-02-24T14:04:45.081Z",
|
|
2087
|
+
"startTime": "2026-02-24T14:04:45.081Z",
|
|
2088
|
+
"parameters": [
|
|
2089
|
+
{
|
|
2090
|
+
"name": "GlobalParam1",
|
|
2091
|
+
"value": "OverriddenValue1"
|
|
2092
|
+
}
|
|
2093
|
+
]
|
|
2094
|
+
}
|
|
2095
|
+
},
|
|
2096
|
+
"InvalidJobExecutionRequest": {
|
|
2097
|
+
"summary": "Invalid job execution request",
|
|
2098
|
+
"description": "Example of an error when the job execution request is invalid",
|
|
2099
|
+
"value": {
|
|
2100
|
+
"title": "Invalid Request",
|
|
2101
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-request",
|
|
2102
|
+
"detail": "The job execution request is invalid. Please check the request body and try again."
|
|
2103
|
+
}
|
|
2104
|
+
},
|
|
2105
|
+
"JobNotFound": {
|
|
2106
|
+
"summary": "Job not found",
|
|
2107
|
+
"description": "Example of an error when the specified job does not exist",
|
|
2108
|
+
"value": {
|
|
2109
|
+
"title": "Not Found",
|
|
2110
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found",
|
|
2111
|
+
"detail": "The job with ID 'nonexistent-job' was not found."
|
|
2112
|
+
}
|
|
2113
|
+
},
|
|
2114
|
+
"JobExecutionDetails": {
|
|
2115
|
+
"summary": "Job execution with step details",
|
|
2116
|
+
"description": "Example of a completed job execution with step execution details (response from GET)",
|
|
2117
|
+
"value": {
|
|
2118
|
+
"id": "1",
|
|
2119
|
+
"jobId": "JobExecutionTestJob1",
|
|
2120
|
+
"jobDescription": "Test job for WAPI",
|
|
2121
|
+
"clientId": "scapi",
|
|
2122
|
+
"status": "OK",
|
|
2123
|
+
"executionStatus": "finished",
|
|
2124
|
+
"startTime": "2026-02-24T13:47:23.249Z",
|
|
2125
|
+
"endTime": "2026-02-24T13:47:23.420Z",
|
|
2126
|
+
"creationDate": "2026-02-24T13:47:23.000Z",
|
|
2127
|
+
"duration": 171,
|
|
2128
|
+
"effectiveDuration": 92,
|
|
2129
|
+
"modificationTime": "2026-02-24T13:47:23.433Z",
|
|
2130
|
+
"executedServerId": "192.168.1.2-0",
|
|
2131
|
+
"executionScopes": [
|
|
2132
|
+
"Organization",
|
|
2133
|
+
"TestWapi-Customization"
|
|
2134
|
+
],
|
|
2135
|
+
"exitStatus": {
|
|
2136
|
+
"code": "OK",
|
|
2137
|
+
"status": "ok"
|
|
2138
|
+
},
|
|
2139
|
+
"isLogFileExisting": true,
|
|
2140
|
+
"isRestart": false,
|
|
2141
|
+
"logFilePath": "/Sites/LOGS/jobs/JobExecutionTestJob1/Job-JobExecutionTestJob1-02c585c2a242c8eee74bd1ba51.log",
|
|
2142
|
+
"parameters": [
|
|
2143
|
+
{
|
|
2144
|
+
"name": "SiteScope",
|
|
2145
|
+
"value": "{\"all_storefront_sites\":true}"
|
|
2146
|
+
}
|
|
2147
|
+
],
|
|
2148
|
+
"stepExecutions": [
|
|
2149
|
+
{
|
|
2150
|
+
"id": "4",
|
|
2151
|
+
"stepId": "Step1",
|
|
2152
|
+
"stepDescription": "A step that executes a pipeline that can be configured via a parameter",
|
|
2153
|
+
"stepTypeId": "ExecutePipeline",
|
|
2154
|
+
"stepTypeInfo": "TestWAPIJobPipeline-StartEnd",
|
|
2155
|
+
"executionScope": "Organization",
|
|
2156
|
+
"executionStatus": "finished",
|
|
2157
|
+
"status": "OK",
|
|
2158
|
+
"startTime": "2026-02-24T13:47:23.311Z",
|
|
2159
|
+
"endTime": "2026-02-24T13:47:23.332Z",
|
|
2160
|
+
"duration": 21,
|
|
2161
|
+
"modificationTime": "2026-02-24T13:47:23.332Z",
|
|
2162
|
+
"isChunkOriented": false,
|
|
2163
|
+
"exitStatus": {
|
|
2164
|
+
"code": "OK",
|
|
2165
|
+
"message": "",
|
|
2166
|
+
"status": "ok"
|
|
2167
|
+
}
|
|
2168
|
+
},
|
|
2169
|
+
{
|
|
2170
|
+
"id": "5",
|
|
2171
|
+
"stepId": "Step2",
|
|
2172
|
+
"stepDescription": "A step that executes a script module function that can be configured via a parameter",
|
|
2173
|
+
"stepTypeId": "ExecuteScriptModule",
|
|
2174
|
+
"stepTypeInfo": "test_bc_wapi/cartridge/scripts/test/schedulejob/testScriptModuleStep.ds#execute",
|
|
2175
|
+
"executionScope": "Organization",
|
|
2176
|
+
"executionStatus": "finished",
|
|
2177
|
+
"status": "OK",
|
|
2178
|
+
"startTime": "2026-02-24T13:47:23.337Z",
|
|
2179
|
+
"endTime": "2026-02-24T13:47:23.359Z",
|
|
2180
|
+
"duration": 22,
|
|
2181
|
+
"modificationTime": "2026-02-24T13:47:23.359Z",
|
|
2182
|
+
"isChunkOriented": false,
|
|
2183
|
+
"exitStatus": {
|
|
2184
|
+
"code": "OK",
|
|
2185
|
+
"message": "",
|
|
2186
|
+
"status": "ok"
|
|
2187
|
+
}
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
"id": "6",
|
|
2191
|
+
"stepId": "Step3 - Step1",
|
|
2192
|
+
"stepDescription": "A step that executes a pipeline that can be configured via a parameter",
|
|
2193
|
+
"stepTypeId": "ExecutePipeline",
|
|
2194
|
+
"stepTypeInfo": "TestWAPIJobPipeline-StartEnd",
|
|
2195
|
+
"executionScope": "TestWapi-Customization",
|
|
2196
|
+
"executionStatus": "finished",
|
|
2197
|
+
"status": "OK",
|
|
2198
|
+
"startTime": "2026-02-24T13:47:23.364Z",
|
|
2199
|
+
"endTime": "2026-02-24T13:47:23.387Z",
|
|
2200
|
+
"duration": 23,
|
|
2201
|
+
"modificationTime": "2026-02-24T13:47:23.387Z",
|
|
2202
|
+
"isChunkOriented": false,
|
|
2203
|
+
"includeStepsFromJobId": "JobExecutionTestJob2",
|
|
2204
|
+
"exitStatus": {
|
|
2205
|
+
"code": "OK",
|
|
2206
|
+
"message": "",
|
|
2207
|
+
"status": "ok"
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
"id": "7",
|
|
2212
|
+
"stepId": "Step3 - Step2",
|
|
2213
|
+
"stepDescription": "",
|
|
2214
|
+
"stepTypeId": "ExecuteScriptModule",
|
|
2215
|
+
"stepTypeInfo": "test_bc_wapi/cartridge/scripts/test/schedulejob/testScriptModuleStep.ds#testReturnStatusOkWithCodeAndMessage",
|
|
2216
|
+
"executionScope": "TestWapi-Customization",
|
|
2217
|
+
"executionStatus": "finished",
|
|
2218
|
+
"status": "SUCCESS",
|
|
2219
|
+
"startTime": "2026-02-24T13:47:23.392Z",
|
|
2220
|
+
"endTime": "2026-02-24T13:47:23.418Z",
|
|
2221
|
+
"duration": 26,
|
|
2222
|
+
"modificationTime": "2026-02-24T13:47:23.418Z",
|
|
2223
|
+
"isChunkOriented": false,
|
|
2224
|
+
"includeStepsFromJobId": "JobExecutionTestJob2",
|
|
2225
|
+
"exitStatus": {
|
|
2226
|
+
"code": "SUCCESS",
|
|
2227
|
+
"message": "Step was successful!",
|
|
2228
|
+
"status": "ok"
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
]
|
|
2232
|
+
}
|
|
2233
|
+
},
|
|
2234
|
+
"JobExecutionNotFound": {
|
|
2235
|
+
"summary": "Job execution not found",
|
|
2236
|
+
"description": "Example of an error when the specified job execution does not exist",
|
|
2237
|
+
"value": {
|
|
2238
|
+
"title": "Not Found",
|
|
2239
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found",
|
|
2240
|
+
"detail": "The job execution with ID 'nonexistent-exec' for job 'my-custom-job' was not found."
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
},
|
|
1244
2244
|
"securitySchemes": {
|
|
1245
2245
|
"AmOAuth2": {
|
|
1246
2246
|
"type": "oauth2",
|
|
2247
|
+
"description": "OAuth 2.0 security scheme for Admin API access using Account Manager.\nRequires appropriate scopes for job management operations.\n",
|
|
1247
2248
|
"flows": {
|
|
1248
2249
|
"clientCredentials": {
|
|
1249
2250
|
"tokenUrl": "https://account.demandware.com/dw/oauth2/access_token",
|