From fcc1e5a226a844a0c5ba3119030e98524fc50be3 Mon Sep 17 00:00:00 2001 From: Shantanu Dasgupta Date: Mon, 19 Jan 2026 16:46:37 +0530 Subject: [PATCH 1/8] LYNX-1030: Documentation for B2B GraphQL API mutations --- src/data/navigation/sections/graphql.js | 12 ++ .../place-negotiable-quote-order-v2.md | 103 +++++++++++++++ .../set-quote-template-expiration-date.md | 60 +++++++++ .../queries/negotiable-quote-templates.md | 121 ++++++++++++++++++ 4 files changed, 296 insertions(+) create mode 100644 src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md create mode 100644 src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md create mode 100644 src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md diff --git a/src/data/navigation/sections/graphql.js b/src/data/navigation/sections/graphql.js index 64350c272..1525fced5 100644 --- a/src/data/navigation/sections/graphql.js +++ b/src/data/navigation/sections/graphql.js @@ -757,6 +757,10 @@ module.exports = [ title: "negotiableQuotes", path: "/graphql/schema/b2b/negotiable-quote/queries/quotes/", }, + { + title: "negotiableQuoteTemplates", + path: "/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates/", + }, ], }, { @@ -775,6 +779,10 @@ module.exports = [ title: "placeNegotiableQuoteOrder", path: "/graphql/schema/b2b/negotiable-quote/mutations/place-order/", }, + { + title: "placeNegotiableQuoteOrderV2", + path: "/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2/", + }, { title: "removeNegotiableQuoteItems", path: "/graphql/schema/b2b/negotiable-quote/mutations/remove-items/", @@ -803,6 +811,10 @@ module.exports = [ title: "setNegotiableQuoteShippingMethods", path: "/graphql/schema/b2b/negotiable-quote/mutations/set-shipping-methods/", }, + { + title: "setQuoteTemplateExpirationDate", + path: "/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date/", + }, { title: "updateNegotiableQuoteQuantities", path: "/graphql/schema/b2b/negotiable-quote/mutations/update-quantities/", diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md new file mode 100644 index 000000000..de133f815 --- /dev/null +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md @@ -0,0 +1,103 @@ +--- +title: placeNegotiableQuoteOrder mutation +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# placeNegotiableQuoteOrderV2 mutation + +The `placeNegotiableQuoteOrderV2` mutation converts a negotiable quote into an order and returns the full order object. + +The negotiable quote must have one of the following statuses: + +- SUBMITTED +- DECLINED +- EXPIRED + +If the status is DECLINED or EXPIRED, the negotiable quote is processed like a standard cart, without applying any discounts. The negotiable quote is not converted to a standard cart. + +Perform the following actions before using the `placeNegotiableQuoteOrderV2` mutation. It might be necessary to perform additional steps during the process of coming to an agreement during the negotiable quote lifecycle. + +- [Create an empty cart](../../../cart/mutations/create-empty-cart.md) +- [Add one or more products](../../../cart/mutations/add-products.md) to the cart +- [Request a negotiable quote](request.md) +- [Set the billing address](set-billing-address.md) +- [Set the shipping address](set-shipping-address.md) +- [Set the shipping method](set-shipping-methods.md) +- [Set the payment method](set-payment-method.md) + +You cannot manage orders with GraphQL, because orders are part of the backend. You can use REST or SOAP calls to manage orders to their completion. + +## Syntax + +```graphql +mutation { + placeNegotiableQuoteOrderV2( + input: PlaceNegotiableQuoteOrderInput + ) { + PlaceNegotiableQuoteOrderOutputV2 + } +} +``` + +## Reference + +The [`placeNegotiableQuoteOrderV2`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#mutation-placeNegotiableQuoteOrderV2) reference provides detailed information about the types and fields defined in this mutation. + +## Example usage + +**Request:** + +```graphql +mutation { + placeNegotiableQuoteOrderV2( + input: { + quote_uid: "xCA4wSZEHsb5QbFiKfoq5k1Dk8vIPBgb" + } + ) { + order { + number + token + #... + } + errors { + message + code + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "placeNegotiableQuoteOrderV2": { + "order": { + "number": "000000006", + "token": "0:3:OSScWU6PKLn3kFyMhNWyskG0opgVvFBnJmtuaFHKGwDFT83S6Kv9U39iYwixuU+vhwDz2AF4pCs3GtLhHbQ=" + }, + "errors": [] + } + } +} +``` +## Errors + +Code | Error | Description +--- | --- | --- +`CART_NOT_FOUND` | `Could not find a cart with ID` | The specified cart ID is invalid. +`CART_NOT_ACTIVE` | `The cart isn't active.` | The specified cart ID is not active. +`GUEST_EMAIL_MISSING` | `Guest email for cart is missing.` | The guest attempted to place an order but did not provide an email address. See [setGuestEmailOnCart](../../cart/mutations/set-guest-email.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `A server error stopped your order from being placed. Please try to place your order again` | The shopper tried to place an order when no products are in the shopping cart. +`UNABLE_TO_PLACE_ORDER` | `Some addresses can't be used due to the configurations for specific countries` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-method.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `The shipping method is missing. Select the shipping method and try again` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-method.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Please check the billing address information` | The billing address was not set. See [setBillingAddressOnCart](../../cart/mutations/set-billing-address.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Enter a valid payment method and try again` | The payment method was not set. See [setPaymentMethodOnCart](../../cart/mutations/set-payment-method.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Some of the products are out of stock` | One of the products in the shopping cart are currently out of stock. +`UNDEFINED` | `UNDEFINED` | The error message does not match any error code diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md new file mode 100644 index 000000000..3b7d84274 --- /dev/null +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md @@ -0,0 +1,60 @@ +--- +title: setNegotiableQuotePaymentMethod mutation +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# setQuoteTemplateExpirationDate mutation + +The `setQuoteTemplateExpirationDate` mutation can be used to set an expiration date for a negotiable quote, as it is not set by default. The mutation requires `template_id` and `expiration_date` as input parameters. + +## Syntax + +```graphql +{ + setQuoteTemplateExpirationDate( + input: QuoteTemplateExpirationDateInput! + ): NegotiableQuoteTemplate +} +``` + +## Reference + +The [`setQuoteTemplateExpirationDate`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#mutation-setQuoteTemplateExpirationDate) reference provides detailed information about the types and fields defined in this mutation. + +## Example usage + +The following example sets the expiration date for a negotiable quote. + +**Request:** + +```graphql +mutation { + setQuoteTemplateExpirationDate( + input: { + template_id: "10" + expiration_date: "2030-13-01" + } + ) { + template_id + expiration_date + } +} +``` + +**Response:** + +```json +{ + "data": { + "setQuoteTemplateExpirationDate": { + "template_id": "10", + "expiration_date": "2030-13-01" + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md new file mode 100644 index 000000000..a443f9c86 --- /dev/null +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md @@ -0,0 +1,121 @@ +--- +title: negotiableQuotes query +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# negotiableQuoteTemplates query + +The `negotiableQuoteTemplates` query returns a list of negotiable quote templates that can be viewed by the logged-in customer, including quote templates created by the customer or by subordinates in the company hierarchy. + +This query requires a valid [customer authentication token](../../../customer/mutations/generate-token.md). + +## Syntax + +```graphql +{ + negotiableQuoteTemplates( + filter: NegotiableQuoteTemplateFilterInput, + pageSize: Int = 20, + currentPage: Int = 1 + sort: NegotiableQuoteTemplateSortInput + ): NegotiableQuoteTemplatesOutput +} +``` + +## Reference + +The [`negotiableQuoteTemplates`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#query-negotiableQuoteTemplates) reference provides detailed information about the types and fields defined in this query. + +## Example usage + +### Find quote templates that contain a specific string + +The following example returns general information about the negotiable quote templates containing the string `request` that are accessible to the company user. The results are sorted by negotiable quote name, listed in ascending order. + +**Request:** + +```graphql +query { + negotiableQuoteTemplates(filter: { name: + { match: "request" } + }) + { + items { + uid + name + created_at + status + } + total_count + page_info { + page_size + current_page + total_pages + } + sort_fields { + default + options { + label + value + } + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "negotiableQuoteTemplates": { + "items": [ + { + "uid": "MTU0", + "name": "Last request Template", + "created_at": "2021-04-28 15:43:09", + "status": "Active" + }, + { + "uid": "MTUz", + "name": "Latest request Template", + "created_at": "2021-04-26 16:35:48", + "status": "Active" + }, + { + "uid": "MTUy", + "name": "April 22 request", + "created_at": "2021-04-22 15:59:47", + "status": "Active" + }, + { + "uid": "MTUx", + "name": "Discount request", + "created_at": "2021-04-20 19:01:38", + "status": "Active" + } + ], + "total_count": 4, + "page_info": { + "page_size": 20, + "current_page": 1, + "total_pages": 1 + }, + "sort_fields": { + "default": "TEMPLATE_ID", + "options": [ + { + "label": "Last Shared", + "value": "LAST_SHARED_AT" + } + ] + } + } + } +} +``` From 9bb33d33662432615df84856193e3197dc834491 Mon Sep 17 00:00:00 2001 From: Shantanu Dasgupta Date: Mon, 19 Jan 2026 17:01:50 +0530 Subject: [PATCH 2/8] References removed --- .../mutations/place-negotiable-quote-order-v2.md | 4 ---- .../mutations/set-quote-template-expiration-date.md | 4 ---- .../negotiable-quote/queries/negotiable-quote-templates.md | 4 ---- 3 files changed, 12 deletions(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md index de133f815..92b69b978 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md @@ -44,10 +44,6 @@ mutation { } ``` -## Reference - -The [`placeNegotiableQuoteOrderV2`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#mutation-placeNegotiableQuoteOrderV2) reference provides detailed information about the types and fields defined in this mutation. - ## Example usage **Request:** diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md index 3b7d84274..7639ac764 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md @@ -22,10 +22,6 @@ The `setQuoteTemplateExpirationDate` mutation can be used to set an expiration d } ``` -## Reference - -The [`setQuoteTemplateExpirationDate`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#mutation-setQuoteTemplateExpirationDate) reference provides detailed information about the types and fields defined in this mutation. - ## Example usage The following example sets the expiration date for a negotiable quote. diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md index a443f9c86..c3069045a 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md @@ -27,10 +27,6 @@ This query requires a valid [customer authentication token](../../../customer/mu } ``` -## Reference - -The [`negotiableQuoteTemplates`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#query-negotiableQuoteTemplates) reference provides detailed information about the types and fields defined in this query. - ## Example usage ### Find quote templates that contain a specific string From 10399a446d3ea7bcc53e1830d27faf2702cba98e Mon Sep 17 00:00:00 2001 From: Shantanu Dasgupta Date: Mon, 19 Jan 2026 17:50:29 +0530 Subject: [PATCH 3/8] Code updated --- .../mutations/place-negotiable-quote-order-v2.md | 5 ++++- .../mutations/set-quote-template-expiration-date.md | 5 ++++- .../negotiable-quote/queries/negotiable-quote-templates.md | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md index 92b69b978..813cc3c44 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md @@ -1,5 +1,6 @@ --- -title: placeNegotiableQuoteOrder mutation +title: placeNegotiableQuoteOrderV2 mutation +edition: saas keywords: - B2B --- @@ -10,6 +11,8 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # placeNegotiableQuoteOrderV2 mutation +This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + The `placeNegotiableQuoteOrderV2` mutation converts a negotiable quote into an order and returns the full order object. The negotiable quote must have one of the following statuses: diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md index 7639ac764..14e1b333d 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md @@ -1,5 +1,6 @@ --- -title: setNegotiableQuotePaymentMethod mutation +title: setQuoteTemplateExpirationDate mutation +edition: saas keywords: - B2B --- @@ -10,6 +11,8 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # setQuoteTemplateExpirationDate mutation +This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + The `setQuoteTemplateExpirationDate` mutation can be used to set an expiration date for a negotiable quote, as it is not set by default. The mutation requires `template_id` and `expiration_date` as input parameters. ## Syntax diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md index c3069045a..9866c0718 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md @@ -1,5 +1,6 @@ --- -title: negotiableQuotes query +title: negotiableQuoteTemplates query +edition: saas keywords: - B2B --- @@ -10,6 +11,8 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # negotiableQuoteTemplates query +This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + The `negotiableQuoteTemplates` query returns a list of negotiable quote templates that can be viewed by the logged-in customer, including quote templates created by the customer or by subordinates in the company hierarchy. This query requires a valid [customer authentication token](../../../customer/mutations/generate-token.md). From 74a3e343ed1337d74c038e9c96567c590ca5d96a Mon Sep 17 00:00:00 2001 From: Shantanu Dasgupta Date: Mon, 19 Jan 2026 18:00:07 +0530 Subject: [PATCH 4/8] Code updated --- .../graphql/schema/b2b/negotiable-quote/mutations/index.md | 3 +++ .../graphql/schema/b2b/negotiable-quote/queries/index.md | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md index b64c01942..5b66dfa44 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md @@ -28,3 +28,6 @@ The B2B negotiable quote mutations allow you to perform the following operations - [Set the shipping method](set-shipping-methods.md) - [Set the payment method](set-payment-method.md) - [Place the order](place-order.md) + - [Place the order V2](place-negotiable-quote-order-v2.md) +- Manage Quote Templates + - [Set Negotiable Quote Template Expiration Date](set-quote-template-expiration-date.md) \ No newline at end of file diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md index 02c9cefd1..0bc73c7db 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md @@ -10,4 +10,7 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # Negotiable quote (B2B) queries -B2B for Adobe Commerce provides two negotiable quote queries. [`negotiableQuote`](./quote.md) returns details about a single quote. [`negotiableQuotes`](./quotes.md) returns multiple quotes, filtered by name or ID. +B2B for Adobe Commerce provides two negotiable quote queries. +- [`negotiableQuote`](./quote.md) returns details about a single quote. +- [`negotiableQuotes`](./quotes.md) returns multiple quotes, filtered by name or ID. +- [`negotiableQuoteTemplates`](./negotiable-quote-templates.md) returns multiple quote templates, filtered by name or ID. From 963dd043934badfc6f228e30ef6072f7bac47a9d Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Mon, 19 Jan 2026 16:39:23 -0600 Subject: [PATCH 5/8] Add notes and deprecation notices --- src/data/navigation/sections/graphql.js | 4 ++-- .../graphql/schema/b2b/negotiable-quote/mutations/index.md | 2 +- ...lace-negotiable-quote-order-v2.md => place-order-v2.md} | 7 +++++-- .../schema/b2b/negotiable-quote/mutations/place-order.md | 6 +++++- .../mutations/set-quote-template-expiration-date.md | 4 +++- .../graphql/schema/b2b/negotiable-quote/queries/index.md | 7 ++++--- .../{negotiable-quote-templates.md => templates.md} | 4 +++- 7 files changed, 23 insertions(+), 11 deletions(-) rename src/pages/graphql/schema/b2b/negotiable-quote/mutations/{place-negotiable-quote-order-v2.md => place-order-v2.md} (91%) rename src/pages/graphql/schema/b2b/negotiable-quote/queries/{negotiable-quote-templates.md => templates.md} (91%) diff --git a/src/data/navigation/sections/graphql.js b/src/data/navigation/sections/graphql.js index 1525fced5..ec73c108c 100644 --- a/src/data/navigation/sections/graphql.js +++ b/src/data/navigation/sections/graphql.js @@ -759,7 +759,7 @@ module.exports = [ }, { title: "negotiableQuoteTemplates", - path: "/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates/", + path: "/graphql/schema/b2b/negotiable-quote/queries/templates/", }, ], }, @@ -781,7 +781,7 @@ module.exports = [ }, { title: "placeNegotiableQuoteOrderV2", - path: "/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2/", + path: "/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2/", }, { title: "removeNegotiableQuoteItems", diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md index 5b66dfa44..4c06198db 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md @@ -28,6 +28,6 @@ The B2B negotiable quote mutations allow you to perform the following operations - [Set the shipping method](set-shipping-methods.md) - [Set the payment method](set-payment-method.md) - [Place the order](place-order.md) - - [Place the order V2](place-negotiable-quote-order-v2.md) + - [Place the order V2](place-order-v2.md) - Manage Quote Templates - [Set Negotiable Quote Template Expiration Date](set-quote-template-expiration-date.md) \ No newline at end of file diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md similarity index 91% rename from src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md rename to src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md index 813cc3c44..6dc0e915b 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-negotiable-quote-order-v2.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md @@ -11,7 +11,9 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # placeNegotiableQuoteOrderV2 mutation -This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + + +This mutation is part of the B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview). The `placeNegotiableQuoteOrderV2` mutation converts a negotiable quote into an order and returns the full order object. @@ -33,7 +35,7 @@ Perform the following actions before using the `placeNegotiableQuoteOrderV2` mut - [Set the shipping method](set-shipping-methods.md) - [Set the payment method](set-payment-method.md) -You cannot manage orders with GraphQL, because orders are part of the backend. You can use REST or SOAP calls to manage orders to their completion. +You cannot manage orders with GraphQL, because orders are part of the backend. You can use REST calls to manage orders to their completion. ## Syntax @@ -86,6 +88,7 @@ mutation { } } ``` + ## Errors Code | Error | Description diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order.md index be70c1708..2dfa6fd9a 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order.md @@ -10,6 +10,10 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # placeNegotiableQuoteOrder mutation + + +This mutation has been deprecated in Adobe Commerce as a Cloud Service. Use the [placeNegotiableQuoteOrderV2 mutation](./place-order-v2.md) instead. + The `placeNegotiableQuoteOrder` mutation converts a negotiable quote into an order and returns an order ID. The negotiable quote must have one of the following statuses: @@ -30,7 +34,7 @@ Perform the following actions before using the `placeNegotiableQuoteOrder` mutat - [Set the shipping method](set-shipping-methods.md) - [Set the payment method](set-payment-method.md) -You cannot manage orders with GraphQL, because orders are part of the backend. You can use REST or SOAP calls to manage orders to their completion. +You cannot manage orders with GraphQL, because orders are part of the backend. You can use REST calls to manage orders to their completion. ## Syntax diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md index 14e1b333d..69a590816 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md @@ -11,7 +11,9 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # setQuoteTemplateExpirationDate mutation -This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + + +This mutation is part of the B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview). The `setQuoteTemplateExpirationDate` mutation can be used to set an expiration date for a negotiable quote, as it is not set by default. The mutation requires `template_id` and `expiration_date` as input parameters. diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md index 0bc73c7db..303cb859b 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/index.md @@ -10,7 +10,8 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # Negotiable quote (B2B) queries -B2B for Adobe Commerce provides two negotiable quote queries. -- [`negotiableQuote`](./quote.md) returns details about a single quote. +B2B for Adobe Commerce provides two negotiable quote queries. + +- [`negotiableQuote`](./quote.md) returns details about a single quote. - [`negotiableQuotes`](./quotes.md) returns multiple quotes, filtered by name or ID. -- [`negotiableQuoteTemplates`](./negotiable-quote-templates.md) returns multiple quote templates, filtered by name or ID. +- [`negotiableQuoteTemplates`](./templates.md) returns multiple quote templates, filtered by name or ID. diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md similarity index 91% rename from src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md rename to src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md index 9866c0718..2c4cc2d35 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/negotiable-quote-templates.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md @@ -11,7 +11,9 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # negotiableQuoteTemplates query -This mutation is part of the Storefront Compatibility Package / B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview) + + +This query is part of the B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview). The `negotiableQuoteTemplates` query returns a list of negotiable quote templates that can be viewed by the logged-in customer, including quote templates created by the customer or by subordinates in the company hierarchy. From c4df59e00b7ad272747a549debe71f5395dfc870 Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Mon, 19 Jan 2026 16:49:22 -0600 Subject: [PATCH 6/8] linting error --- .../graphql/schema/b2b/negotiable-quote/mutations/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md index 4c06198db..f0e661284 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/index.md @@ -30,4 +30,5 @@ The B2B negotiable quote mutations allow you to perform the following operations - [Place the order](place-order.md) - [Place the order V2](place-order-v2.md) - Manage Quote Templates - - [Set Negotiable Quote Template Expiration Date](set-quote-template-expiration-date.md) \ No newline at end of file + - [Set Negotiable Quote Template Expiration Date](set-quote-template-expiration-date.md) + \ No newline at end of file From ac11e2c8f7faec59f65eb0ce8c2ebb342977dcba Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Mon, 19 Jan 2026 17:07:38 -0600 Subject: [PATCH 7/8] fix bad links --- .../b2b/negotiable-quote/mutations/place-order-v2.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md index 6dc0e915b..a09a0dc2b 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md @@ -95,11 +95,11 @@ Code | Error | Description --- | --- | --- `CART_NOT_FOUND` | `Could not find a cart with ID` | The specified cart ID is invalid. `CART_NOT_ACTIVE` | `The cart isn't active.` | The specified cart ID is not active. -`GUEST_EMAIL_MISSING` | `Guest email for cart is missing.` | The guest attempted to place an order but did not provide an email address. See [setGuestEmailOnCart](../../cart/mutations/set-guest-email.md) mutation. +`GUEST_EMAIL_MISSING` | `Guest email for cart is missing.` | The guest attempted to place an order but did not provide an email address. See [setGuestEmailOnCart](../../../cart/mutations/set-guest-email.md) mutation. `UNABLE_TO_PLACE_ORDER` | `A server error stopped your order from being placed. Please try to place your order again` | The shopper tried to place an order when no products are in the shopping cart. -`UNABLE_TO_PLACE_ORDER` | `Some addresses can't be used due to the configurations for specific countries` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-method.md) mutation. -`UNABLE_TO_PLACE_ORDER` | `The shipping method is missing. Select the shipping method and try again` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-method.md) mutation. -`UNABLE_TO_PLACE_ORDER` | `Please check the billing address information` | The billing address was not set. See [setBillingAddressOnCart](../../cart/mutations/set-billing-address.md) mutation. -`UNABLE_TO_PLACE_ORDER` | `Enter a valid payment method and try again` | The payment method was not set. See [setPaymentMethodOnCart](../../cart/mutations/set-payment-method.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Some addresses can't be used due to the configurations for specific countries` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-methods.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `The shipping method is missing. Select the shipping method and try again` | The shipping method was not set. See [setShippingMethodsOnCart](set-shipping-methods.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Please check the billing address information` | The billing address was not set. See [setBillingAddressOnCart](../../../cart/mutations/set-billing-address.md) mutation. +`UNABLE_TO_PLACE_ORDER` | `Enter a valid payment method and try again` | The payment method was not set. See [setPaymentMethodOnCart](../../../cart/mutations/set-payment-method.md) mutation. `UNABLE_TO_PLACE_ORDER` | `Some of the products are out of stock` | One of the products in the shopping cart are currently out of stock. `UNDEFINED` | `UNDEFINED` | The error message does not match any error code From 6c8e8eb6c90ca601f0f398fb22df1b5bac58eeca Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Mon, 19 Jan 2026 19:21:34 -0600 Subject: [PATCH 8/8] Add reference blocks --- .../b2b/negotiable-quote/mutations/place-order-v2.md | 6 ++++++ .../mutations/set-quote-template-expiration-date.md | 6 ++++++ .../schema/b2b/negotiable-quote/queries/templates.md | 8 ++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md index a09a0dc2b..e3a8e4000 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/place-order-v2.md @@ -49,6 +49,12 @@ mutation { } ``` + + ## Example usage **Request:** diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md index 69a590816..7c141b890 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/mutations/set-quote-template-expiration-date.md @@ -27,6 +27,12 @@ The `setQuoteTemplateExpirationDate` mutation can be used to set an expiration d } ``` + + ## Example usage The following example sets the expiration date for a negotiable quote. diff --git a/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md b/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md index 2c4cc2d35..179e0dead 100644 --- a/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md +++ b/src/pages/graphql/schema/b2b/negotiable-quote/queries/templates.md @@ -11,10 +11,6 @@ import CommerceOnly from '/src/_includes/commerce-only.md' # negotiableQuoteTemplates query - - -This query is part of the B2B Storefront Compatibility Package and is only available on [Adobe Commerce as a Cloud Service](https://experienceleague.adobe.com/en/docs/commerce/cloud-service/overview). - The `negotiableQuoteTemplates` query returns a list of negotiable quote templates that can be viewed by the logged-in customer, including quote templates created by the customer or by subordinates in the company hierarchy. This query requires a valid [customer authentication token](../../../customer/mutations/generate-token.md). @@ -32,6 +28,10 @@ This query requires a valid [customer authentication token](../../../customer/mu } ``` +## Reference + +The [`negotiableQuoteTemplates`](https://developer.adobe.com/commerce/webapi/graphql-api/index.html#query-negotiableQuoteTemplates) reference provides detailed information about the types and fields defined in this query. + ## Example usage ### Find quote templates that contain a specific string