diff --git a/src/data/navigation/sections/graphql.js b/src/data/navigation/sections/graphql.js index 433dbd4f2..9bf92ca39 100644 --- a/src/data/navigation/sections/graphql.js +++ b/src/data/navigation/sections/graphql.js @@ -415,6 +415,10 @@ module.exports = [ title: "Mutations", path: "/graphql/schema/b2b/company/mutations/", pages: [ + { + title: "assignChildCompany", + path: "/graphql/schema/b2b/company/mutations/assign-child-company/", + }, { title: "createCompany", path: "/graphql/schema/b2b/company/mutations/create/", @@ -447,6 +451,10 @@ module.exports = [ title: "updateCompany", path: "/graphql/schema/b2b/company/mutations/update/", }, + { + title: "unassignChildCompany", + path: "/graphql/schema/b2b/company/mutations/unassign-child-company/", + }, { title: "updateCompanyRole", path: "/graphql/schema/b2b/company/mutations/update-role/", @@ -1149,10 +1157,22 @@ module.exports = [ title: "deleteRequisitionListItems", path: "/graphql/schema/b2b/requisition-list/mutations/delete-items/", }, + { + title: "importSharedRequisitionList", + path: "/graphql/schema/b2b/requisition-list/mutations/import-shared-requisition-list/", + }, { title: "moveItemsBetweenRequisitionLists", path: "/graphql/schema/b2b/requisition-list/mutations/move-items/", }, + { + title: "shareRequisitionListByEmail", + path: "/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-email/", + }, + { + title: "shareRequisitionListByToken", + path: "/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-token/", + }, { title: "updateRequisitionList", path: "/graphql/schema/b2b/requisition-list/mutations/update/", @@ -1163,6 +1183,16 @@ module.exports = [ }, ], }, + { + title: "Queries", + path: "/graphql/schema/b2b/requisition-list/queries", + pages: [ + { + title: "sharedRequisitionList", + path: "/graphql/schema/b2b/requisition-list/queries/shared-requisition-list/", + }, + ] + }, { title: "Interfaces", path: "/graphql/schema/b2b/requisition-list/interfaces/" diff --git a/src/pages/graphql/schema/b2b/company/mutations/assign-child-company.md b/src/pages/graphql/schema/b2b/company/mutations/assign-child-company.md new file mode 100644 index 000000000..c9e6e1836 --- /dev/null +++ b/src/pages/graphql/schema/b2b/company/mutations/assign-child-company.md @@ -0,0 +1,76 @@ +--- +title: assignChildCompany mutation +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# assignChildCompany mutation + + + +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 `assignChildCompany` mutation allows company administrators to assign a child company to a parent company within the company hierarchy. This mutation requires `parentId` and `childId` as unique IDs of the companies as parameters. This mutation returns a `company_hierarchy` object if successful. + +## Syntax + +```graphql +{ + assignChildCompany( + input: AssignChildCompanyInput! + ): AssignChildCompanyOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`assignChildCompany`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#mutation-assignChildCompany) reference provides detailed information about the types and fields defined in this mutation.) + +## Example usage + +The following example assigns a child company to a parent company by the company admin. + +**Request:** + +```graphql +mutation assignChildCompany($parentId: ID!, $childId: ID!) { + assignChildCompany( + input: {parent_company_id: "ODM5", child_company_id: "ABCD=="} + ) { + company_hierarchy { + parent { + name + } + children { + name + } + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "assignChildCompany": { + "company_hierarchy": { + "parent": { + "name": "ParentCompanyName" + }, + "children": [ + { + "name": "ChildCompanyName" + } + ] + } + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/company/mutations/index.md b/src/pages/graphql/schema/b2b/company/mutations/index.md index 24917f899..38f23543c 100644 --- a/src/pages/graphql/schema/b2b/company/mutations/index.md +++ b/src/pages/graphql/schema/b2b/company/mutations/index.md @@ -17,3 +17,4 @@ The B2B company mutations allow you to perform the management operations: * Create, update, and delete company teams. * Move the position of a company team in the company hierarchy. * Create, update, and delete company roles. +* Assign and unassign a company to a company hierarchy. diff --git a/src/pages/graphql/schema/b2b/company/mutations/unassign-child-company.md b/src/pages/graphql/schema/b2b/company/mutations/unassign-child-company.md new file mode 100644 index 000000000..86865f268 --- /dev/null +++ b/src/pages/graphql/schema/b2b/company/mutations/unassign-child-company.md @@ -0,0 +1,72 @@ +--- +title: unassignChildCompany mutation +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# unassignChildCompany mutation + + + +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 `unassignChildCompany` mutation allows company administrators to unassign a child company from a parent company within the company hierarchy. This mutation requires `child_company_id` as unique IDs of the child company as parameters. This mutation returns a `company_hierarchy` object if successful. + +## Syntax + +```graphql +{ + unassignChildCompany( + input: UnassignChildCompanyInput! + ): UnassignChildCompanyOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`unassignChildCompany`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#mutation-unassignChildCompany) reference provides detailed information about the types and fields defined in this mutation.) + +## Example usage + +The following example unassigns a child company from a parent company by the company admin. + +**Request:** + +```graphql +mutation { + unassignChildCompany( + input: { + child_company_id: "ABCD==" + } + ) { + company_hierarchy { + parent { + name + } + children { + name + } + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "unassignChildCompany": { + "company_hierarchy": { + "parent": null, + "children": [] + } + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/requisition-list/mutations/import-shared-requisition-list.md b/src/pages/graphql/schema/b2b/requisition-list/mutations/import-shared-requisition-list.md new file mode 100644 index 000000000..9db73a411 --- /dev/null +++ b/src/pages/graphql/schema/b2b/requisition-list/mutations/import-shared-requisition-list.md @@ -0,0 +1,109 @@ +--- +title: importSharedRequisitionList mutation +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# importSharedRequisitionList mutation + + + +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 `importSharedRequisitionList` mutation allows recipients within the same company to import or clone a shared requisition list. You must specify a valid token, generated by the [shareRequisitionListByToken](share-requisition-list-by-token.md) mutation, as an input parameter. This mutation returns a `requisition_list` object and `user_errors`, if any. + +## Syntax + +```graphql +{ + importSharedRequisitionList( + token: String! + ): ImportSharedRequisitionListOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`importSharedRequisitionList`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#mutation-importSharedRequisitionList) reference provides detailed information about the types and fields defined in this mutation.) + +## Example usage + +The following example demonstrates how to import a shared requisition list using the specified token as its identifier. + +**Request:** + +```graphql +mutation ImportSharedRequisitionList { + importSharedRequisitionList( + token: "Ra4yCcOAesVKIHNKuqUy6G3PMbcWt6HMohgcwDMXmnwrbB2SCeMMDPGlmDukDXGc" + ) { + requisition_list { + description + name + uid + items(currentPage: 1, pageSize: 20) { + items { + quantity + sku + uid + product { + attribute_set_id + uid + name + } + } + page_info { + current_page + page_size + total_pages + } + } + } + user_errors { + code + message + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "importSharedRequisitionList": { + "requisition_list": { + "description": null, + "name": "John's Favorites", + "uid": "MTA5Nw==", + "items": { + "items": [ + { + "quantity": 2, + "sku": "Augusta", + "uid": "NDgx", + "product": { + "attribute_set_id": 4, + "uid": "MzQ3", + "name": "Augusta" + } + } + ], + "page_info": { + "current_page": 1, + "page_size": 20, + "total_pages": 1 + } + } + }, + "user_errors": [] + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/requisition-list/mutations/index.md b/src/pages/graphql/schema/b2b/requisition-list/mutations/index.md index 84872e023..08ac42f61 100644 --- a/src/pages/graphql/schema/b2b/requisition-list/mutations/index.md +++ b/src/pages/graphql/schema/b2b/requisition-list/mutations/index.md @@ -24,7 +24,11 @@ The B2B requisition list mutations allow you to perform the following operations - [Update items in a requisition list](update-items.md) - [Delete items from a requistion list](delete-items.md) +- Share requisition lists + - [Share requisition list with a token](share-requisition-list-by-token.md) + - [Share requisition list by email](share-requisition-list-by-email.md) + - [Import shared requisition list](import-shared-requisition-list.md) + - Manage the cart - [Add requisition list items to the cart](add-items-to-cart.md) - [Clear the cart](clear-customer-cart.md) - \ No newline at end of file diff --git a/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-email.md b/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-email.md new file mode 100644 index 000000000..b4750131f --- /dev/null +++ b/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-email.md @@ -0,0 +1,65 @@ +--- +title: shareRequisitionListByEmail mutation +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# shareRequisitionListByEmail mutation + + + +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 `shareRequisitionListByEmail` mutation enables B2B customers to share a requisition list with colleagues within the same company in an email. The mutation requires `requisitionListUid` and an array of `customerUids` as input parameters. This mutation returns a `sent_count` which shows the count of emails the list has been shared to, and `user_errors`, if any. + +## Syntax + +```graphql +{ + shareRequisitionListByEmail( + input: ShareRequisitionListByEmailInput! + ): ShareRequisitionListByEmailOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`shareRequisitionListByEmail`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#mutation-shareRequisitionListByEmail) reference provides detailed information about the types and fields defined in this mutation.) + +## Example usage + +The following example shares a requisition list to the specified customer UIDs. + +**Request:** + +```graphql +mutation ShareRequisitionListByEmail { + shareRequisitionListByEmail( + input: { customerUids: ["MQ==", "Mg=="], requisitionListUid: "OTc5" } + ) { + sent_count + user_errors { + code + message + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "shareRequisitionListByEmail": { + "sent_count": 2, + "user_errors": [] + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-token.md b/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-token.md new file mode 100644 index 000000000..dc082e962 --- /dev/null +++ b/src/pages/graphql/schema/b2b/requisition-list/mutations/share-requisition-list-by-token.md @@ -0,0 +1,58 @@ +--- +title: shareRequisitionListByToken mutation +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# shareRequisitionListByToken mutation + + + +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 `shareRequisitionListByToken` mutation enables B2B customers to share a requisition list with colleagues within the same company using a shareable link generated on the storefront. The mutation requires `requisitionListUid` as an input parameter. This mutation returns the token assigned to the shared requisition list. + +## Syntax + +```graphql +{ + shareRequisitionListByToken( + requisitionListUid: ID! + ): ShareRequisitionListByTokenOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`shareRequisitionListByToken`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#mutation-shareRequisitionListByToken) reference provides detailed information about the types and fields defined in this mutation.) + +## Example usage + +The following example provides a token for a shareable requisition list. + +**Request:** + +```graphql +mutation ShareRequisitionListByToken { + shareRequisitionListByToken(requisitionListUid: "OTc5") { + token + } +} +``` + +**Response:** + +```json +{ + "data": { + "shareRequisitionListByToken": { + "token": "qEJD2aUhmYnf1jNoaOtlo7XwBP8BRof5GhF0L5kbdJxYMZ13OlFvy2VFy33NnUCp" + } + } +} +``` diff --git a/src/pages/graphql/schema/b2b/requisition-list/queries/index.md b/src/pages/graphql/schema/b2b/requisition-list/queries/index.md new file mode 100644 index 000000000..0f0a5c8da --- /dev/null +++ b/src/pages/graphql/schema/b2b/requisition-list/queries/index.md @@ -0,0 +1,16 @@ +--- +title: Requisition list (B2B) queries +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# Requisition list (B2B) queries + +The following query retrieves a shared requisition list + +- [View Shared Requisition List](shared-requisition-list.md) + \ No newline at end of file diff --git a/src/pages/graphql/schema/b2b/requisition-list/queries/shared-requisition-list.md b/src/pages/graphql/schema/b2b/requisition-list/queries/shared-requisition-list.md new file mode 100644 index 000000000..3a542ee2e --- /dev/null +++ b/src/pages/graphql/schema/b2b/requisition-list/queries/shared-requisition-list.md @@ -0,0 +1,106 @@ +--- +title: sharedRequisitionList query +edition: saas +keywords: + - B2B +--- + +import CommerceOnly from '/src/_includes/commerce-only.md' + + + +# sharedRequisitionList 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 `sharedRequisitionList` query uses a token to retrieve a shared requisition list. The response can contain the `sender_name` and `requisition_list` object. + +## Syntax + +```graphql +{ + sharedRequisitionList( + token: String! + ): SharedRequisitionListOutput +} +``` + +[//]: # (## Reference) +[//]: # () +[//]: # (The [`sharedRequisitionList`](https://developer.adobe.com/commerce/webapi/graphql-api/saas/index.html#query-sharedRequisitionList) reference provides detailed information about the types and fields defined in this query.) + +## Example usage + +The following example opens a shared requisition list by specifying the shared token. + +**Request:** + +```graphql +query SharedRequisitionList { + sharedRequisitionList( + token: "qEJD2aUhmYnf1jNoaOtlo7XwBP8BRof5GhF0L5kbdJxYMZ13OlFvy2VFy33NnUCp" + ) { + sender_name + requisition_list { + description + name + uid + items(currentPage: 1, pageSize: 20) { + total_pages + items { + quantity + sku + uid + product { + attribute_set_id + name + } + } + page_info { + current_page + page_size + total_pages + } + } + } + } +} +``` + +**Response:** + +```json +{ + "data": { + "sharedRequisitionList": { + "sender_name": "Jane", + "requisition_list": { + "description": "Test RL sharing", + "name": "Shared RL", + "uid": "OTc5", + "items": { + "total_pages": 1, + "items": [ + { + "quantity": 2, + "sku": "Augusta", + "uid": "NDEw", + "product": { + "attribute_set_id": 4, + "name": "Augusta" + } + } + ], + "page_info": { + "current_page": 1, + "page_size": 20, + "total_pages": 1 + } + } + } + } + } +} +```