diff --git a/src/_includes/authentication/get-tenant-id.md b/src/_includes/authentication/get-tenant-id.md index 80d65ec7..ff312d3a 100644 --- a/src/_includes/authentication/get-tenant-id.md +++ b/src/_includes/authentication/get-tenant-id.md @@ -1,4 +1,4 @@ -From Cloud Manager, you can find your tenant ID in the instance detailLs for your Commerce Optimizer project. +From Cloud Manager, you can find your instance ID in the instance detailLs for your Commerce Optimizer project. 1. Log in to your [Adobe Experience Cloud](https://experience.adobe.com/) account. @@ -6,13 +6,13 @@ From Cloud Manager, you can find your tenant ID in the instance detailLs for you The Commerce Cloud Manager displays a list of instances that are available in your Adobe IMS organization. -1. To get the tenant ID, click the information icon next to the Adobe Commerce Optimizer instance name. +1. To get the instance ID, click the information icon next to the Adobe Commerce Optimizer instance name. ![Access URLs for Commerce Optimizer UI, REST, and GraphQL APIs](../../pages/_images/reporting/aco-instance-details.png) - The instance details page opens, displaying the tenant ID and other instance information. The tenant ID is displayed in the `Instance ID` field. + The instance details page opens, displaying the instance ID and other instance information. The instance ID is displayed in the `Instance ID` field. -You can also find the tenant ID from the access URL for the Adobe Commerce Optimizer application interface, the value is in the path, for example `/in:XDevkG9W6UbwgQmPn995r3/`. +You can also find the instance ID from the access URL for the Adobe Commerce Optimizer application interface, the value is in the path, for example `/in:XDevkG9W6UbwgQmPn995r3/`. diff --git a/src/openapi/.redocly.yaml b/src/openapi/.redocly.yaml deleted file mode 100644 index f3190981..00000000 --- a/src/openapi/.redocly.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# See https://docs.redoc.ly/cli/configuration/ for more information. -organization: adobe-developers -extends: - - minimal -apis: - Data Ingestion@1.0: - root: src/openapi/openapi/data-ingestion-schema-v1.yaml - labels: - - main - Data Ingestion@1.0.0: - root: src/openapi/data-ingestion-schema-v1.yaml -theme: - openapi: - pagination: section - hideHostname: true - sortPropsAlphabetically: false - pathInMiddlePanel: true - hideDownloadButton: false - hideTryItPanel: true - layout: stacked - showExtensions: true - nativeScrollbars: true - ctrlFHijack: true - scrollYOffset: 64 - disableSidebar: true - disableDeepLinks: false \ No newline at end of file diff --git a/src/pages/credential/GetCredentialOAuthS2s.js b/src/pages/credential/GetCredentialOAuthS2s.js new file mode 100644 index 00000000..67b68698 --- /dev/null +++ b/src/pages/credential/GetCredentialOAuthS2s.js @@ -0,0 +1,173 @@ +import React from 'react' +import { GetCredential } from '@adobe/gatsby-theme-aio/src/components/GetCredential'; +import commerce from "./images/commerce.svg"; + +const GetCredentialOAuthS2s = () => { + + return ( + + + + + + + + + + + + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 libraries to generate access tokens using the OAuth 2.0 client credentials grant type. +

+

+ This credential only provides an access token. It does not return the instance ID associated with your Adobe Commerce Optimizer sandbox environment, which is required for API calls. In addition to the access token, you must manually copy and paste a instance ID from the Commerce Cloud Manager into the tenantID field in the Try it panel below. See the Get started documentation for help finding your instance ID. +

+
+ +
+
+ +
+ + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 libraries to generate access tokens using the OAuth 2.0 client credentials grant type. +

+
+ +
+
+ + + + + + + + + + + + Access token

Paste the access token into the Authorization header in the Try it panel below. Then, add the instance ID to the instance ID field. You only need to do this once; future requests reuse the values automatically.)}/> + + Credential details

The following Client ID and Organization ID are used to generate the access token:)} orderBy="ClientId,ImsOrgID"> + + + +
+ +
+ + + + + +
+

Welcome back

+

You can either re-use an existing credential or create a new credential.

+
+
+ +
+ + Credential details

The following Client ID and Organization ID are used to generate the access token:)} orderBy="ClientId,ImsOrgID"> + + + +
+ + + + + + Access token

Paste the access token into the Authorization header in the Try it panel below. Then, add the instance ID to the instance ID field. You only need to do this once; future requests reuse the values automatically.)} /> + + + + + + + +
+ + + + + + + + + + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 libraries to generate access tokens using the OAuth 2.0 client credentials grant type. +

+
+ +
+
+
+
+ + ) +} + +export default GetCredentialOAuthS2s; diff --git a/src/pages/credential/images/commerce.svg b/src/pages/credential/images/commerce.svg new file mode 100644 index 00000000..4b22c80c --- /dev/null +++ b/src/pages/credential/images/commerce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/optimizer/admin/using-the-api.md b/src/pages/optimizer/admin/using-the-api.md index e5179b81..5f33330b 100644 --- a/src/pages/optimizer/admin/using-the-api.md +++ b/src/pages/optimizer/admin/using-the-api.md @@ -32,7 +32,7 @@ The URL structure is:
- Get your tenant ID + Get your instance ID import GetTenantId from '/src/_includes/authentication/get-tenant-id.md' diff --git a/src/pages/optimizer/data-ingestion/api-reference.md b/src/pages/optimizer/data-ingestion/api-reference.md deleted file mode 100644 index d270740e..00000000 --- a/src/pages/optimizer/data-ingestion/api-reference.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Data Ingestion API Reference (REST) -description: Learn about the Data Ingestion Rest API for Adobe Commerce Optimizer. -layout: none ---- - -# API Reference - - diff --git a/src/pages/optimizer/data-ingestion/using-the-api.md b/src/pages/optimizer/data-ingestion/using-the-api.md index 4e953c8c..d93f06e1 100644 --- a/src/pages/optimizer/data-ingestion/using-the-api.md +++ b/src/pages/optimizer/data-ingestion/using-the-api.md @@ -36,7 +36,7 @@ The URL structure is:
- Get your tenant ID + Get your instance ID import GetTenantId from '/src/_includes/authentication/get-tenant-id.md' diff --git a/src/pages/optimizer/merchandising-services/api-reference.md b/src/pages/optimizer/merchandising-services/api-reference.md deleted file mode 100644 index b1a467d9..00000000 --- a/src/pages/optimizer/merchandising-services/api-reference.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Merchandising API Reference -edition: saas -description: Get information about the storefront APIs to retrieve product and catalog data to create storefront experiences. -keywords: - - GraphQL - - Services - - Search - - Recommendations -frameSrc: /graphql-api/merchandising-api/index.html ---- diff --git a/src/pages/optimizer/merchandising-services/troubleshooting.md b/src/pages/optimizer/merchandising-services/troubleshooting.md index 6c948e6c..a4828e41 100644 --- a/src/pages/optimizer/merchandising-services/troubleshooting.md +++ b/src/pages/optimizer/merchandising-services/troubleshooting.md @@ -15,7 +15,7 @@ When building dynamic storefronts with the Merchandising GraphQL API, it's essen ## Common Issues -- **Authentication Errors**: Verify that the tenant ID used in the endpoint URL to ensure it matches the tenant ID in your Adobe Commerce Optimizer instance. +- **Authentication Errors**: Verify that the instance ID used in the endpoint URL to ensure it matches the instance ID in your Adobe Commerce Optimizer instance. - **Missing Data**: Ensure products are properly ingested via the Data Ingestion API. You can check the synchronization status for product data from the [Data Sync page](https://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/data-sync) in Adobe Commerce Optimizer. - **Performance Issues**: Optimize queries and implement caching. - **Rate Limiting**: Monitor API usage and implement proper throttling. diff --git a/src/pages/optimizer/merchandising-services/using-the-api.md b/src/pages/optimizer/merchandising-services/using-the-api.md index 7e41b25d..f17c0d93 100644 --- a/src/pages/optimizer/merchandising-services/using-the-api.md +++ b/src/pages/optimizer/merchandising-services/using-the-api.md @@ -17,7 +17,7 @@ Use the Merchandising API to retrieve product data from your Commerce catalogs a Before using the Merchandising API, ensure you have: -- **Adobe Commerce Optimizer Access**: Active subscription and the tenant ID associated with your Adobe Commerce Optimizer instance +- **Adobe Commerce Optimizer Access**: Active subscription and the instance ID associated with your Adobe Commerce Optimizer instance - **Catalog Data**: Products and pricing data ingested via the [Data Ingestion API](../data-ingestion/index.md) - **Catalog Views**: Configured views and policies in Adobe Commerce Optimizer - **Authentication Setup**: Proper headers configured for API requests @@ -48,7 +48,7 @@ The URL structure is:
- Get your tenant ID + Get your instance ID import GetTenantId from '/src/_includes/authentication/get-tenant-id.md' @@ -100,9 +100,9 @@ Get the values for catalog view, policy, catalog source locale, and price book d To get started with the Merchandising API, follow these steps to make your first request: -1. Get values for the tenant ID and required headers. +1. Get values for the instance ID and required headers. - - `tenantId`: Your unique tenant ID for Adobe Commerce Optimizer + - `tenantId`: Your unique instance ID for Adobe Commerce Optimizer - `AC-View-ID`: Catalog view ID from Adobe Commerce Optimizer - `AC-Source-Locale`: Locale for data filtering (for example, `en-US`, `en-GB`) diff --git a/src/pages/reference/rest/index.md b/src/pages/reference/rest/index.md index 64893043..62690825 100644 --- a/src/pages/reference/rest/index.md +++ b/src/pages/reference/rest/index.md @@ -9,6 +9,8 @@ keywords: layout: none --- -# API Reference +import GetCredentialOAuthS2s from '/src/pages/credential/GetCredentialOAuthS2s.js' - + + + diff --git a/src/openapi/README.md b/static/rest/README.md similarity index 100% rename from src/openapi/README.md rename to static/rest/README.md diff --git a/src/openapi/data-ingestion-schema-v1.yaml b/static/rest/data-ingestion-schema-v1.yaml similarity index 99% rename from src/openapi/data-ingestion-schema-v1.yaml rename to static/rest/data-ingestion-schema-v1.yaml index 92c53ddd..bf035618 100644 --- a/src/openapi/data-ingestion-schema-v1.yaml +++ b/static/rest/data-ingestion-schema-v1.yaml @@ -15,9 +15,10 @@ info: - [Prices](#tag/Prices)—define and manage product SKU prices and their associated price books. version: 1.0.0 servers: - - url: https://na1-sandbox.api.commerce.adobe.com/ - description: Production endpoint. The TENANT_ID value is the identifier of the Adobe Commerce instance. See [Adobe Commerce Cloud Manager](https://experience.adobe.com/#/commerce/cloud-service/instances) to see your available instances. - + - url: https://na1-sandbox.api.commerce.adobe.com/{tenantId} + variables: + tenantId: + default: string tags: - name: Metadata description: | @@ -183,8 +184,8 @@ paths: operationId: createProductMetadata parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -300,8 +301,8 @@ paths: When the update is processed, the merge strategy is used to apply changes to `scalar` and `object` type fields. The replace strategy is used to apply changes for fields in an `array`. operationId: updateProductMetadata parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -351,8 +352,8 @@ paths: description: Remove product attribute metadata resources from the catalog data. operationId: deleteProductMetadata parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -485,8 +486,8 @@ paths: * Use the [Delete products API](#operation/deleteProducts) to remove items from the bundle operationId: createProducts parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -890,8 +891,8 @@ paths: The replace strategy is used to apply changes for fields in an `array`. operationId: updateProducts parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1055,8 +1056,8 @@ paths: Delete products with specified `sku`` and `source`` values operationId: deleteProducts parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1101,8 +1102,8 @@ paths: Note: After you assign a `parentId` to a price book, you cannot change the parentId value using the update operation. If you want to define a different parent-child relationship, delete the child price book and create a new one with the desired parent-child relationship. operationId: createPriceBooks parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1151,8 +1152,8 @@ paths: When you submit the update request for a child price book, include the correct `parentId`. If the request includes a different `parentId`, the value is ignored. operationId: updatePriceBooks parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1195,8 +1196,8 @@ paths: If a price book is deleted by mistake, you have up to one week to restore the deleted price books and their associated prices. Restoring is done by recreating the top-level parent price book that was deleted, using the same payload submitted in the original create price book request. The state of the price books and prices are restored to the status and price values assigned when the price book was deleted. operationId: deletePriceBooks parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1261,8 +1262,8 @@ paths: operationId: createPrices parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1417,8 +1418,8 @@ paths: operationId: updatePrices parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1485,8 +1486,8 @@ paths: operationId: deletePrices parameters: - - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/Authorization" + - $ref: "#/components/parameters/ContentType" - $ref: "#/components/parameters/ContentEncoding" responses: "200": @@ -1566,20 +1567,20 @@ components: schema: $ref: "#/components/schemas/429Response" parameters: - ContentType: - name: Content-Type + Authorization: + name: Authorization in: header required: true schema: type: string - enum: [application/json] - Authorization: - name: Authorization + ContentType: + name: Content-Type in: header required: true schema: type: string - description: Authorization Bearer token + enum: [application/json] + default: application/json ContentEncoding: name: Content-Encoding in: header @@ -1588,7 +1589,6 @@ components: type: string enum: [gzip] description: Use this header if the payload is compressed with gzip. - schemas: FeedItemFailedValidationResult: title: FeedItemFailedValidationResult